Expected Points (xP) Explained: From xG to Points Per Match
Expected Points (xP) translates per-shot xG into a probabilistic points-per-match figure: how many points a team would have earned, on average, with the chances they created and conceded.
Expected Points (xP) is the per-match equivalent of Expected Goals (xG): instead of asking how many goals a team should have scored, xP asks how many league points they should have taken away. The number is derived by simulating the match outcome thousands of times from the underlying xG distribution, weighting each outcome by points (three for a win, one for a draw, zero for a loss), and averaging the result. Teams whose actual points run well above or below their xP are usually overperforming or underperforming finishing relative to chance quality.
How xP is calculated from xG
The starting point is the shot-by-shot Expected Goals values for both teams in a match. A typical Premier League match might give the home side a total xG of 1.8 and the away side a total xG of 0.9, built from a list of individual shots each with its own xG value. To get from these per-shot values to a match outcome distribution, analysts run a Poisson or Monte Carlo simulation that samples the outcome of each shot (goal or no-goal) thousands of times.
Each simulation run produces a final scoreline: home 2-1, away 2-0, draw 1-1, and so on. After 10,000 runs, the distribution of scorelines tells you the probability of a home win, a draw and an away win. Multiplying each probability by the points value (3 for a win, 1 for a draw, 0 for a loss) and summing gives the expected points for each team. The home side might come out at 2.05 xP against the away side's 0.55 xP, with the gap reflecting the home team's shot superiority but also the inherent randomness in any individual shot conversion.
xP is not "points the team deserved". It is "points the team would have taken on average, given the chances created, if every shot converted at its xG value across many imagined replays".
Why xP is more useful than league-table position
The Premier League table after 10 matches is a noisy signal. A team that has scored from two long-range deflections and conceded zero penalty kicks despite giving away three big chances is sitting on points that the underlying play does not support. xP cuts through that noise by reporting what the team's chance creation and concession actually looked like, independent of the specific shots that went in and the specific saves that the goalkeeper made.
The Athletic, Opta Analyst and the public xG sites (Understat, FBref) all publish xP tables that re-rank the league by underlying performance. The gap between league-table position and xP-table position is the cleanest single signal of regression-to-the-mean risk: a team sitting in the top four but ranked tenth on xP is overperforming and likely to drop down the table; a team in the bottom half but ranked top six on xP is creating top-six chances and likely to climb. The gap rarely persists across a full 38-match season, which is why xP is more useful as an early-season indicator than as a late-season verdict.
Single-match xP vs season xP
Single-match xP is volatile. The xG model gives every shot a probability, and any individual shot will either convert or not. A team that creates 2.5 xG against a team that creates 0.8 xG will still lose the match perhaps 12% of the time in the underlying simulation, simply because shot-by-shot outcomes are probabilistic. The single-match gap between actual points and xP is therefore not a reliable indictment of finishing or goalkeeping; it usually takes 8-10 matches before the gap settles into something meaningful.
Season-long xP is far more stable. By match 20, the cumulative xP and the cumulative actual points usually agree to within 4-5 points for most teams. Outliers in either direction (Brentford in 2022-23 outperforming xP by 8 points; Tottenham in 2023-24 underperforming xP by 6) tend to attract attention because they are unusual. A team running 10+ points above or below xP over a full season is either benefiting from elite finishing, elite goalkeeping or shot-quality factors the xG model is failing to capture (set-piece routines, in particular, are an area where modern xG models still understate strong teams).
Calibration: does xP actually predict points?
A well-calibrated xP model should produce season-end points totals that match actual points totals within a few points across the whole league. The Opta Analyst team have published calibration plots showing that for the Premier League since 2017-18, the league-wide aggregate gap between cumulative xP and cumulative actual points at the end of the season is typically under 20 points across all 20 clubs, or roughly one point per team. Individual teams swing further, but the league-wide totals agree closely.
Calibration is harder for set-piece-heavy teams and for teams with elite finishers. Erling Haaland's shot conversion at City has run consistently above the open-play xG model for the 2022-23 and 2023-24 seasons, and the model also tends to understate teams that score a disproportionate share of goals from corners. StatsBomb's post-shot xG model (which conditions on where the shot ends up rather than where it was taken from) closes much of this gap, which is why most modern xP publications now lean on post-shot xG for the conversion step rather than the pre-shot version.
- Pre-shot xG. Probability a shot becomes a goal based on location, body part and assist type. Used as the input to xP.
- Monte Carlo simulation. 10,000+ samples of the shot-by-shot outcome distribution produce a match scoreline distribution.
- Outcome weighting. P(win) x 3 + P(draw) x 1 + P(loss) x 0 = expected points.
- Season xP. Cumulative match-by-match xP. Stabilises around match 15-20 and is a strong predictor of final-table position.
Where xP breaks down
xP assumes the xG model is well-calibrated for the population of teams being simulated. That assumption is robust at Premier League and top-five-league level, where every team plays at high enough quality for the open-play model to reflect their shots accurately. It breaks down at lower league levels, where shot quality is more variable, set-pieces account for a higher share of goals, and the xG models are typically trained on top-flight data that does not match the lower-league context.
xP also makes no allowance for game state. A team that creates 2.0 xG against a team with 1.5 xG, but where the 1.5 xG was created in the last 15 minutes of a match the team was already 2-0 down, is generating "garbage time" chances that would never have existed in a level match. Some advanced xP implementations re-weight chances by game state to address this, but the public tables on Understat and FBref do not. The practical takeaway is that single-match xP is a noisy signal; season xP across 25+ matches is a strong signal that beats most other public predictive metrics.
Frequently asked questions
- What is xP in football?
- xP (Expected Points) is the per-match equivalent of xG. It translates the shot-by-shot xG values for both teams into a probability distribution over match outcomes (win, draw, loss), and then weights each outcome by its points value (3, 1, 0) to produce an average expected points figure. xP is most useful as a season-long indicator of whether a team's actual points are sustainable.
- How is xP calculated?
- A Monte Carlo simulation samples each shot's outcome thousands of times from its xG probability, producing a distribution of final scorelines. From that distribution, the probability of a home win, draw and away win are calculated. xP is then the weighted sum: P(win) x 3 + P(draw) x 1 + P(loss) x 0. The home team's xP and the away team's xP always sum to less than 3.
- Is xP a good predictor of league position?
- Yes, but only over a sufficient sample size. By match 20 of a Premier League season, cumulative xP usually agrees with actual points within 4-5 points for most teams. Single-match xP is volatile and not predictive on its own. Teams whose actual points run well above or below xP over a full season are typically beneficiaries (or victims) of elite finishing or set-piece performance the open-play model misses.
- What is the difference between xG and xP?
- xG is the expected goals from a single shot or accumulated across a match: a probability of scoring on each shot. xP is the expected points from a match: a probability of winning, drawing or losing weighted by points value. xG is the input; xP is the output. A 3.0 xG match against a 0.5 xG opponent produces a high xP (around 2.5); a 1.2 xG match against a 1.2 xG opponent produces an xP close to 1.5.
- Where can I see xP tables for the Premier League?
- Understat and FBref both publish public xP tables for the Premier League, La Liga, Serie A, Bundesliga and Ligue 1, updated after every matchday. The Athletic and Opta Analyst publish editorial xP coverage during the season. StatsBomb publish more detailed xP analysis to subscribers, including game-state-adjusted xP and set-piece-decomposed xP for the top European leagues.
References
- Opta Analyst: Expected Points explained — Opta Analyst
- Understat: xG and xP tables for top European leagues — Understat
- FBref: expected goals model documentation — FBref / Sports Reference
- StatsBomb: xG models and xP calibration — StatsBomb
- The Athletic: Premier League xP tables and table-vs-xP gap — The Athletic
Part of pillar
Data and Systems
See every article in this knowledge pillar →
Related
Reviewed by a KiqIQ editor before publication. Spotted an error? Email editor@kiqiq.com — we follow our Corrections Policy.