How the model works
A plain-English guide to where every number on this site comes from.
1. Rating every team
Each team gets two numbers: an attack rating (how many goals it scores compared with an average team) and a defence rating (how many it concedes). An attack rating of 1.30 means 30% more goals than average; a defence rating of 0.80 means 20% fewer conceded. The ratings come from every result we have stored over roughly the last eighteen months, across every competition we cover at once, so a Dutch side and an English side are rated on the same scale.
Recent matches count more. A result from six months ago carries half the weight of one played this week, so the ratings follow form without overreacting to a single result. Teams with few matches are pulled towards average until there is enough evidence to say otherwise.
2. Expected goals for a fixture
For a match, the home side’s expected goals are the league-average scoring rate multiplied by home advantage, the home attack rating and the away defence rating. The away side’s expected goals are worked out the same way, without home advantage. Those two numbers are the “projected goals” on every match page.
3. From expected goals to every scoreline
Goals in football follow a well-known pattern called a Poisson distribution: given an average, it tells you the chance of 0, 1, 2, 3 or more goals. We combine the two teams’ distributions into a grid of every scoreline from 0-0 to 10-10, with a small correction (from the Dixon-Coles model) because real football has slightly more 0-0 and 1-1 draws than the plain maths predicts.
4. From scorelines to markets
Every market is a sum over that grid. The home-win chance adds up every score where the home side scores more; over 2.5 adds up every score with three or more goals; both teams to score adds up every score where neither side has zero. That is why the markets never contradict each other.
5. Picks, freezing and grading
The pick in each market is the more likely side of the bet. Predictions refresh every hour as new results change the ratings, then freeze at kick-off. After the final whistle each frozen pick is graded and added to the track record.
What the model does not know
It knows results, not news. Injuries, suspensions, rotation before a cup final, a new manager or a team with nothing to play for are all invisible to it until they show up in results. Treat the numbers as a strong starting point and check the team news before you bet.
The outcome chips
Every match card shows three chips: green for a home win, grey for the draw, blue for an away win, each with its probability. The likeliest one is filled in. After full time, the chip for the actual result gets an outline.
Frequently asked questions
Is this the same as xG?
Not exactly. Expected goals (xG) usually measures chance quality inside a match. Our projected goals are a forecast of how many goals each team will score before the match starts, built from past results.
Where do the results come from?
From a sports data feed, loaded automatically every hour. No result is entered by hand.
Do you use bookmaker odds?
No. The model is built only from results, so its probabilities are an independent view you can compare against the odds on offer.