Skip to content
Log in

How to remove bookmaker margin from odds

A worked proportional de-vig calculation for complete two-way and regulation football 1X2 markets.

Continue with the runnable Python odds tutorial.

Proportional de-vig divides each outcome's implied probability by the total implied probability of the complete market.

Start with a complete market

For regulation football 1X2, take home, draw, and away prices from the same offer and observation. For each decimal price d, compute 1/d. Sum the results to obtain S.

Normalize the probabilities

Divide each reciprocal price by S. The normalized probabilities sum to 1. Invert each normalized probability to obtain margin-removed decimal odds.

At 1.90 on each side of a two-outcome market, S = 1.05263158. Each normalized probability is 0.5. The resulting decimal odds are 2.00. The quoted overround was 5.263 percentage points.

Interpret the result

Proportional normalization assumes margin is distributed in proportion to the raw implied probabilities. It supplies an estimate for analysis. It does not establish true event probabilities or an independent fair reference.

Try the no-vig calculator. Review odds formats and settlement checks. Developers can inspect fair-value eligibility and API odds schemas.

Build with the documented contract

Explore the API reference and register interest in the private developer beta.

Read the docsBeta updates