00 · Overview
The prediction algorithm, step by step
The prediction algorithm runs on the records stored here. Every input traces back to a figure in the league table.
Goals scored, goals conceded, matches played, and finished results.
The standard refinement of Maher (1982), used widely in published forecasting.
The scoreline grid uses a Poisson recurrence rather than factorials, so a full fixture board recomputes on every request.
Projections are computed on read, so they follow the daily record refresh with nothing extra scheduled.
01
Each club's goals scored and conceded per match are divided by the league average, giving an attack strength and a defence strength. Above 1.0 means more than a typical side; below means fewer. Because they are ratios, they multiply cleanly when two teams meet.
02
A rate from two matches is mostly noise. Every strength is pulled toward the league average by an amount that depends on how much football has actually been played, reaching an even split at roughly a quarter-season. Two games at four goals a game does not make a side the best attack in the league.
03
Where results exist, home and away rates are estimated separately, because many clubs are genuinely different at each. Where they do not, a single league-wide home advantage is applied instead of inventing a per-club split the data cannot support.
04
Results decay exponentially with age, halving in influence roughly every four months. Form last spring says less about tonight than last week does.
05
One club's attack times the other's defence, plus the venue term, gives each side an expected goals rate. Those rates produce a probability for every scoreline from 0-0 to 10-10.
06
Treating both sides as independent under-counts 0-0 and 1-1 and over-counts 1-0 and 0-1. The Dixon-Coles correction adjusts exactly those four cells and leaves the rest untouched. It is where most of the algorithm's accuracy on draws comes from.
07
Summing the cells answers everything at once: home win, draw, away win, likely score, both teams to score, over 2.5 goals, and each clean sheet. One distribution, so the answers always agree.
A projection is an estimate of how often a result would occur across many repetitions of the same fixture, not a forecast of what will happen once. Where the algorithm is short of evidence it says so on the projection itself rather than quietly guessing.