Expected Goals (xG) Explained — And Its Four Real Limitations
xG is the best single predictor of future football results that is publicly available. It is also routinely misread. Here is what the number measures, what it cannot see, and how to use it without fooling yourself.
Expected goals is the probability that a given shot becomes a goal, based on how similar shots have historically finished. A shot worth 0.35 xG would be scored roughly 35 times out of 100. Sum every shot a team takes and you get a match xG — a measure of chance quality that predicts future results considerably better than the actual scoreline does.
What goes into the number
An xG model is a classifier trained on hundreds of thousands of historical shots. The features that carry most of the weight are consistent across providers:
- Distance to goal — dominant. Chance of scoring falls away sharply with range.
- Angle to goal — how much of the goal mouth is actually visible.
- Body part — headers convert worse than feet from the same spot.
- Assist type — a through ball leaves a different defensive shape than a cross.
- Play pattern — open play, set piece, counter-attack, rebound.
- Defensive pressure — in providers that track defender positions.
Note what is absent: who took the shot. Most public xG is deliberately player-agnostic, so it measures the chance, not the finisher. That is a design choice, and it is the source of half the arguments about xG.
Why xG predicts better than goals
Goals are a small sample of a noisy process. A team can play well and lose 1-0 to a deflection; over ten matches, those swings are large. Chance quality is a much bigger sample — a team takes a dozen or more shots per match — so it is far more stable from week to week.
The practical consequence: a team badly outperforming its xG is usually about to regress, and a team underperforming it is usually about to improve. That gap is one of the more reliable signals available in football analytics, and it is why xG belongs in any prediction model.
The four limitations that matter
1. It ignores who is shooting
An elite finisher genuinely converts better than a defender from the same position. Player-agnostic xG treats them identically. Over a season the difference between the best and worst finishers in a league is real, if smaller than most fans assume.
2. It ignores what did not happen
A team that patiently works four passes into the box and takes a 0.3 xG shot gets credit. A team that has a killer pass cut out and never shoots gets nothing. xG measures shots, so it undervalues sides that create dangerous situations without completing them, and overvalues sides that shoot from anywhere.
3. Game state distorts it
A team 2-0 up drops deep and stops attacking. Its second-half xG collapses — not because it got worse, but because it stopped trying to score. Raw match xG without adjusting for the scoreline systematically underrates leading teams and flatters the ones chasing.
4. Providers disagree
Different xG models on the same match routinely differ by a few tenths of a goal. There is no single canonical xG. Mixing numbers from two providers in one analysis is a mistake people make constantly.
How to actually use it
| Do | Do not |
|---|---|
| Use rolling xG over 8–10 matches | Read a single match's xG as a verdict |
| Separate xG for and xG against | Look only at the difference |
| Adjust for game state where you can | Compare a leading team's raw xG to a chasing one's |
| Stay with one provider | Mix sources in a single comparison |
| Treat a large goals-minus-xG gap as a regression signal | Treat it as proof of luck or of clinical finishing |
Where it fits in a prediction model
xG is an input, not an output. In a working system it feeds the attacking and defensive rate estimates that the scoreline model consumes, usually as a rolling, game-state-adjusted, opponent-adjusted figure rather than a raw season total. It is one of the strongest features available — and still only one feature among many.
Every Prodict match page shows the xG picture alongside form and head-to-head; see any fixture from today's predictions.
Related: Poisson vs machine learning.
Prodict Analytics Team
AI Data & Prediction Engineers
This analysis is produced by Prodict's core artificial intelligence model. By processing millions of historical and real-time football data points, the model detects value bets and algorithmic edges independently of human bias.