Markets coveredMatch OddsCorrect ScoreOver / UnderFirst HalfSecond Half
Statometrics
Model Library · Probability and odds

Market efficiency

How well betting prices already reflect all available information, and why beating a liquid exchange market is so hard.

Intermediatepre-matchin-playtradingevaluation

In one sentence

A market is efficient when its prices already reflect all the information available, so no one can predictably profit after costs from that information.

How it works

Every price on Betfair is set by people putting money down. If a price were clearly wrong, sharp traders would bet it until it was right. In a liquid market like a Premier League match odds market, that happens fast, and the price ends up a very good estimate of the true chance.

Efficiency comes in degrees. Weak efficiency means past prices do not predict future results. Semi-strong means public news is already priced in. Strong means even private information is priced in, which no betting market fully meets.

Most betting edges come from where markets are less efficient: smaller leagues, early prices and known biases. The more money and attention a market gets, the harder it is to beat.

The maths

There is no single formula for efficiency. The usual test is calibration: across many bets, do outcomes happen as often as prices said?

z=W−∑iqi∑iqi(1−qi)z = \frac{W - \sum_{i} q_i}{\sqrt{\sum_{i} q_i (1 - q_i)}}
  • W: the number of winners in your sample.
  • q i: the fair implied probability of bet i.
  • The sum adds up across all bets in the sample.
  • z: how many standard deviations the actual winners are from what prices implied.

In plain English: if the market is efficient, the number of winners should be close to the sum of the implied probabilities, and z should usually sit between about −2 and +2.

Worked betting example

Football, Over/Under goals. You find 1,000 Betfair Over 2.5 goals selections, each with a fair implied chance of 42.5% (odds of 2.353).

  1. Expected winners: 1,000 × 0.425 = 425.
  2. Actual winners: 441.
  3. Standard deviation: √(1,000 × 0.425 × 0.575) = 15.63.
  4. z = (441 − 425) ÷ 15.63 = 1.02.
  5. Two-sided p-value ≈ 0.31.

Backing all 1,000 at 2.353 with £1 stakes gives an ROI of 0.441 × 2.353 − 1 = +3.8% before commission, or 0.441 × (1 + 1.353 × 0.98) − 1 = +2.6% after 2% commission. That looks attractive, but a z of 1.02 is well within what luck produces.

There is no real evidence the market was wrong.

How many bets would you need to detect a real 2% edge at these odds, with the usual 5% one-sided significance and 80% power? About 21,000. That is the scale of evidence an efficient market demands.

Where it's good

  • Setting realistic expectations about edges in major markets.
  • Choosing where to compete: smaller, slower or more biased markets.
  • Using closing prices as a benchmark, since they are the most efficient point.
  • Building a model: start from market prices and look for small, specific corrections.
  • Knowing when to be suspicious of a backtest that beats a liquid market easily.

Limitations and pitfalls

  • Efficiency is not all-or-nothing. A market can be efficient on average and still misprice certain types of selection, like longshots.
  • Liquid markets are not always efficient in-play; prices can lag fast events by seconds.
  • Tests have low power. Failing to find an edge does not prove there is none, only that the sample is too small to show it.
  • Searching many angles in historical data will find some that look profitable by chance.
  • Efficiency moves over time. Edges that worked years ago are often priced in now.
  • Commission means a slightly inefficient market can still be unbeatable in practice.

How to build it

  • pandas and scipy.stats for calibration tables and z-tests; statsmodels for regressing results on implied probabilities.
  • Data: large samples of exchange prices at a fixed time before kick-off, with results.
  • Practical tip: always compare your model against the market, not against nothing. If your model cannot beat closing prices on log loss, it is not adding information.
Learn it step by step
18+ only. Educational content, not financial or betting advice. Past results do not guarantee future returns. If gambling stops being fun, get free, confidential help at BeGambleAware.org.
Members