Math & ModelsUpdated 28 Jul 20265 min read
Expected Points (xPts): What a Season Deserved
Turn every match into "how often would a team in this position win, draw or lose?", convert that into points, and add it up. The result is the season a team's chances were worth.
From one match to a number#
Take a single match and reduce it to three probabilities: the home side wins 52% of the time, the draw comes up 25%, the away side wins 23%. Football pays three points for a win and one for a draw, so the home team's expected points from that match are:
3 × 0.52 + 1 × 0.25 = 1.81
and the away team's are 3 × 0.23 + 1 × 0.25 = 0.94. Nobody will actually score 1.81 points — the match will end 3–0, 1–1 or 0–2 and pay out 3, 1 or 0. The 1.81 is what that situation is worth on average, across all the times it could play out.
Do that for all thirty-eight matches and you have a season's xPts.
Why it can be compared with the real table#
Expected goals cannot safely be subtracted from goals scored. The number depends on whose model produced it, and models are calibrated differently. Across our own six covered leagues in the 2025 season, total xG ran between 5% and 15% above the goals actually scored in five of them, and about 5% below in the sixth. Subtract xG from goals in a league sitting at the top of that range and almost every team looks like it is under-performing — which says more about the provider than about the football.
Expected points do not have that problem. Summed across a season, they land very close to the points a league actually hands out:
| League | Points awarded | xPts | Difference |
|---|---|---|---|
| Premier League | 1036 | 1055.9 | +1.9% |
| La Liga | 1047 | 1053.7 | +0.6% |
| Serie A | 1041 | 1053.7 | +1.2% |
| Bundesliga | 843 | 856.4 | +1.6% |
| Ligue 1 | 841 | 846.5 | +0.7% |
| Russian Premier League | 653 | 656.7 | +0.6% |
Measured across the complete 2025 season in each competition. The totals agree because the same accounting is being done both ways: every match distributes either three points or two, and expected points distribute the same amount according to how likely each outcome was.
Because the totals reconcile, the difference for one team is meaningful. It is measured in the same units as the table, and there is nothing to normalise away first.
What the gap actually contains#
A club sitting well above its expected points is usually described as lucky. That is only part of it. The gap holds everything the chance-quality model does not measure:
- Finishing. A striker converting difficult chances at an unusual rate scores more than the chances were worth.
- Goalkeeping. A keeper saving shots that usually go in concedes fewer than the chances were worth. This is the same effect from the other end.
- Game state. A side that leads early and then defends will create less afterwards. The chances it did not need do not appear in its expected points.
- Variance. The largest component over a single season. A coin that lands heads twenty-two times in thirty-eight tosses is not a biased coin.
None of these separate themselves out in a season table. That is why the gap is a question worth asking rather than an answer.
Regression, and what it does not promise#
Large gaps tend to shrink. A team ten points above its expected points is more likely to fall back than to stretch further ahead, because most of what put it there does not repeat. This is regression toward the mean, and it is the single most useful thing xPts tells you.
What it does not tell you is when, or by how much, or whether it will happen before the games you care about. A side can sit above its expected points for an entire season and finish there. Treating "should come down" as "will come down next weekend" is how a sound observation turns into a losing bet.
It is not a signal#
The temptation is obvious: find the team furthest below its expected points and back it. It does not work, and the reason is simple — the bookmaker has the same numbers. Expected points are computed from public shot data by public models. Any information in them is in the price before you get there.
Tofiko's own record makes the point sharply. Measured against closing prices, our published forecasts have shown no edge over the market — closing-line value has come out around −6.9%, which is what no edge looks like. A number this widely available is not going to be the exception.
Use expected points to understand a season. Use prices to bet.
What to take away#
- Expected points convert each match's probabilities into the points it was worth, and the season total lands within about 2% of the points a league really awards.
- That is why over-performance is measured in points rather than goals: goals and expected goals are not on the same scale, and the mismatch varies by league.
- The gap mixes finishing, goalkeeping, game state and — mostly — luck, and it tends to shrink.
- It describes the past. It is not an edge, because it is not private.
Related
Frequently asked questions
What is xPts in football?
Expected points. Each match is reduced to three probabilities — home win, draw, away win — and a team's expected points from it are three times its win probability plus its draw probability. Add those up across a season and you have xPts.
Is a team above its xPts just lucky?
Partly. The gap mixes luck with things chance quality does not measure: finishing, goalkeeping, and how a side manages a lead. Over one season it is mostly noise. A team that repeats the same gap across several seasons is telling you about something the model does not see.
Why use expected points instead of expected goals?
Because expected points can be compared with real points directly, and expected goals cannot be compared with real goals as safely. Providers calibrate xG differently, and across a whole season a league's total xG can sit 10% or more above the goals actually scored — so subtracting one from the other measures the provider as much as the team.
Does a big gap between points and xPts make a team a good bet?
No. The bookmaker sees the same numbers. A gap describes what has already happened; it is not an edge in what comes next.
How many matches before xPts means anything?
Roughly five before the ordering stops being noise, and most of a season before the gap between points and xPts says anything about a team rather than about variance.