StatsAI.bet

Prediction models

Poisson distribution in football: from average goals to odds

Intermediate level4 min readPublished 7 Nov 2026

The Poisson distribution gives the probability that a team scores 0, 1, 2 or more goals when its expected number of goals λ is known: P(k) = e^(−λ) × λ^k / k!. Expected goals come from the league average, the team's attack strength and the opponent's defence strength. The goal probabilities of both teams build a correct score matrix, and from it 1X2, over/under goals, BTTS and correct score.

Contents
  1. Key terms
  2. The Poisson distribution formula
  3. How are expected goals calculated?
  4. The correct score matrix
  5. From the matrix to markets: 1X2, over/under and BTTS
  6. Why does the Poisson model miss on 0-0 and 1-1?
  7. Limitations
  8. Related guides
  9. Sources

Key terms

Poisson distribution
The distribution of the number of rare, independent events in a given time, such as one team's goals in a match.
Expected goals (λ, lambda)
The average number of goals a model expects from a team in that match. It is not the same as shot-based xG, although xG can be used to estimate λ.
Attack and defence strength
How many goals a team scores or concedes relative to the league average. An attack of 1.20 means 20% more goals than an average team.
Correct score matrix
A table of the probabilities of every score (0-0, 1-0, 0-1…), made by multiplying the home and away goal probabilities.

The Poisson distribution formula

If a team scores λ goals on average, the probability that it scores exactly k goals is:

FormulaP(k) = e^(−λ) × λ^k / k!

e is Euler's number (2.718…), and k! is the product 1 × 2 × … × k (0! = 1). The only input is λ, so all the work goes into estimating λ well.

How are expected goals calculated?

The best-known simple method uses league averages and team strengths:

Formulahome λ = league home goals average × home attack × away defence away λ = league away goals average × away attack × home defence
Mathematical example

In the league, home teams score 1.50 goals on average and away teams 1.20.

  • The home side scores 1.80 at home (attack 1.80 / 1.50 = 1.20) and concedes 0.90 (defence 0.90 / 1.20 = 0.75).
  • The away side scores 1.20 on the road (attack 1.00) and concedes 1.65 (defence 1.65 / 1.50 = 1.10).

home λ = 1.50 × 1.20 × 1.10 = 1.98

away λ = 1.20 × 1.00 × 0.75 = 0.90

The correct score matrix

The two teams' goals are calculated separately, and the probability of a score is the product of the two probabilities. For 1-0 that is P(home 1) × P(away 0) = 27.34% × 40.66% = 11.11%.

Score probabilities for home λ 1.98 and away λ 0.90 (rows: home goals, columns: away goals)
Home / Away01234
05.61%5.05%2.27%0.68%0.15%
111.11%10.00%4.50%1.35%0.30%
211.00%9.90%4.46%1.34%0.30%
37.26%6.54%2.94%0.88%0.20%
43.59%3.24%1.46%0.44%0.10%

The most likely single scores are 1-0 (11.11%), 2-0 (11.00%), 1-1 (10.00%) and 2-1 (9.90%). Even the most likely score happens in only about one match in nine, so the fair odds for a 1-0 correct score are 9.00.

From the matrix to markets: 1X2, over/under and BTTS

A market is the sum of the cells that make it up. For total goals a single Poisson distribution with λ = 1.98 + 0.90 = 2.88 is enough.

Probabilities and fair odds from the same model
MarketProbabilityFair odds
1 (home win)62.56%1.60
X (draw)21.06%4.75
2 (away win)16.38%6.11
Over 1.5 goals78.22%1.28
Over 2.5 goals54.94%1.82
Under 2.5 goals45.06%2.22
Over 3.5 goals32.59%3.07
BTTS yes (both teams to score)51.15%1.96
BTTS no48.85%2.05
Home team over 1.5 goals58.86%1.70

BTTS yes is (1 − e^(−1.98)) × (1 − e^(−0.90)) = 51.15%, because each team must score at least once. Fair odds are 1 / probability, as in the guide Implied probability from odds. A bookmaker adds its margin to those odds.

Why does the Poisson model miss on 0-0 and 1-1?

The model assumes the two teams' goals are independent. In real data, 0-0 and 1-1 happen slightly more often, and 1-0 and 0-1 slightly less often, than a pure Poisson model says. In 1997 Dixon and Coles proposed a correction for just those four scores, with a parameter ρ estimated from data.

Mathematical example

With ρ = −0.10 and the same λ (1.98 and 0.90):

ScorePoissonCorrection factorAfter correction
0-05.61%1.17826.61%
0-15.05%0.80204.05%
1-011.11%0.910010.11%
1-110.00%1.100011.00%

The correction only moves probability between these four scores, so the whole matrix still adds up to 100%.

Actual StatsAI performance

StatsAI uses a Poisson model for goals by half, independently for the home and away team, and derives combined markets from it. It takes its input estimates for 1X2, 2.5 goals and BTTS from an external statistical model, and every prediction is measured after the match on the AI model performance page. More on the whole process: How AI football predictions work.

Limitations

  • The model assumes the two teams' goals are independent and that λ stays the same for the whole match. A red card, an early goal or a change of tactics breaks that.
  • λ is an estimate from past matches. A small sample, a new coach or injuries give a wrong λ, and with it wrong probabilities.
  • The example uses made-up league and team averages. Real models estimate them from thousands of matches and often give more weight to recent ones.
  • Fair odds from a model are not a promise of the outcome. An outcome at 62.56% fails to happen in more than a third of cases.