Replicate a cross-bookmaker discrepancy study
Rebuild a consensus-versus-outlier betting rule in the style of Kaunitz, Zhong & Kreiner (preprint), then add quote timestamps, stake caps, account restrictions, fill rates and costs to see how a nominal edge erodes.
Learning objectives
- Define a consensus probability from several bookmakers and a numerical outlier threshold.
- Show that the nominal EV of an outlier equals its percentage distance above the fair consensus price.
- Compute executed expected value under slippage, partial fills and costs.
- State the replication status of the study accurately: preprint, code released, no published replication found.
The study in one paragraph
The idea needs no football model at all. Average many bookmakers' prices, treat that consensus as a probability estimate, and bet only when one bookmaker offers a price far enough above it. The appeal is that the market does the forecasting; the researcher only looks for a bookmaker that is out of line.
Defining consensus and an outlier
Every replication must make choices the original description leaves open, and each is a researcher degree of freedom. Write them down before looking at results:
- Consensus statistic: mean or median of the odds, and whether the candidate bookmaker is excluded from its own consensus.
- Margin treatment: de-vig the averaged three-way market (our choice here, proportional) or subtract a fixed margin.
- Threshold θ: how far above the fair consensus price a quote must be before it counts as an outlier.
- Timing: which quote snapshot is used, and how old it may be relative to the decision.
p̂ = devig(ō) bet if o_b × p̂ − 1 ≥ θThe threshold matters more than it looks. In the worked example below, the averaged book carries a 4.86% overround and the fair consensus home price is 2.1795. The cut-off price is 2.2885 at θ = 5%, 2.3430 at 7.5%, 2.3975 at 10% and 2.4520 at 12.5%. A quote of 2.40 qualifies under the first three rules and fails the fourth. When many qualifying bets sit just above the line, small changes in θ change the sample — and trying several values of θ on the same data is a multiple-testing problem.
Notice what the rule assumes: that the consensus is close to the truth. If the outlier bookmaker moved first on genuine news (a late injury, a lineup leak), the consensus is stale and the outlier is the better forecast. A quote timestamp on every price is the only way to tell which is which.
From nominal edge to executed edge
A historical odds file shows prices; it does not show whether you could have taken them. Five frictions decide the executed edge: the quote age (an out-of-line price may be corrected before you can act), slippage (the price you get is worse than the one you saw), stake caps (the book accepts only part of the order), account restrictions (after a run of winning bets, limits shrink towards zero) and costs.
Executed EV per intended stake = fill × (p × o × (1 − s) − 1 − c)| Scenario | Odds obtained | Fill | Cost | EV per intended stake |
|---|---|---|---|---|
| As quoted | 2.400 | 100% | 0% | +10.12% |
| Stale quote, 4% slippage | 2.304 | 100% | 0% | +5.71% |
| …plus stake cap | 2.304 | 50% | 0% | +2.86% |
| …plus 1% costs | 2.304 | 50% | 1% | +2.36% |
| …plus account restriction | 2.304 | 10% | 1% | +0.47% |
| 8% slippage, 50% fill | 2.208 | 50% | 0% | +0.65% |
The edge vanishes entirely at 9.19% slippage (odds 2.18, the fair consensus price). Detection also gets harder: with a per-bet standard deviation of about 1.20 units, confirming a 10.12% edge at two standard errors takes about 537 bets, but the post-slippage 5.71% edge needs about 1,553 — far more bets than a restricted account may ever be allowed.
Replication status and how to read it
A good replication report therefore has two results: the nominal replication (does the published rule reproduce on the released data?) and the executed replication (what survives realistic quote ages, fills and costs?). Report both, and say plainly when the second rounds to zero. The broad survey evidence that wagering prices are, to a first approximation, efficient forecasts Sauer (1998) is the prior a replication has to overcome.
Worked example
Worked example · One outlier, from nominal to executed edge: Ashbridge v Millford
Seven hypothetical bookmakers quote home/draw/away: 2.10/3.40/3.60, 2.05/3.45/3.70, 2.12/3.30/3.55, 2.08/3.40/3.65, 2.06/3.50/3.60, 2.10/3.35/3.70 and 2.04/3.45/3.75. An eighth bookmaker offers 2.40 on Ashbridge. Pre-registered rule: proportional de-vig of the seven-book average, threshold θ = 7.5%.
- Average odds
Mean of the seven quotes for each outcome2.0786 / 3.4071 / 3.6500 - Book sum
1/2.0786 + 1/3.4071 + 1/3.65001.0486 - Consensus fair probabilities
Divide each implied probability by 1.048645.88% / 27.99% / 26.13% (fair home odds 2.1795) - Outlier test
Threshold price 2.1795 × 1.075; compare 2.402.3430 needed; 2.40 qualifies (2.40 × 0.4588 − 1 = +10.12%) - Per-bet risk
sd = √(p(o − 1)² + (1 − p) − EV²) at p = 0.4588, o = 2.401.196 units per unit staked - Slippage 4%
Odds 2.40 × 0.96 = 2.304; 0.4588 × 2.304 − 1+5.71% - Fill 50%, costs 1%
0.5 × (0.0571 − 0.01)+2.36% per intended stake - Account restricted to 10% fill
0.1 × (0.0571 − 0.01)+0.47% per intended stake
A quote 10% above fair consensus looks compelling on paper. After plausible frictions the expected value per intended stake falls to a fraction of a percent, and it relies on the consensus being right in the first place. The replication conclusion is "nominal edge reproduced, executed edge not demonstrated" — a perfectly respectable finding.
Practice · Stress-test the outlier with an uncertainty band
In the Fair odds and EV lab, enter odds 2.40 with estimate 45.88% and a band of 43.88%–47.88% (consensus ± 2 points). Then change the odds to 2.304 (4% slippage) and 2.208 (8% slippage). At which price does the verdict stop being positive across the range?
Lab 1 · Fair odds and expected value
Synthetic · deterministicPositive across your range. Even the low end of your range clears break-even. Under these assumptions the price looks favourable — but the range itself is an assumption, and margins, execution and correlated exposure can still remove the edge.
Show data table
| True probability (%) | Expected ROI |
|---|---|
| 33% | -21% |
| 34% | -18% |
| 35% | -16% |
| 36% | -14% |
| 37% | -11% |
| 38% | -9% |
| 39% | -6% |
| 40% | -4% |
| 41% | -2% |
| 42% | 1% |
| 43% | 3% |
| 44% | 6% |
| 45% | 8% |
| 46% | 10% |
| 47% | 13% |
| 48% | 15% |
| 49% | 18% |
| 50% | 20% |
| 51% | 22% |
| 52% | 25% |
| 53% | 27% |
| 54% | 30% |
| 55% | 32% |
| 56% | 34% |
| 57% | 37% |
| 58% | 39% |
Educational calculator. Uses only the numbers you enter or seeded synthetic data — no live prices, no staking, no real money.
Show what you should find
At 2.40: break-even 41.67%, EV +10.11% at the estimate, +5.31% to +14.91% across the band — positive across the range. At 2.304: break-even 43.40%, EV +5.71%, +1.10% to +10.32% — still positive, but only just at the low end. At 2.208: break-even 45.29%, EV +1.30%, −3.11% to +5.72% — the verdict now depends on the estimate. Moderate slippage alone is enough to turn a clear-looking edge into an uncertain one.
Common mistakes
- ✗ Including the outlier bookmaker in its own consensus.Decide in advance; including it pulls the average towards the outlier (here the home average would rise from 2.0786 to 2.1188) and changes which bets qualify.
- ✗ Assuming every historical quote was available at the recorded time.Require a capture timestamp and a maximum quote age; an out-of-line price may be gone before an order reaches the bookmaker.
- ✗ Quoting the preprint's returns as established fact.Kaunitz, Zhong & Kreiner (2017) is a preprint with a short live trial. Say what it reports, not what it proves, and note that no published replication was found.
- ✗ Treating account restrictions as bad luck rather than data.Restrictions cap the total stake an edge can absorb. Model them as a fill rate that falls with success.
When it fails
Supporting research
- Kaunitz, Zhong & Kreiner (2017): Beating the bookies with their own numbers – and how the online sports betting market is riggedarXiv preprint · Preprint · not peer reviewedThe consensus-versus-outlier rule, the reported historical and live results, the account restrictions, and its preprint/replication status.
- Simon (2024): Inefficient Forecasts at the Sportsbook: An Analysis of Real-Time Betting Line MovementManagement Science · Peer-reviewed empiricalAnother example where profits are hypothetical and ignore limits and latency.
- Sauer (1998): The Economics of Wagering MarketsJournal of Economic Literature · Literature reviewThe prior that wagering prices are, to a first approximation, efficient forecasts.
Check your understanding
Practice only: saved on this device, no XP and no account record.
