The question
"My Poisson grid keeps making the draw too long. The market has 3.40 and I have 3.58. Is the market wrong, or am I?"
Why Poisson gets 0-0 wrong was the question Mark Dixon and Stuart Coles answered in 1997. Their fix is small, cheap to add, and moves prices exactly where plain Poisson is weakest: the low-scoring draws.
The idea in one sentence
Dixon-Coles is a Poisson goals model that nudges the four lowest scorelines to match what really happens, and gives recent matches more weight than old ones.
The picture
Plain Poisson treats the two teams' goals as completely separate: whatever the away side does has no effect on the home side's scoring. Across big datasets that's nearly right, except at the very bottom of the grid.
Real matches finish 0-0 and 1-1 more often than independent Poisson predicts, and 1-0 and 0-1 less often. A likely reason is game state: at 0-0 or 1-1 late on, both sides may settle for a point, while a one-goal lead changes how both teams play.
Dixon-Coles leaves the whole grid alone except those four squares. Take home expected goals 1.3, away 1.0, and the correction number ρ = −0.1:
| Score | Plain Poisson | Multiplied by | Dixon-Coles |
|---|---|---|---|
| 0-0 | 10.03% | 1.13 | 11.33% |
| 1-0 | 13.03% | 0.90 | 11.73% |
| 0-1 | 10.03% | 0.87 | 8.72% |
| 1-1 | 13.03% | 1.10 | 14.34% |
Illustrative inputs. ρ is fitted from past results; small negative values are typical.
Two things to notice. The draw squares go up and the one-goal wins go down. And what's added exactly equals what's taken away, so the grid still adds up to 100%.
Worked Betfair example
Your ratings give home expected goals 1.3 and away 1.0. You've fitted ρ = −0.1. The Match Odds market has the draw at 3.40. (Illustrative figures.)
- Plain Poisson draw. Adding the diagonal of the plain grid gives 27.96%, a fair price of 3.58. At 3.40 that's no bet.
- The corrections. τ(0,0) = 1 − 1.3 × 1.0 × (−0.1) = 1.13. τ(1,1) = 1 − (−0.1) = 1.10. τ(1,0) = 1 + 1.0 × (−0.1) = 0.90. τ(0,1) = 1 + 1.3 × (−0.1) = 0.87.
- Adjusted draw squares. 0-0 goes from 10.03% to 11.33%, and 1-1 from 13.03% to 14.34%. The other draws (2-2 and up) don't change.
- Dixon-Coles draw. 30.57%, a fair price of 3.27. The home win drops from 43.40% to 42.10%, the away from 28.64% to 27.34%.
- Plain Poisson EV at 3.40 on £10, after 2% commission. 0.2796 × £24 × 0.98 − 0.7204 × £10 = −£0.63.
- Dixon-Coles EV. 0.3057 × £24 × 0.98 − 0.6943 × £10 = +£0.25. Break-even is about 3.32.
- What didn't move. Under 2.5 is 59.60% in both models. Under 1.5 falls from 33.09% to 31.78%, because it includes 0-0, 1-0 and 0-1 but not 1-1.
Verdict: a single small correction turns a losing draw bet into a slightly winning one. The edge is thin, and Dixon-Coles has been public for decades, so the main Betfair markets already price in what it knows. Its real value is stopping your own model from being systematically wrong on the draw.
The second idea: recent matches count more
Team strength changes: injuries, transfers, new managers. Dixon-Coles weights each past match by how long ago it was. With a decay rate of ξ = 0.005 per day:
- A match 30 days ago counts 0.86 of a match played today.
- A match 365 days ago counts 0.16.
- A match's weight halves every 139 days.
Pick ξ by testing on matches the model hasn't seen (walk-forward testing), never by what fits the past best.
The formula
The corrected grid
- X, Y are home and away goals; x, y a particular scoreline.
- λ, μ are home and away expected goals.
- τ (tau) is the correction, equal to 1 for every score except the four below.
In plain English: the plain Poisson grid from Lesson 4.2, with four squares nudged.
The four corrections
- ρ (rho) sets the size of the correction. Negative ρ adds to 0-0 and 1-1 and takes from 1-0 and 0-1.
In plain English: these four factors are built so the extra on the draws exactly balances what comes off the one-goal wins. The grid still sums to 100%.
Expected goals from team ratings
- α (alpha) is a team's attack strength.
- β (beta) is a team's defensive weakness.
- γ (gamma) is home advantage.
In plain English: home expected goals is the home attack, against the away defence, with a home boost. The ratings and ρ are fitted together to past results.
Time decay
- w is the weight a past match gets.
- t is days since the match.
- ξ (xi) sets how fast old matches fade. The half-life is ln 2 ÷ ξ.
In plain English: old results fade smoothly rather than dropping off a cliff. The full model is on the Dixon-Coles page.
Try it
Pen and paper: with λ = 1.3, μ = 1.0 and ρ = −0.1, check that the four changes cancel. The changes are +1.30, −1.30, −1.30 and +1.30 percentage points (to two decimal places, 0-0 and 1-1 up, 1-0 and 0-1 down). Why does 1-0 lose exactly what 1-1 gains?
Answer
1-0 and 1-1 have the same plain chance here, 13.03%, because the away side scoring 0 or 1 is equally likely when μ = 1.0. The 1-0 factor is 0.90 (−10%) and the 1-1 factor is 1.10 (+10%), so one gains 1.30 points and the other loses 1.30. The same happens with 0-0 (+13% of 10.03%) and 0-1 (−13% of 10.03%).Common mistakes
- Expecting Dixon-Coles to find big edges. It's a well-known 1997 model. It fixes a flaw in your model; it doesn't beat a market that already knows it.
- Using it to price Over/Under 2.5. The correction leaves Under 2.5 exactly where it was. It matters for the draw, Correct Score and Under 1.5.
- Fitting ρ and ξ on the same matches you test on. That flatters the model. Fit on the past, test on what came after (Lesson 7.6).
- One ρ for every league. Leagues differ in how often they finish level. Fit ρ per league, or at least check it.
- Forgetting the inputs are still results-based. Ratings built from goals react slowly to injuries and new managers. Expected goals inputs help.
A fix that looks tiny on paper can flip a bet from losing to winning, which is exactly why small model choices need honest testing, a theme of why good models still lose money.