Elo, Poisson and Dixon-Coles: The Three Models Behind Most Football Probabilities
Reviewed 2026-08-29 · 1269 words · analysis, not advice
Elo, Poisson and Dixon-Coles: The Three Models Behind Most Football Probabilities
Almost every serious football probability in existence traces back to some combination of these three ideas. They are old, well understood, and far more useful than anything wearing a newer label — provided the parameters are chosen carefully.
Elo: relative strength
Elo maintains one number per team. After each match, the winner takes rating points from the loser. How many depends on two things: how surprising the result was, and how large the margin was.
The mechanism is self-correcting. Beat a much stronger side and you gain a lot; beat a much weaker one and you gain almost nothing. Over a season, ratings converge toward something that reflects genuine strength rather than fixture luck.
The three parameters that matter
Update size (K). We use K=20. Too high and the rating chases every individual result; too low and it lags real change by months.
Home advantage, fitted per league. Home advantage is not a universal constant. It is estimated from the last two seasons of each league and shrunk toward a conservative prior, so a league with a small sample cannot produce an extreme value. Assuming one global figure is one of the most common modelling errors in this space.
Between-season regression. At the start of each season, every rating is pulled 25% toward the mean. A team that finished last season superbly does not resume from that peak, because the squad, the manager and the circumstances have changed.
What Elo cannot do
It answers "who is stronger". It has no concept of goals, so it cannot produce a scoreline distribution, an over/under probability, or a both-teams-to-score probability. For that you need a goals model.
Poisson: from strength to scorelines
A Poisson distribution describes counts of relatively rare events in a fixed window. Goals in ninety minutes fit that description well enough to be useful.
Each team gets an attack ratio and a defence ratio measured against its league average. The expected scoring rates follow:
home rate = league average home goals × home attack × away defence
away rate = league average away goals × away attack × home defence
Two details that decide whether it works
Time decay. A weight of 0.0065 per day inside a 730-day window. A match from two months ago counts substantially more than one from two years ago, and old matches fade rather than disappear. Without decay the ratios describe a team that no longer exists.
Shrinkage. Teams with few matches are pulled toward 1.0 — the league average. Without it, a side that scored five in two games gets an absurd attack rating and every probability downstream inherits the absurdity.
The per-league constraint
Attack and defence ratios are computed relative to each league's own average. An attack ratio of 1.4 means "40% above this league's average", so 1.4 in one league and 1.4 in another describe different absolute performances.
Ratings and ratios are comparable within a league and not between leagues. That constraint is also why cross-league fixtures — European competition — are structurally harder than domestic ones.
The score matrix
From the two expected rates comes a matrix: a probability for every plausible scoreline. This is the object every market is read from.
| Market | Cells summed |
|---|---|
| Home win | All cells where home goals exceed away goals |
| Draw | The diagonal |
| Away win | All cells where away goals exceed home goals |
| Over 2.5 | All cells where the total exceeds 2 |
| Under 2.5 | All cells where the total is under 3 |
| Both teams to score | All cells where both numbers exceed 0 |
The consequence is important: every market is mathematically consistent with every other, because they all come from one object. A model that estimates 1X2 and over/under separately can produce combinations that contradict each other.
One publication rule follows from the matrix's dependence on estimated rates: goals markets appear only when both teams have at least 20 matches of history. Below that, the rates carry an error bar too wide for the matrix to mean anything.
Dixon-Coles: fixing the low cells
Pure Poisson assumes each team's goal count is independent of the other's. It is a reasonable approximation in general and a bad one specifically in the low-scoring results.
The scorelines 0-0, 1-0, 0-1 and 1-1 occur at frequencies that differ from what pure Poisson predicts. There are footballing explanations — closed matches where both sides change behaviour in response to the score — but what matters is that the deviation is consistent and measurable.
Dixon-Coles adds a correction parameter that re-weights exactly those four cells. The parameter is fitted from training seasons by weighted likelihood, not chosen by hand.
Why four cells matter disproportionately
| Cell | Contributes to |
|---|---|
| 0-0 | Draw, under 2.5, no BTTS |
| 1-1 | Draw, under 2.5, BTTS |
| 1-0 | Home win, under 2.5, no BTTS |
| 0-1 | Away win, under 2.5, no BTTS |
Two of the four are draws, and all four sit on the under side of the 2.5-goal line. A correction aimed at four cells therefore moves the draw probability, both goals markets and the both-teams-to-score market simultaneously — and, because probabilities must sum to one, the home and away probabilities too.
It looks like a footnote. It is one of the highest-leverage adjustments in the whole pipeline.
Why three structural models are not enough
All three assume a shape and fit parameters to it. That is a strength — they are interpretable and they behave sensibly on small data — and a limitation, because real relationships are not always the assumed shape.
A gradient boosting model sits alongside them, taking features derived from the others plus history: ratings, attack and defence ratios, expected rates, last-five goal difference, rest days, opponent-adjusted form, draw rate, home advantage and sample sizes. It is heavily regularised, because an unconstrained boosting model on football data learns the noise.
Two rules govern the combination. Market prices are never a feature, in any component. And the ensemble weights are grid-searched to minimise log-loss on prior seasons only, with the boosting component's training predictions coming from a nested split.
Finally, the combined output is calibrated by isotonic regression, per outcome, where at least 300 samples exist. Without that step, an ensemble of well-specified models still produces probabilities that are systematically overconfident at the extremes.
What this stack still cannot do
- Player availability and lineups do not move the probability; they affect data quality and the required gap.
- xG is not yet a full feature, though it is available in recent data and counts toward data quality.
- Update rate and decay are still global rather than league-specific.
- No discipline markets, no motivation feature, no tactical modelling.
And the measured bottom line: in a walk-forward backtest across five major European leagues, the market's closing price remains roughly 0.02–0.03 better in log-loss than this ensemble. These models are good. The market, after margin removal, is still better on average — which is why the product acts selectively rather than constantly.
18+. WinPIQ is an analysis tool, not advice and not a promise. Betting can be addictive and money can be lost. Only stake what you can afford to lose, and if betting stops being entertainment, seek help. WinPIQ is not affiliated with Winner or the Israeli Council for the Regulation of Sports Betting.
FAQ
- What does an Elo rating actually measure?
- Relative strength within a closed system of opponents. After each match the winner takes points from the loser, scaled by the rating gap and the goal difference. Because ratings only move through matches played inside that system, ratings from different leagues are not directly comparable.
- Why use Poisson for goals?
- Because goals are counts of relatively rare events in a fixed window, which is the situation a Poisson distribution describes. Given an expected scoring rate for each side, it produces a probability for every possible scoreline, and every market can then be read off that matrix.
- What problem does Dixon-Coles solve?
- Pure Poisson assumes each team's goal count is independent of the other's, and that assumption fails specifically in the low-scoring results. Dixon-Coles adds a parameter that re-weights the 0-0, 1-0, 0-1 and 1-1 cells, fitted from the data by weighted likelihood.
- Why does time decay matter so much?
- Because form and squads change. A weight of 0.0065 per day inside a 730-day window means a match from two months ago counts substantially more than one from two years ago, without discarding older data entirely. Without decay, the ratios describe a team that no longer exists.
- Are these models enough on their own?
- No. They are structural — they assume a shape and fit parameters to it. A gradient boosting model sits alongside them to capture non-linear relationships, the four are weighted by log-loss on prior seasons only, and the output is calibrated. Any single one of them, uncalibrated, is a research exercise rather than a forecast.
18+ · Analysis and probability estimates, not financial advice · not affiliated with any operator · Help: GamCare 0808 8020 133 · BeGambleAware.org