In one sentence
Bayesian updating means holding a belief about a probability, then shifting it by a measured amount every time new evidence comes in, rather than throwing out what you knew or over-reacting to a small sample.
How it works
Every bettor already has a starting view before a new season or a new market opens. In Bayesian language that starting view is the prior: your best estimate plus how sure you are of it. When results arrive, you combine prior and data into a posterior, which becomes the prior for the next round.
The key idea is weighting. Think of a tug of war where prior and data each pull with a strength equal to how much information they carry.
This protects you from the two classic errors: ignoring fresh evidence because "it's early days", and treating a hot streak of five games as the new truth. The posterior sits between the two, closer to whichever side has more information behind it.
The maths
The general rule is Bayes' theorem applied repeatedly:
For a yes/no event such as "over 2.5 goals", a Beta prior makes the update a simple count:
- θ: the unknown quantity, here the true over 2.5 rate for a team.
- P(θ): the prior, your belief before the new data.
- P(data given θ): the likelihood, how probable the observed results are for each possible θ.
- a and b: the prior "pseudo-matches", a overs and b unders you treat as already seen.
- k: overs actually observed in the new data.
- n: matches in the new data.
In plain English: add your real results to a set of imaginary results that represent what you already believed, and read off the new rate.
Worked betting example
A newly promoted Championship side is in the market for over 2.5 goals at 1.70 on Betfair, an implied probability of 1 ÷ 1.70 ≈ 58.8%.
- Prior. Across similar promoted sides, about 55% of matches go over 2.5. You judge that worth roughly 20 matches of evidence, so a = 11 and b = 9 (11 ÷ 20 = 55%).
- Data. Their first 8 matches produced 7 overs. The raw rate is 7 ÷ 8 = 87.5%, fair odds about 1.14, which would make 1.70 look like a steal.
- Update. Posterior rate = (11 + 7) ÷ (20 + 8) = 18 ÷ 28 ≈ 64.3%. Fair odds ≈ 1 ÷ 0.643 ≈ 1.56.
- Value check. A £10 back at 1.70 with 2% commission on winnings: expected profit = 0.643 × £0.70 × 0.98 × 10 minus 0.357 × £10 ≈ £4.41 minus £3.57 ≈ +£0.84.
- Uncertainty. The 90% credible range for the true rate runs from about 49% to 78%, so the edge is small relative to what you do not know. A modest stake, not a max bet, is the sensible response.
A slight edge survives, a fraction of what the raw 87.5% implied.
Where it's good
- Early-season and promoted-team markets where samples are tiny.
- Updating player or jockey strike rates as rides or matches accumulate.
- In-play re-pricing, where each goal, break of serve or wicket is new evidence.
- Tracking your own strategy's win rate without panicking after a bad week.
Limitations and pitfalls
- The answer depends on the prior. Pick a prior that is too confident and you will ignore real change; too weak and you are back to chasing small samples.
- It assumes the thing you are estimating is stable. A new manager, injury or tactical change breaks that, so older data should be down-weighted.
- Choosing the prior after seeing the data is quiet cheating and will flatter backtests.
- The market has already done a lot of updating. Your posterior is only useful if your prior or data contain something the price does not.
- Commission and small edges combine badly: a posterior edge of a percentage point or two can vanish after 2% commission.
- Credible intervals are often wide. Report and stake on them, not just the central estimate.
How to build it
- For simple rates, plain Python or a spreadsheet is enough; scipy.stats.beta gives intervals.
- For richer models use PyMC or Stan, which handle any prior and likelihood.
- Data: a reference set of similar teams or runners to set the prior, plus the live results you update with.
- Practical tip: set your prior strength by asking "how many matches is my prior worth?" and write that number down before looking at the new data.
Related methods
- Bayes' theorem – the single-step rule that updating repeats.
- Conjugate priors – the shortcuts that make updates a matter of counting.
- Empirical Bayes – setting the prior from the data of the whole population.
- Beta distribution – the standard prior for win and over/under rates.
- Kalman filter – Bayesian updating for quantities that drift over time.