Key takeaways
- Read xG as the probability that a shot is scored, estimated from many similar past shots — and a team's xG as the sum of those probabilities.
- Do not treat a match xG total as the result the game should have had; Opta itself says it measures chance quality, not the expected outcome.
- Compare xG figures only within one provider's model, because each model uses different data and variables.
- Be slow to call a player a great or poor finisher from goals minus xG: the gap is noisy over small samples and models can carry built-in biases.
- Use xGOT for what happened after the shot and xGA for the chances a team allows; each answers a different question from plain xG.
Expected goals (xG) is the probability that a shot will be scored, estimated from how often similar shots were scored in the past. Each shot gets a value between 0 and 1; add them up and you get a team's or a player's xG for a match or a season — the number of goals those chances would produce, on average, for an average finisher. In soccer (association football), where goals are rare, that makes xG a way to describe how good a team's chances were without waiting for the ball to go in.
What it is not is a forecast of the result. Opta's own explainer puts it directly: xG "is only measuring chance quality and not the expected outcome of the game".
From one shot to a number
An xG model is trained on a large set of past shots, each labelled goal or no goal, and learns how the circumstances of a shot change the chance of scoring. In a 2023 PLOS ONE study, Mead, O'Hare and McMenemy list the usual approaches — logistic regression, gradient boosting, neural networks, support vector machines and tree-based classifiers — and identify the predominant inputs as distance, angle and shot type. Their own dataset, a full season of top-five-league event data, had roughly one goal for every tenth shot, which is the base rate every model starts from.
Commercial models add more context. Opta describes a gradient-boosting model ("XGBoost") trained on nearly one million shots from 40 competitions between 2018-19 and 2021-22, weighing more than 20 variables, among them:
- distance and angle to goal;
- the goalkeeper's position;
- how clear the shooter's view of the goal is, given other players' positions;
- pressure from defenders;
- shot type — which foot, a header, a volley, a one-on-one;
- pattern of play — open play, fast break, free kick, corner, throw-in;
- the previous action, such as a through ball or a cross.
Penalties are handled separately: Opta gives every penalty a constant 0.79 xG, reflecting historical conversion.
What the "formula" looks like
There is no single xG formula, because each provider trains its own model and few publish the fitted weights. The simplest common form, logistic regression, looks like this:
P(goal) = 1 / (1 + e^−(b₀ + b₁·distance + b₂·angle + b₃·header + …))
The model learns the weights b₀, b₁ and so on from historical shots; the logistic function squeezes the total into a probability between 0 and 1. A tree-based model such as gradient boosting replaces the weighted sum with many small decision rules, but the output means the same thing: the share of similar shots that went in.
A worked example: adding up a match
Assume two teams take the following shots. The values are invented for illustration, except the penalty, which uses Opta's constant.
| Team A shots | xG | Team B shots | xG |
|---|---|---|---|
| Penalty | 0.79 | Close-range finish after a cut-back | 0.60 |
| One-on-one with the goalkeeper | 0.35 | Four shots from outside the area, 0.04 each | 0.16 |
| Header from a corner | 0.30 | ||
| Three long-range efforts, 0.03 each | 0.09 | ||
| Total | 1.53 | Total | 0.76 |
Team A created about twice Team B's xG. Now treat every shot as an independent event with the probability shown — a simplification, since shots in a match are not truly independent. On those assumptions:
- Team A fails to score at all about 9% of the time (0.21 × 0.65 × 0.70 × 0.97³ ≈ 0.087);
- Team B scores at least once about 66% of the time (1 − 0.40 × 0.96⁴ ≈ 0.660);
- combining the two, Team A wins about 60% of the time, draws about 30% and loses about 10%.
So the side with twice the chances fails to win roughly four times in ten. That is not a flaw in xG; it is what probabilities do over a handful of events. Understanding probability in sports simulations walks through the same independence logic in a game setting.
Expected goals against actual goals
The gap between a player's goals and their xG is a popular way to talk about finishing. It is also easy to over-read.
Davis and Robberechts, in a paper on finishing ability, argue three things. The gap between actual and expected goals is a weak measure on its own because shot outcomes vary a great deal and samples are small. Sustained overperformance requires both a high volume of shots and exceptional finishing. And standard models carry a persistent bias that makes actual and expected goals look closer for excellent finishers than they really are — so the best finishers can be underrated rather than flattered. Their proposed fix borrows a calibration technique from AI fairness research.
Opta adds a caution about the opposite mistake: a team that has outscored its xG does not then have to underperform to "even out". Assuming it must is the gambler's fallacy; future shots carry their own probabilities.
The variants: xGOT, xGA and xA
Expected goals on target (xGOT) is a post-shot model. According to Stats Perform, it is built from on-target shots only and combines the original xG with where the shot ended up in the goal mouth, crediting shots towards the corners more than shots down the middle. Comparing goals conceded with the xGOT a goalkeeper faced gives "goals prevented", a way to judge a keeper that clean sheets cannot provide.
Expected goals against (xGA) is the same idea from the defending side: the probability of conceding from the shots the opponent takes. In a case study of one French Ligue 2 team across 71 matches, Barthelemy and colleagues found average xGA was significantly lower in wins than in losses (0.70 against 1.24). It is a comparison of averages for one team — an association, not proof of cause — and the authors list the team's second-division level among the study's limitations.
Expected assists (xA) values passes rather than shots. Opta defines it as the likelihood that a given pass becomes a goal assist, credited whether or not the receiver actually shoots — so it belongs with the passing statistics more than with shooting.
What xG cannot tell you
- Which team deserved to win. The match total is a sum of probabilities, not a verdict.
- Finishing skill over a short run. Davis and Robberechts report that only about 9% of players who shoot in the big five European leagues take more than 50 shots in a season, too few for goals minus xG to separate skill from luck.
- Anything the model was not given. A model without goalkeeper position or defensive pressure treats very different shots alike, and Mead and colleagues note that models built only on distance, angle and shot type tend to predict poorly for both above- and below-average teams.
- Comparisons across providers. Two models can price the same shot differently. Compare like with like.
- Why the shots happened. xG records the chances, not the reasons: a team that sat deep after taking the lead and a team that was simply outplayed can post similar numbers. The scoreline still decides everything that counts, as goal difference and tiebreakers shows.
Chances, shapes and simulations
Chance quality is shaped long before the shot. The guide to soccer formations explains how a shape decides who arrives in the box, and how sports simulation engines work shows how a game turns situations into weighted outcomes — the same family of idea as xG.
Pro Football GM Club Soccer drafts an XI position by position and simulates a season reported in wins, draws and losses; those results come from the game's own rules and are not forecasts of real matches. Football Career Soccer XI Sim puts one fictional player in key match moments where the choice to shoot is weighed by attributes, position, energy, morale and the match situation. Neither game is affiliated with any league or data provider, and nothing here is a prediction of any kind. Our soccer hub links the rest of the analytics and rules series, and both games sit in sports career and GM games.
Good to know
Frequently asked questions
What is expected goals (xG)?
How is xG calculated?
Why can a team with more xG lose a match?
What is the difference between xG and xGOT?
Does scoring more goals than your xG prove you are a good finisher?
Sources
- What Is Expected Goals (xG)? (opens in a new tab)Opta Analyst (Stats Perform) — accessed
- Introducing Expected Goals on Target (xGOT) (opens in a new tab)Stats Perform — accessed
- Expected goals in football: Improving model performance and demonstrating value (Mead, O'Hare and McMenemy, 2023) (opens in a new tab)PLOS ONE — accessed
- Biases in Expected Goals Models Confound Finishing Ability (Davis and Robberechts) (opens in a new tab)arXiv — accessed
- What Are Expected Assists (xA)? (opens in a new tab)Opta Analyst (Stats Perform) — accessed
- Impact of Technical-Tactical and Physical Performance on the Match Outcome in Professional Soccer: A Case Study (Barthelemy et al., 2024) (opens in a new tab)Journal of Human Kinetics, via PubMed Central — accessed
League, team and athlete names appear here only to identify the rules, records and history being discussed. Reign Creative LLC's sports games are not affiliated with, endorsed by or licensed by any league, team, players' association or athlete, and all names and marks belong to their owners.
About the author
Reign Creative LLC — The independent app studio that builds the apps covered on this site and publishes every article here. On Google Play it publishes as Reign Collective Apps.
We use AI tools to help research, draft and edit our articles. Each article lists the sources its factual claims rely on, and details about our apps come from their live Google Play listings. No article on this site has been reviewed by an independent expert unless the reviewer is named on it.
No person at Reign Creative LLC has read this article in full. It was published after automated checks and an AI editorial review, which are described in our editorial policy and are not the same as a person reading every sentence.
Spotted an error? Tell us — how corrections are handled is set out in our editorial policy.