Markets coveredMatch OddsCorrect ScoreOver / UnderFirst HalfSecond Half
Statometrics
Model Library · Distributions

Beta Distribution

Describes uncertainty about a probability, such as a strike rate, and updates cleanly as new winners and losers come in.

Intermediateevaluationpre-matchstaking

In one sentence

The beta distribution describes what you believe about an unknown probability, and updates by simple addition when you observe new successes and failures.

How it works

A team whose home matches produced 3 or more first-half goals in 7 of 30 games has a raw strike rate of 23%. But 30 matches is a small sample, and most teams sit near 10%. The beta distribution lets you say "probably around 18%, but it could plausibly be anywhere from 10% to 27%", rather than taking 23% at face value.

You start with a prior belief, written as Beta(a, b), which acts like having seen a winners and b losers already. Each new winner adds 1 to a; each loser adds 1 to b. The result is a new beta distribution, sharper than before.

This pull towards the prior is called shrinkage. It stops small samples from fooling you, which is a common way punters lose money on "hot" teams.

The maths

p∼Beta(a,b),mean=aa+bp \sim \text{Beta}(a, b), \qquad \text{mean} = \frac{a}{a+b} after w winners and l losers:p∼Beta(a+w,  b+l)\text{after } w \text{ winners and } l \text{ losers:} \quad p \sim \text{Beta}(a + w,\; b + l)
  • p is the unknown true strike rate.
  • a and b are the prior "pseudo-winners" and "pseudo-losers"; a + b sets how strongly you hold the prior.
  • w and l are the observed winners and losers (matches where the bet won and lost).

In words: add your results to your prior counts, and the average of the new beta is your updated estimate.

Worked betting example

First Half Goals, Over 2.5 on Betfair, illustrative figures. You are assessing one team's home matches, where this bet typically trades around 8.0 (break-even probability 12.5%).

  1. Prior: across the league about 10% of matches have 3 or more first-half goals, and you weight this like 20 matches of evidence, so Beta(2, 18). Mean = 10%.
  2. Data: 7 winners from 30 matches (raw strike rate 23.3%).
  3. Posterior: Beta(2 + 7, 18 + 23) = Beta(9, 41). Mean = 9 ÷ 50 = 18.0%.
  4. 90% credible interval for the true strike rate: 9.9% to 27.5%.
  5. P(true strike rate above 12.5%) = 84.8%.
  6. So there is a decent chance of value at 8.0, but also roughly a 15% chance there is none. The edge is probably smaller than the raw 23% suggests, and a cautious stake size reflects that.

Where it's good

  • Team, referee and tipster strike rates from small samples.
  • Shrinking any win-rate style statistic before it goes into a model.
  • Feeding uncertainty into staking: an uncertain edge deserves a smaller Kelly fraction.
  • Tracking the true success rate of your own strategy as results come in.

Limitations and pitfalls

  • The result depends on the prior. A careless prior (too strong or too weak) can dominate or be ignored; base it on data for similar cases.
  • It assumes every run has the same underlying p. A team's matches against the leaders and against the bottom side are not the same trial.
  • Strike rate without odds is incomplete. The market already prices team form, so the real question is whether results beat the prices, not whether they beat 10%.
  • Conditions change: managers, players and tactics move on, so old matches may not reflect current form.
  • Searching thousands of team and league angles guarantees some will look strong by chance; shrinkage helps but does not fully fix it.

How to build it

  • scipy.stats.beta (mean, interval, sf) in Python; qbeta and pbeta in R; PyMC for richer models.
  • Data: match-level results with odds; league-level averages for the prior.
  • Tip: fit the prior from all teams at once (empirical Bayes) rather than picking a and b by feel.
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