What one xG value represents
Opta's xG explanation describes a provider model that estimates shot conversion from characteristics such as location, angle, body part, assist type and preceding action. Other providers can use different data and model choices. A shot labelled 0.20 xG means that this model assigns a 20% scoring probability to the recorded shot context; it does not mean one goal should appear after five such shots.
From shots to a match total
Match xG is normally the sum of included shot probabilities. If three shots are valued at 0.10, 0.25 and 0.40, their total is 0.10 + 0.25 + 0.40 = 0.75 xG. That sum is an expectation across the modelled shots, not a score prediction and not the probability of scoring at least once.
| Level | Useful reading | Common overreach |
|---|---|---|
| One shot | Estimated chance quality under one model | Calling the attempt objectively good or bad |
| One match | Recorded chance volume and quality | Declaring the result incorrect |
| Many matches | A repeatable chance-creation description | Assuming the next results must reverse |
Provider and data boundaries
StatsBomb's open-data repository exposes shot events, coordinates and model fields for selected competitions, making it possible to inspect one concrete data structure. Coverage, event definitions, freeze-frame context and penalty treatment can differ between datasets. Comparisons should therefore use the same provider, competition coverage and inclusion rules.
How to read an xG comparison
Before interpreting Team A 1.6 xG versus Team B 0.8 xG, check:
- Whether penalties, own goals and shoot-outs are included.
- Whether both totals come from the same provider and model version.
- Whether the question concerns chance creation, finishing, or a future forecast.
- Whether a longer sample changes the conclusion.
A forecast built from xG still needs out-of-sample evaluation. scikit-learn's calibration guidance explains why probability quality is assessed across many future cases rather than from one match.
Worked match interpretation
Suppose Team A records 14 shots worth 1.35 xG and Team B records six shots worth 1.10 xG. The totals do not say Team A "should" have scored 1.35 goals or deserved a particular result. They say that, under that provider's model, Team A's recorded shots carried a larger sum of estimated scoring probabilities.
Inspect the shot list before interpreting the aggregate:
| Check | Why it changes the reading |
|---|---|
| Largest chance | One penalty or close-range chance can dominate the total |
| Shot count | The same xG can come from many low-value shots or few high-value shots |
| Game state | A trailing team may shoot more while the leader protects space |
| Rebounds and sequences | Provider treatment can affect dependence between shots |
| Data version | Model inputs and definitions can change over time |
If Team B's 1.10 consists of one 0.80 chance and five minor attempts, "Team B created one excellent chance" is more informative than "Team B consistently attacked well." If Team A produced repeated central chances, the process evidence is different even when the total is similar.
Comparison checklist
Only compare xG totals when provider, competition coverage, penalty treatment and time period are aligned. Keep the scoreline visible, but do not use it to overwrite the shot information. For prediction, build and test an explicit future-outcome model using lagged xG features; the descriptive total alone is not a forecast.
Related resources
Use how xG models are calculated for model construction or using xG in research for a pre-match workflow.
Continue learning
- Next guide: Football Form Tables
- Related guide: Football Goal Timing
- Definition: Expected Goals (xG)
Assumptions and limitations
xG is provider-specific. Event data may omit off-ball context available to tracking models, and even detailed models cannot encode every tactical or execution factor. Summed xG is descriptive of the modelled shots; it does not establish causation, fairness, or betting value.

