How Footy Preds Works
Footy Preds predicts Premier League matches with Dixon-Coles, a genuine statistical model,
then checks its predictions against live betting market odds. Here's what it actually
does, in plain language.
Dixon-Coles (statistical model)
A statistical model, not a machine-learning one -- it fits two numbers per team from
five seasons of real results: an attack strength and a defense strength.
A team like Man City ends up with high attack, strong (very negative) defense; a struggling
side ends up the other way round.
Goals are assumed to follow a Poisson distribution -- the standard way to model
"how many of something happens in a fixed window" when events are roughly independent.
Each fixture gets an expected-goals number for each side:
λ_home = exp(attack_home − defense_away + home_advantage)
λ_away = exp(attack_away − defense_home)
The exp() just keeps the result positive (goals can't be negative) and
home_advantage is one extra fitted number shared by every team, capturing the
well-known edge of playing at home.
From λ_home and λ_away, the model builds a full grid of probabilities for
every plausible scoreline (0–0, 1–0, 2–1, and so on), using the Poisson
formula for each side independently, with a small correlation correction for low-scoring
outcomes (the actual "Dixon-Coles adjustment" the model is named after). Summing the right
cells of that grid gives home win / draw / away win probabilities, and the same grid gives
goals-scored distributions and over/under probabilities for any goals line. This is the
only model here that reasons about goals directly rather than just win/draw/loss.
Comparing against the betting market
Every prediction gets checked against real bookmaker odds, pulled from multiple UK
bookmakers and updated regularly. Two things matter here:
- The odds shown are genuine, as-quoted prices -- including the bookmaker's
built-in margin (the "overround"), not a theoretical fair price. That's deliberate: it's
what you'd actually be offered, not an academic exercise.
- Edge is still calculated as a probability difference, not an odds difference --
model probability minus that bookmaker's own overround-removed fair probability. Real
bookmaker odds are always a little shorter than any fair price purely because of the
margin, so comparing raw odds directly would mostly just measure the size of that margin
rather than genuine disagreement between the model and the market.
A big edge doesn't automatically mean the model is right and the market is wrong --
bookmaker prices reflect enormous collective betting activity and are generally very
well-calibrated. Treat disagreement as a flag worth a closer look, not a certainty.
Data sources
Nothing here is scraped or guessed -- every number traces back to a real public source:
← Back to predictions