Dixon-Coles: Fixing Poisson's Low-Score Bias
The basic Poisson football model has one known crack: it assumes the two teams' goal counts are independent, and at low scorelines they are not. In 1997, Mark Dixon and Stuart Coles published a small correction β a single parameter, Ο (rho) β that patches exactly this crack and nothing else. Almost thirty years later it is still the standard fix, and it is the one we run in production. This post explains the problem, walks through the adjustment with worked numbers, and shares an instructive lesson from fitting Ο on our own data: the textbook value was twice too strong.
The problem: low scores are not independent
If you have not read our plain-English primer on the Poisson model for football, start there β this post builds directly on it. The short version: a Poisson model multiplies two independent goal distributions into a scoreline grid, and every market price is a sum over that grid.
Skip the hand-calculation.
Get real value bets flagged for you β 7-day free trialIndependence is a fine approximation at most scorelines, but real match data shows a systematic wrinkle in the low-score corner: 0-0 and 1-1 occur slightly more often than independence predicts, while 1-0 and 0-1 occur slightly less often. The intuition is tactical. In a tight, cagey game both sides take fewer risks, suppressing each other's scoring at once β the two goal counts are negatively correlated in exactly the region where matches are decided by one goal or none.
The error per cell is small β typically well under a percentage point of absolute probability. But draws, unders and correct-score prices are built from precisely these cells, and betting edges are routinely smaller than the error. A model that misprices 1-1 by half a point is giving away margin on every draw and BTTS price it quotes.
The tau adjustment: four cells, one parameter
Dixon and Coles multiply the four low-score cells by a correction factor Ο that depends on the two lambdas and one new parameter Ο. With a negative Ο, the factors work out to:
- 0-0: multiplied by 1 β Ξ»_home Γ Ξ»_away Γ Ο β greater than 1, so 0-0 becomes more likely.
- 1-1: multiplied by 1 β Ο β also greater than 1.
- 1-0: multiplied by 1 + Ξ»_away Γ Ο β less than 1, so 1-0 becomes less likely.
- 0-1: multiplied by 1 + Ξ»_home Γ Ο β also less than 1.
Probability is shifted from the narrow-win cells into the low-scoring draw cells, and the grid is renormalised so it still sums to 100%. Every score with two or more goals on either side is left exactly as plain Poisson computed it.
Worked example with Ο = β0.06
Take the same illustrative match as in the Poisson primer: home Ξ» = 1.6, away Ξ» = 1.1, and use Ο = β0.06 (close to the value we actually fit β more on that below). The four corrected cells, before renormalisation:
- P(0-0): 6.72% Γ (1 + 0.06 Γ 1.6 Γ 1.1) = 6.72% Γ 1.106 = 7.43% (up 0.7pp)
- P(1-1): 11.83% Γ 1.06 = 12.54% (up 0.7pp)
- P(1-0): 10.75% Γ (1 β 0.06 Γ 1.1) = 10.75% Γ 0.934 = 10.04% (down 0.7pp)
- P(0-1): 7.39% Γ (1 β 0.06 Γ 1.6) = 7.39% Γ 0.904 = 6.68% (down 0.7pp)
The knock-on effects on market prices are exactly what you would guess: the draw probability rises by a bit over one percentage point, Under 2.5 and BTTS-No tick up slightly (0-0 gained more than 1-1, and 1-1 sits above the 2.5 line's under side only via the total), and the two narrow home/away wins give the probability back. On Asian handicap lines around zero, where pushes and half-goal margins dominate, these few tenths of a point are the difference between a fair price and a leak.
Fitting Ο: why we don't trust the textbook value
The original Dixon-Coles paper β and most tutorials that copy it β reports Ο in the neighbourhood of β0.13, fitted on English league data from the early 1990s. When we fitted Ο by maximum likelihood on our own training set of roughly a hundred thousand matches across the major European leagues, the data said something different: Ο β β0.06, about half the textbook strength.
That gap is not a bug in either number. Football changed. The early-90s English game that produced β0.13 was slower and lower-scoring than modern top-flight football; the low-score correlation is real in both eras, but weaker today. Had we hard-coded the literature value, we would have over-corrected β systematically overpricing 0-0 and 1-1 and quietly bleeding on the other side of every draw-adjacent market. The correction would have introduced an error of roughly the same size as the one it was meant to fix.
Does one percentage point actually matter?
It is fair to ask whether a correction this small is worth the ceremony. The answer depends entirely on what the model is for. For a casual fan predicting results, no β plain Poisson gets the story right. For pricing markets against a bookmaker, yes, for a simple reason: the margin you are hunting is itself only a few percentage points. An edge computed from a grid that is known to be biased in the draw corner is an edge you cannot trust in exactly the markets β draws, unders, correct scores β where the bias lives.
There is also a compounding argument: the low-score cells are the most heavily weighted cells in football. Around a quarter of all matches end 0-0, 1-0, 0-1 or 1-1. A systematic error concentrated on the most common outcomes is the worst kind of systematic error to carry.
Putting it all together
Dixon-Coles is the rare model improvement that is small, targeted and durable: one parameter, four grid cells, a measurable bias removed. Our production football goals model runs it with a data-fitted Ο of about β0.06 β half the classic textbook value, because we let a hundred thousand modern matches speak instead of a 1990s dataset. The general lesson travels far beyond football: adopt structures from the literature, but re-fit every constant on your own data and validate the result out of sample, the same discipline we apply to every model we run.