Skip to content

Explore WCWins

Track 2 · Finding and Validating an Edge · Lesson 10 of 24

Football score models: Poisson and Dixon–Coles

Build a score matrix from team goal rates, correct it for low scores with the Dixon–Coles adjustment, and turn it into consistent fair prices for match result, BTTS and totals.

Learning objectives

  • Write the independent Poisson score model with attack, defence and home-advantage parameters.
  • Apply the Dixon–Coles τ correction and explain which scores and markets it changes.
  • Convert a score matrix into fair odds for 1X2, BTTS, totals, team totals and Asian handicaps.
  • Check a set of market prices for internal consistency by fitting implied goal rates.

Goals as Poisson counts

The classic starting point treats each team's goals as a Poisson count whose rate depends on its attack, the opponent's defence and home advantage Maher (1982). For home team i against away team j:

λ = α_i × β_j × γ μ = α_j × β_i P(X = x) = e^(−λ) λˣ / x!
α = attack strength, β = defence weakness, γ = home advantage; X and Y are home and away goals.

If the two counts are independent, the probability of any score is the product P(X = x) × P(Y = y). Laying these out in a grid gives a score matrix, and every goal-based market is a sum over cells: home win is the cells below the diagonal, BTTS is every cell with both counts above zero, Over 2.5 is every cell with x + y ≥ 3.

The parameters are usually fitted by maximum likelihood on past results, with one constraint (for example, average attack strength fixed at 1) so that attack and defence are not interchangeable. Each team then needs enough matches for its two parameters to settle, which is why early-season ratings are noisy. The model also ignores what happens within a match — red cards, a team defending a lead, tactical changes — and treats goal rates as constant for 90 minutes.

The Dixon–Coles low-score correction

Independence misprices the low scores where most football matches end. Dixon and Coles kept the Poisson marginals but multiplied the four lowest scores by a factor τ governed by one dependence parameter ρ Dixon & Coles (1997).

P(x, y) = τ(x, y) × Pois(x; λ) × Pois(y; μ)
τ(0,0) = 1 − λμρ; τ(0,1) = 1 + λρ; τ(1,0) = 1 + μρ; τ(1,1) = 1 − ρ; τ = 1 for every other score.

With ρ < 0, 0–0 and 1–1 become more likely and 1–0 and 0–1 less likely, which raises the draw. The four adjustments cancel exactly in total probability, so markets that do not split those four cells — such as Over 2.5 or a home team Over 1.5 — are unchanged, while 1X2, BTTS and Over 1.5 move.

Dixon and Coles also down-weighted older matches when fitting, multiplying each match's likelihood contribution by a decaying weight so that the model tracks changing team strength:

weight(t) = exp(−ξ × t)
t = time since the match; larger ξ forgets faster. ξ must be chosen out of sample, not on the data you evaluate.

From probabilities to fair odds — and to a market comparison

Fair odds are 1/p for each outcome. To compare with a bookmaker, de-vig the bookmaker's prices first (lesson 3) and compare probabilities, then compute EV at the offered odds. Remember that a model is also an estimate: a small change in ρ, λ or μ can swing the EV of a draw or an away win by several points, as the worked example shows.

Because every market comes from one matrix, the model's prices are linked. Raising λ lifts the home win, Over 2.5 and home team totals together; changing ρ moves the draw and BTTS but not Over 2.5. That linkage is what lets you price a home team total or an away team total you have never seen quoted, and it also means that an apparent edge in several related markets at once is usually one assumption counted several times, not several independent edges.

Market consistency: 1X2, totals and BTTS

Prices on different markets for the same match imply goal rates. If you fit λ and μ to the de-vigged home win, away win and Over 2.5, the fitted matrix predicts a BTTS probability you can compare with the BTTS market. A large gap means at least one market is out of line with the others — or that the Poisson structure does not fit this match (a red card risk, a team that sits deep when ahead).

In our hypothetical match the de-vigged 1X2 (51.68 / 26.84 / 21.48%) and Over 2.5 (49.35%) are fitted by λ = 1.65 and μ = 0.99 with ρ = −0.1 (grid step 0.01, root-mean-square error 0.11 points). That matrix implies BTTS Yes 51.94%, against 51.32% from the hypothetical BTTS market: a gap of 0.62 points. Within the precision of the method, the three markets agree, and no inconsistency is worth acting on.

Worked example

Worked example · Harbour City v Northvale with λ = 1.6 and μ = 1.0

Hypothetical expected goals: Harbour City (home) λ = 1.6, Northvale (away) μ = 1.0. Compare independence (ρ = 0) with a Dixon–Coles correction ρ = −0.1, then compare with a hypothetical 1X2 market of 1.87 / 3.60 / 4.50.

  1. τ factors at ρ = −0.11 − 1.6 × 1.0 × (−0.1); 1 + 1.6 × (−0.1); 1 + 1.0 × (−0.1); 1 − (−0.1)τ(0,0) = 1.16, τ(0,1) = 0.84, τ(1,0) = 0.90, τ(1,1) = 1.10
  2. Low scores, independent → correctedIndependent score grid (λ = 1.6, μ = 1.0) vs Dixon–Coles grid with ρ = −0.10–0 7.43% → 8.62%; 1–0 11.88% → 10.70%; 0–1 7.43% → 6.24%; 1–1 11.88% → 13.07%
  3. 1X2the home / draw / away probabilitiesIndependent 51.34 / 25.00 / 23.66% (fair 1.948 / 4.000 / 4.227); Dixon–Coles 50.16 / 27.38 / 22.47% (fair 1.994 / 3.653 / 4.451)
  4. BTTS YesSum of cells with x ≥ 1 and y ≥ 150.45% → 51.64% (fair 1.982 → 1.937)
  5. TotalsP(over 2.5) and P(over 1.5) on both gridsOver 2.5 48.16% in both (fair 2.077); Over 1.5 73.26% → 74.45%
  6. Team totals and handicapP(home over 1.5), P(away over 0.5) and home −0.5 on the corrected gridHome Over 1.5 47.51% (fair 2.105) and away Over 0.5 63.21% (fair 1.582) in both; AH −0.5 equals the home win
  7. Hypothetical market1.87 / 3.60 / 4.50 → book sum 103.48%De-vigged 51.68 / 26.84 / 21.48% (fair 1.935 / 3.725 / 4.656)
  8. EV at the offered oddsp × o − 1 for each outcomeDixon–Coles: home −6.21%, draw −1.44%, away +1.11%. Independent: home −3.99%, draw −10.00%, away +6.45%
  9. Sensitivity of the away priceEV at odds 4.50 for p = 0.1947 / 0.2247 / 0.2547−12.38% to +14.62%: depends on the estimate

One parameter, ρ, moved the draw's EV from −10.00% to −1.44% and the away win's from +6.45% to +1.11% without touching Over 2.5 or the team totals. The away price looks marginally positive only under one model choice, and a ±3-point uncertainty band spans −12.38% to +14.62%. That is a no-action result: the model is useful for coherent pricing, not as proof that 4.50 is value.

Practice · How fragile is the away edge?

In the Fair Odds and EV lab, enter the away price 4.50 with the Dixon–Coles probability 0.2247 and a range of 0.1947–0.2547. Then replace the probability with the independent-Poisson value 0.2366 and note how much the verdict depends on ρ.

Lab 1 · Fair odds and expected value

Synthetic · deterministic
Enter a decimal price and your probability estimate, with an honest range for how wrong it could be.
Break-even probability22.22%
Theoretical EV at estimate+1.2%
EV at range low−12.2%
EV at range high+14.7%
Fair odds of estimate4.444
Probability edge0.28 pts
Full Kelly (estimate)0.36%
Full Kelly (range low)0.00%

No clear advantage. Your range straddles break-even. Whether the bet has value depends on which end of your estimate is right, so there is no clear advantage. A careful analyst treats this as a pass unless better evidence narrows the range.

Expected value against the true probabilityExpected ROI per unit staked at odds 4.50 if the true probability were each value on the horizontal axis. EV crosses zero at the break-even probability, 22.22%.-50%-25%0%25%50%10%20%30%True probability (%)Expected ROI (%)Break-even
Expected ROI per unit staked at odds 4.50 if the true probability were each value on the horizontal axis. EV crosses zero at the break-even probability, 22.22%.
Show data table
True probability (%)Expected ROI
9%-60%
10%-55%
11%-51%
12%-46%
13%-42%
14%-37%
15%-33%
16%-28%
17%-24%
18%-19%
19%-15%
20%-10%
21%-6%
22%-1%
23%4%
24%8%
25%13%
26%17%
27%22%
28%26%
29%30%
30%35%
31%40%
32%44%
33%49%
34%53%
35%57%
36%62%

Educational calculator. Uses only the numbers you enter or seeded synthetic data — no live prices, no staking, no real money.

Show what you should find

Break-even at 4.50 is 22.22%. With p = 0.2247 the EV is +1.11%; at 0.1947 it is −12.38% and at 0.2547 it is +14.62%, so the verdict is 'depends on the estimate'. With the independent model's 23.66% the point EV rises to +6.45% — the same team ratings, a different dependence assumption and a very different headline. A real model needs ρ, λ and μ estimated out of sample, with their uncertainty carried through to the price.

Common mistakes

  • ✗ Assuming the Dixon–Coles correction changes every market.The four τ adjustments cancel in total. Over 2.5 and team totals at these lines are unchanged; 1X2, BTTS and Over 1.5 move.
  • ✗ Comparing model probabilities with raw implied probabilities.De-vig the market first (book sum 103.48% here), then compute EV at the offered odds.
  • ✗ Fitting the time-decay rate and ρ on the matches you then evaluate.That is look-ahead. Choose them on earlier data and test on later matches (lesson 12).
  • ✗ Citing Dixon & Coles's betting return as proof the model beats today's markets.It was a single historical evaluation in a high-margin era; it does not establish a modern edge.

When it fails

Supporting research

Check your understanding

1. With λ = 1.6, μ = 1.0 and ρ = −0.1, what is τ(0,0)?
2. Which market is unchanged when ρ moves from 0 to −0.1 in the example?
3. Fitted rates from 1X2 and Over 2.5 imply BTTS Yes 51.94%; the BTTS market de-vigs to 51.32%. What is the most reasonable reading?

Practice only: saved on this device, no XP and no account record.

Saved on this device only.
Football score models: Poisson and Dixon–Coles · Value Academy · WCWins