Goals vs Expected Goals
Goals count what actually went in. Expected goals, or xG, estimate how many goals a set of shots would typically produce, by assigning each shot a scoring probability from historical shots with similar characteristics. Goals are the result; xG is a measure of chance quality that is more stable and predicts future scoring better over short samples.
What each measures
Goals. A count of what happened. Unambiguous, decisive for results, and extremely noisy as a measure of performance over a handful of matches. A team can out-create its opponent heavily and lose, and over ten games that happens often enough to mislead.
Expected goals. A model output. Each shot is assigned a probability of being scored based on features of comparable historical shots: distance, angle, body part, whether it followed a cross or a rebound, the type of possession that created it, and in some models the position of defenders and the goalkeeper. Summing those probabilities across a team's shots gives its xG for the match.
So xG answers a different question. Not how many went in, but how many a typical finisher would have scored from those situations.
Related measures. Expected assists apply the same idea to the pass creating a shot. Post-shot expected goals, sometimes called expected goals on target, score shots using the position and quality of the shot after it is struck, which separates goalkeeping and finishing from chance creation.
Where the numbers come from
Providers such as Opta, StatsBomb, and public sites including Understat publish xG from their own models trained on their own event data. Because features and training data differ, two providers can report meaningfully different xG for the same match. Never mix providers within one dataset, and record which model produced each value.
Reading the difference
Stability. xG varies less between matches than goals, because it aggregates many small probabilities instead of a handful of binary events. That makes it more useful for judging whether a recent run reflects performance or variance.
Prediction. For forecasting future goals over the next stretch of matches, past xG generally outperforms past goals. This is the main empirical argument for the metric.
Regression. A team scoring far above its xG usually regresses toward it, and the same applies in the other direction. Persistent overperformance across very large samples is the case where a genuine finishing skill argument becomes plausible.
What xG misses. Everything that is not a shot: chances created and refused, defensive actions that prevent shots entirely, set-piece routines that produce advantage without a shot, and game state effects where a leading team deliberately stops attacking.
Sample size. Single-match xG is close to anecdote. It becomes informative over a run of matches, and player-level shot samples take longer still.
Context. A team trailing late takes low-quality shots because it must. Raw xG treats those the same as a first-minute chance, which is why game state adjustments exist.
This page describes what the metrics measure and is not betting advice.
| Dimension | Goals | Expected goals |
|---|---|---|
| What it is | Count of actual outcomes | Model estimate of chance quality |
| Source | Official result data | A provider's trained model |
| Variance over small samples | High | Lower |
| Predicts future goals | Weaker | Stronger |
| Comparable across providers | Yes | No |
| Captures non-shot play | No | No |
| Best use | Results and settlement | Performance and forecasting |
Frequently asked questions
- What is the difference between goals and expected goals?
- Goals count what actually happened. Expected goals estimate how many goals a set of shots would typically produce, assigning each shot a scoring probability based on comparable historical shots. Goals decide results; expected goals measure chance quality and are more stable over short samples.
- Is expected goals better than goals?
- For judging performance and forecasting future scoring over short samples, past expected goals generally predict better than past goals because they are less noisy. For results, settlement, and league tables, only goals matter. They answer different questions rather than one replacing the other.
- Why do expected goals values differ between providers?
- Because each provider trains its own model on its own event data with different features, such as defender positions or possession type. The same match can therefore carry meaningfully different values. Datasets should never mix providers, and each value should record which model produced it.
- What does expected goals not capture?
- Anything that is not a shot: chances created but not taken, defensive work that prevents shots, and advantage built without a shot. It also ignores game state unless adjusted, so shots taken by a trailing team late are treated like any other.