Explainer
Fair odds explained: taking the margin out of a price
Every bookmaker price has the bookmaker's cut baked in. Strip it out and what is left is the market's estimate of the real chance, usually called the fair price or no-vig price. Here is the arithmetic, four common ways to do it, a calculator, and how to run it on the sharp prices the API returns.
Step one
Find the margin
Turn each decimal price into the probability it implies by dividing one by it. Take an AFL head to head priced at 1.55 for the home side and 2.50 for the away side:
1 / 1.55 = 64.52% 1 / 2.50 = 40.00%
Those two chances add up to 104.52%. A fair book would add up to exactly 100%, so the extra 4.52% is the overround: the bookmaker's margin, also called the vig or the juice. The lower it is, the closer the prices are to fair.
overround = (1/odds₁ + 1/odds₂ + …) − 1
Step two
Share it back out
Removing the margin means shrinking the implied chances until they add to 100%. The question is how to share the cut between the outcomes, and that is where the methods differ. Bookmakers tend to load more margin onto outsiders than favourites, a habit known as the favourite-longshot bias, and some methods try to account for it.
| Method | Home (1.55) | Away (2.50) |
|---|---|---|
| Multiplicative | 61.73% → 1.620 | 38.27% → 2.613 |
| Additive | 62.26% → 1.606 | 37.74% → 2.650 |
| Power | 62.53% → 1.599 | 37.47% → 2.669 |
| Shin | 62.26% → 1.606 | 37.74% → 2.650 |
The four methods
What each one assumes
Divide by the total
Each implied chance is divided by the book's total (here 1.0452). The margin is assumed to sit evenly in proportion to each chance. It is the simplest method and the usual default.
Take an equal slice off each
The same number of percentage points comes off every outcome: 2.26 points each here. That removes proportionally more from the outsider, which suits the favourite-longshot bias, but on very long prices it can push a chance below zero.
Raise to a power
Each implied chance is raised to the same power k, chosen so the results sum to one (k = 1.0713 here). Long prices shrink more than short ones, and nothing can go negative.
Allow for informed money
Shin's model assumes a share of bets come from people who know more than the bookmaker, and that the bookmaker widens the margin on outsiders to protect itself. A curiosity worth knowing: in a two-way market Shin gives exactly the same answer as additive. With three or more outcomes they part ways.
Which one is right? None is right everywhere. Multiplicative is a fair starting point; power and Shin usually sit better on lopsided markets with a long-priced outsider. The bigger choice is the input. A fair price taken from a sharp, low-margin market is a far better yardstick than the same arithmetic run on a soft retail book with a fat margin.
Try it
De-vig calculator
Enter the decimal prices for every outcome in one market, from the same bookmaker. Add a third price for a three-way market such as soccer's home, draw, away.
If the prices add up to under 100%, there is no margin to remove. That only happens when you mix the best prices from different books, and it means the combination may be an arbitrage.
Fair decimal price in bold, fair chance beside it.
In the API
Pinnacle and the Betfair Exchange, in the same response
The API does not hand you a ready-made fair price; it hands you the inputs. Pinnacle and the Betfair Exchange come back beside the Australian books, every outcome with its decimal_odds and implied_probability, so any method on this page is a few lines of code on data you already have.
- Pick the source,
pinnacleorbetfair_exchange, and run the method across all of its outcomes in one market. - Measure the other books on the same outcome IDs. An outcome has the same ID at every bookmaker, and a line or total at a different number is a different market, so you always compare like with like.
Choosing the method and the source yourself is the point: you know which you trust, and you can see exactly what went into the number. The Betfair Exchange comes with Rookie and Pinnacle with Pro.
def fair_chances(event: dict, market_key: str, sides: int = 2, source: str = "pinnacle") -> dict:
"""The source book's chance for each outcome of one market, margin removed (multiplicative)."""
for book in event["bookmakers"]:
if book["key"] != source:
continue
for market in book["markets"]:
outcomes = market["outcomes"]
if market["key"] == market_key and market["period"] == "full" and len(outcomes) == sides:
total = sum(o["implied_probability"] for o in outcomes)
return {o["id"]: o["implied_probability"] / total for o in outcomes}
return {}
def edges(event: dict, market_key: str) -> list:
"""Each book's price against fair, as a share of stake: above 0 means above fair."""
fair = fair_chances(event, market_key)
return [
(book["key"], o["name"], o["decimal_odds"], round(fair[o["id"]] * o["decimal_odds"] - 1, 3))
for book in event["bookmakers"]
for market in book["markets"]
for o in market["outcomes"]
if o["id"] in fair and o.get("available")
]
# ("sportsbet", "Carlton", 1.72, 0.031) -> 3.1% above fair
What is the vig?
The vig, short for vigorish and also called juice or margin, is the bookmaker's built-in edge. It is why a market's implied chances add up to more than 100%. On a two-way market with both sides at 1.90, the book adds up to about 105.3%.
Are overround and margin the same thing?
People use them loosely for the same thing. Strictly, the overround is how far the implied chances add up past 100% (4.52% in the example above), while some people quote margin as the share of money the book expects to keep, which is slightly smaller (about 4.3% here).
Why does my fair price differ from another site's?
Two reasons: the method, which can move a long price by a few cents, and the source. A fair price taken from Pinnacle or the Betfair Exchange will differ from one taken from a single retail book, and it is usually the better guide.
Can I work out fair odds on the free plan?
Yes, from the books it includes: Sportsbet, TAB and Ladbrokes are enough to run every method on this page while you build, margin and all. For a sharper input, the Betfair Exchange comes with Rookie and Pinnacle with Pro.
Start now
Your first Australian price is one request away.
Free key, no card, AFL and NRL included. Keys are issued on sockodds.com.