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

Poisson Distribution

Turns an expected number of goals into the probability of 0, 1, 2 or more goals, the building block of most football pricing models.

Beginnerpre-matchin-play

In one sentence

The Poisson distribution tells you how likely each count (0, 1, 2, 3 goals and so on) is when events happen randomly at a known average rate.

How it works

Imagine a match as 90 minutes of small chances, each with a tiny probability of becoming a goal. If you know the average number of goals a team should score, the Poisson distribution spreads that average across every possible scoreline count. You only need one number, the expected goals, often written λ (lambda).

Football suits it reasonably well because goals are rare, fairly independent of each other, and happen at a roughly steady rate. Give each team its own λ, work out the probability of each goal count, and multiply the two teams together to get a full correct score grid. From that grid you can price match odds, over/under, both teams to score and correct score.

The same idea works for any count of rare events: corners, cards, tries, wickets in a spell, or even the number of matched bets arriving in a minute.

The maths

P(X=k)=λke−λk!P(X = k) = \frac{\lambda^{k} e^{-\lambda}}{k!}
  • X is the number of events (goals) in the match.
  • k is the specific count you are asking about (0, 1, 2 ...).
  • λ is the expected number of events, which is both the mean and the variance.
  • e is the constant 2.718..., and k! means k × (k − 1) × ... × 1.

In words: the chance of exactly k goals depends only on the average rate, and the spread is fixed once you pick the average.

Worked betting example

Over/Under goals, illustrative inputs. Your model gives the home side 1.6 expected goals and the away side 1.1.

  1. Home goals from the Poisson formula: 0 goals 20.19%, 1 goal 32.30%, 2 goals 25.84%, 3 goals 13.78%.
  2. If the two teams score independently, total goals are also Poisson with λ = 1.6 + 1.1 = 2.7.
  3. Probability of 0, 1 or 2 total goals (under 2.5) = 49.36%, so over 2.5 = 50.64%.
  4. Fair odds for over 2.5 = 1 ÷ 0.5064 ≈ 1.97. Fair odds for under 2.5 ≈ 2.03.
  5. The exchange offers 2.10 on over 2.5. Backing £10: expected value = 0.5064 × £11 − 0.4936 × £10 ≈ +£0.63.
  6. After 2% commission on winnings: 0.5064 × £11 × 0.98 − 0.4936 × £10 ≈ +£0.52.

That edge is thin and depends entirely on your λ values being right. Nudge either team's expected goals by 0.1 and the answer moves noticeably.

Where it's good

  • Quick pre-match pricing of over/under, correct score and both teams to score in football.
  • Counting markets such as bookings, corners (as a first pass) and tries.
  • In-play: scale λ by the minutes remaining to reprice totals as the clock runs down.
  • A baseline that more complex models must beat before you trust them.

Limitations and pitfalls

  • Variance equals the mean. Real corner and card counts are usually more spread out, so the tails get underpriced (see negative binomial).
  • Independence between the two teams is false in practice: low-scoring draws such as 0-0 and 1-1 occur more often than the basic model says.
  • Scoring rates change within a match. Red cards, a team chasing the game and late pressure all break the constant-rate idea.
  • The model is only as good as λ. Most of the work, and most of the error, is in estimating expected goals, not in the formula.
  • Liquid football markets on Betfair are efficient. A plain Poisson model built from season averages rarely beats the closing price.
  • Check value after 2% commission, not before.

How to build it

  • scipy.stats.poisson in Python (pmf, cdf, sf) or dpois in R handle the maths.
  • penaltyblog and statsmodels (Poisson GLM) can fit attack and defence ratings from past results.
  • Data: several seasons of results or, better, expected goals by match, with home and away split.
  • Tip: weight recent matches more heavily; team strength drifts through a season.
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