Markets coveredMatch OddsCorrect ScoreOver / UnderFirst HalfSecond Half
Statometrics
Module 4 · Lesson 4.3

Dixon-Coles

“Why do simple models get 0-0s wrong?”

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.)

  1. 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.
  2. 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.
  3. 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.
  4. 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%.
  5. Plain Poisson EV at 3.40 on £10, after 2% commission. 0.2796 × £24 × 0.98 − 0.7204 × £10 = −£0.63.
  6. Dixon-Coles EV. 0.3057 × £24 × 0.98 − 0.6943 × £10 = +£0.25. Break-even is about 3.32.
  7. 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

P(X=x,Y=y)=τ(x,y) λxe−λx! μye−μy!P(X=x, Y=y) = \tau(x,y)\,\frac{\lambda^{x}e^{-\lambda}}{x!}\,\frac{\mu^{y}e^{-\mu}}{y!}
  • 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

τ(0,0)=1−λμρ,τ(0,1)=1+λρ,τ(1,0)=1+μρ,τ(1,1)=1−ρ\tau(0,0)=1-\lambda\mu\rho,\quad \tau(0,1)=1+\lambda\rho,\quad \tau(1,0)=1+\mu\rho,\quad \tau(1,1)=1-\rho
  • ρ (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

λ=αhome βaway γ,μ=αaway βhome\lambda = \alpha_{\text{home}}\,\beta_{\text{away}}\,\gamma, \qquad \mu = \alpha_{\text{away}}\,\beta_{\text{home}}
  • α (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(t)=e−ξtw(t) = e^{-\xi t}
  • 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?

Answer1-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.

Check yourself

1. With a negative ρ, what does the Dixon-Coles correction do?
2. Does the Dixon-Coles correction change the chance of Under 2.5?
3. What does the time decay in Dixon-Coles do?
Key takeaway

Plain Poisson under-rates low-scoring draws. Dixon-Coles nudges four squares with one number, ρ, and trusts recent results more. Small changes, but they land on the draw.

Go deeper in the Model Library
Next lesson
4.4 Markov chains for tennis →
How do points turn into match odds?
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.
MembersWhy Poisson Gets 0-0 Wrong: The Dixon-Coles Football Model Explained for Betfair — Statometrics Academy