If you watch football with the sound on these days, you will hear it: "That was a 0.8 chance." "They lost the xG battle." "On the numbers, they should have won." Expected goals — xG — has gone from a niche analytics term to something a commentator says out loud on a Saturday. But the more casually the number gets thrown around, the more its actual meaning gets lost.
So let's slow down and answer the plain question: what does xG actually measure? Not what people wish it measured — the thing the number is really counting.
The one thing xG measures: chance quality
Expected goals is a measure of chance quality, expressed as a probability. That's it. Every shot in a match is assigned a number between 0 and 1 that answers a single question: how often does a shot taken from this situation get scored?
A shot with an xG of 0.10 is the kind of chance that gets buried roughly one time in ten. A tap-in from two yards with the keeper stranded might carry an xG of 0.90 — score it nine times out of ten. The number is not a verdict on the player who took the shot, and it is not a prediction of that specific attempt. It is a historical average: across the huge database of past shots that looked like this one, this is the share that ended up in the net.
That framing matters, because it tells you what xG is *not*. It is not a measure of how good the finish was, how much a team "deserved" anything, or what will happen next. It is a quality score for the chance itself, calibrated against thousands of similar chances that came before.
What the model looks at
An xG model turns each shot into a short list of features and asks how often shots with those features are scored. The core inputs are geometric and situational:
- **Distance to goal.** The single strongest factor. Closer shots score far more often. - **Angle to goal.** A shot from a tight angle near the byline sees very little net; a central chance sees the whole goal. - **Body part and shot type.** Headers convert less often than shots with the foot from the same spot. A first-time volley differs from a settled shot. - **The build-up.** Whether the chance came from open play, a through-ball, a cross, a rebound, a set piece, or a fast break. A chance created by a defence-splitting assist tends to be higher quality than one worked up in a crowd. - **Pressure and context.** Better models add whether a defender was closing down, whether the keeper was set, and where the nearest bodies stood.
Feed those features in, and the model returns the probability. A well-built model is *calibrated*: gather every chance it rated at 0.30, and close to 30% of them should have been scored. That calibration is the whole game — it is what separates a real xG model from a number someone made up.
One thing the standard model deliberately ignores is who is shooting. Baseline xG treats every player as league-average on purpose, so the number describes the *chance*, not the finisher. Separating chance quality from finishing skill is a feature, not a bug — mixing them would tell you less, not more.
Why xG ≠ goals in a single match
Here is where most arguments go wrong. In any one match, xG and the scoreline routinely disagree, and that is completely normal.
Say a team racks up 2.5 xG from a flurry of half-decent chances and scores once. The other side manufactures a single 0.4 chance and takes it. Final xG something like 2.5 to 0.4; final score 1–1 (illustrative example, not a real match). Did the model fail? No. A pile of 0.2 and 0.3 chances is *supposed* to be missed most of the time — that is exactly what those numbers say. Scoring only one of them is an ordinary outcome, not an upset.
A single game is a tiny sample with a lot of luck baked in. Finishing runs hot and cold, keepers make one-off saves, the ball hits a shin and loops in. xG is an average, and averages don't promise to show up on any given afternoon. Expecting xG to match the score in one match is like expecting ten coin flips to land exactly five heads — it happens, but missing it proves nothing.
Why it converges over the season
Zoom out, though, and the noise starts to cancel. Over 20, 30, 38 matches, the lucky bounces and cold spells wash out in both directions, and a team's goals scored and conceded tend to drift toward their accumulated xG. This is why analysts trust the number over a season far more than over a weekend.
That convergence also makes xG an early-warning signal. A side winning while being badly out-chanced on xG is often riding variance that won't last; a side losing narrowly while creating the better chances is frequently a step from turning results around. The scoreboard tells you what happened. xG hints at what the underlying process was more likely to produce — and processes, unlike single results, repeat.
How xG feeds forecasting models
For a forecasting model, this is the appeal. Raw results are noisy and scarce — a season is only a few dozen games. xG gives a richer, steadier read on how good a team is at creating and preventing chances, using every shot rather than only the handful that scored.
A model can turn accumulated xG for and against into an estimate of a team's attacking and defensive strength, then use those strengths to build a probability distribution over the next match — how likely each scoreline is, and from there the chances of a home win, draw, or away win. Because xG stabilizes faster than goals, a model built on it usually reaches a sensible read on a team sooner than one waiting for results to pile up. That doesn't make the forecast right, but it gives it a steadier foundation than the scoreline alone.
The misconceptions worth dropping
A few myths cause most of the confusion:
- **"Higher xG means they should have won."** No. xG measures chance quality, not entitlement to a result. A team can out-xG an opponent and deserve nothing more than a reminder that chances still have to be taken. - **"A missed big chance means the model was wrong."** A 0.75 chance is missed one time in four. A single miss is the number behaving normally, not breaking. - **"xG rates the finish."** Baseline xG ignores who shot and how cleanly. Whether a strike was world-class or scuffed, an identical situation gets an identical xG. - **"One number settles the argument."** xG is one lens. It says nothing about tactics, red cards, or whether a side was game-managing a lead. Read it alongside the story, not instead of it.
The bottom line
Expected goals measures one specific, useful thing: the quality of the chances in a match, scored as probabilities and calibrated against history. It is not a prediction of a single shot, not a claim about who deserved to win, and not a rating of anyone's finishing. Treat it as a sharper description of the underlying process — noisy over one game, telling over a season, and a steadier input for any model trying to forecast the next one.
We put that discipline to a public test. NeuPortal locks each forecast before kickoff, timestamps it into Bitcoin so nothing can be backdated, and scores it against prediction markets in the open — losses on the board included. You can watch the whole scoreboard at neuportal.ai/experiment.
*Educational content — not financial advice, and not a betting tip.*