What Is xG in Football? Expected Goals Explained
Expected Goals (xG) is a statistical metric that estimates the probability of an individual shot resulting in a goal. That probability is calculated using the characteristics of the chance and historical data from thousands of similar shots. The higher the xG value, the more likely the shot is to produce a goal, according to the model being used.
Translated with AI assistance. English version reviewed by Gevorg Danielyan. Our editorial standards
Published
Updated
Expected Goals (xG) is a statistical metric that estimates the probability of an individual shot resulting in a goal. That probability is calculated using the characteristics of the chance and historical data from thousands of similar shots. The higher the xG value, the more likely the shot is to produce a goal, according to the model being used.
Imagine a match that ends 1-0. The winning team takes three shots, while the losing side attempts fifteen. Looking at the basic statistics, you might conclude that the losing team was far more active in attack. But the quality of those chances could tell a different story. The winners may have taken all three shots from favorable positions, while most of their opponents' attempts came from long range.
That's where xG becomes useful. It allows us to compare not just how many chances teams create, but how likely those chances are to produce goals.
Still, an xG figure in a match report is not a complete assessment of everything that happened on the pitch. The metric has limitations, and different analytics companies can assign different values to the same shot. Understanding what xG measures, how it is calculated, and what it leaves out is essential to using it properly.
What Does xG Mean, and How Should You Read It?
Every shot receives a value between 0 and 1, indicating how often comparable attempts would result in a goal according to a statistical model.
Consider three hypothetical chances:
0.05 xG: A 5% chance of scoring. This might be a long-range effort from outside the penalty area, taken under difficult conditions. On average, roughly five out of a hundred comparable attempts would produce a goal.
0.25 xG: A 25% chance of scoring. For example, a shot from a reasonably good position inside the penalty area, but with a defender applying pressure.
0.75 xG: A 75% chance of scoring. A close-range attempt at an almost unguarded goal might receive an estimate like this.
These are illustrative examples, not fixed values for particular situations. Even two shots taken from the same position, ten meters from goal, can receive different xG estimates depending on the positions of other players and the model being used.
How Is a Team's Total xG Calculated?
A team's total xG is generally calculated by adding together the probabilities assigned to its individual shots.
The formula is straightforward:
Team xG = xG1 + xG2 + ... + xGn
Suppose a team takes five shots, valued at 0.05, 0.25, 0.75, 0.15, and 0.60 xG. Adding them together produces a total of 1.80 xG.
This is a hypothetical example. Mathematically, 1.80 represents the expected number of goals from that collection of shots under the model. The team might actually score three goals, one goal, or none at all.
A shot worth 0.75 xG is not guaranteed to go in, even if the opportunity looks exceptionally favorable. Likewise, scoring from an attempt worth 0.02 xG does not invalidate the model. Unlikely events still happen.
That is the fundamental difference between expected goals and actual goals. The score records what happened when chances were taken. xG estimates their quality independently of whether each shot ultimately went in.
How Is xG Calculated? Which Factors Matter?
Expected Goals models are built using historical shot data. For each recorded attempt, the dataset contains certain characteristics of the situation and the outcome: whether the shot resulted in a goal.
The model identifies patterns in those observations and uses them to estimate the scoring probability of a new shot with similar characteristics.
The most obvious inputs are distance from goal and shooting angle. An attempt from the center of the penalty area is generally more dangerous than one taken from a similar distance near the goal line. From a tight angle, the shooter has less of the goal to aim at, and the goalkeeper can cover the available space more easily.
But geometry only explains part of the picture.
Depending on the model, other factors may include the body part used to take the shot, the positions of defenders, goalkeeper positioning, and the pressure on the shooter. Some models also examine the action immediately preceding the attempt, such as a through ball, a low cross, a high cross, an individual dribble, or a rebound. The type of attack can matter too, whether the chance comes from a quick transition, sustained possession, or a set piece.
Not every provider uses all these inputs. Some models rely primarily on shot coordinates and event descriptions, while others have access to more detailed information about player positions at the moment of the shot.
Why Two Shots From the Same Position Can Have Different xG Values
Imagine two hypothetical situations. In both, a striker shoots from a central position, eleven meters from goal.
In the first, the goalkeeper is well positioned. Two defenders stand between the shooter and the goal, partially blocking the shooting lane.
In the second, the striker receives a square pass after the goalkeeper has moved away from the goal, and the defenders have failed to recover their positions. Most of the goal is exposed.
A model that only knows the shot coordinates may struggle to capture the full difference between these situations. One with information about the goalkeeper and defenders can assign them substantially different scoring probabilities.
This is why the quality of the underlying data matters just as much as the algorithm.
There is another complication: unusual situations are harder to evaluate. When the training data contains relatively few examples of a particular type of shot, statistical uncertainty increases. Large historical datasets help models identify patterns, but they cannot eliminate measurement errors, differences between competitions, or limitations in the available inputs.
A study by Mattia Cefis and Maurizio Carpita, published in the journal Statistics in its 2025 volume, compared eight statistical and machine learning approaches using a sample of 7,801 shots from Italy's Serie A. The researchers identified proximity to goal, shooting angle, and the shooter's visual angle as particularly influential variables. Performance differed across the algorithms, however. More sophisticated machine learning methods did not automatically outperform statistical alternatives.
Why Is xG Different on Different Websites?
Suppose one website gives a team 1.45 xG and another reports 1.72 for the same match. The teams are the same, and so are the shots. Where does the 0.27 difference come from?
The reason is that xG is not calculated using one universal formula. It is an estimate produced by a particular model using a particular set of data.
Both the underlying observations and the methods used to process them can differ.
For a start, providers train their models on different collections of historical shots. The competitions included, the seasons covered, the proportion of different game situations, and the completeness of the data can all influence the results. Even two models using an identical list of inputs are not guaranteed to produce the same probabilities.
Another significant difference concerns the amount of context available. If one model knows where the goalkeeper and defenders were positioned, while another lacks that information, the estimated danger of certain shots may vary. This can be especially noticeable when the goalkeeper is out of position, defenders are blocking the goal, or players are arranged in an unusual way.
Providers may also record the underlying events differently.
Distinguishing a shot from a cross can sometimes depend on the player's apparent intention. Blocked attempts may require separate classifications. There are also differences in how shot locations, deflections, rebounds, and attempts following set pieces are recorded.
For example, under the official Opta event definitions, an attempt stopped by the last defender before the goal line is classified as a shot on target. Other blocked attempts fall into a separate category. This illustrates how event definitions shape the statistical data available for analysis, although those definitions alone do not explain how Opta calculates xG.
The reliability of event data is an issue regardless of which Expected Goals model is used. In a 2024 study published in PLOS ONE, Jonas Bischofberger and colleagues examined automated football event detection across four datasets. They found that the performance of methods identifying shots and passes depended considerably on the characteristics of the data and how the algorithms were evaluated. The research did not directly compare commercial xG models, but it demonstrates why the quality of the underlying event records matters.
Penalties, Rebounds, and Sequences of Shots
Additional differences arise from the rules used to handle particular situations.
Many models assign penalties a fixed xG value based on historical conversion rates. That value is not necessarily identical across providers. For example, Opta's 2023 technical publication specified 0.79 xG for a penalty, while Wyscout's official data glossary assigns 0.76.
This does not mean that one model is more accurate than the other. The values belong to different methodologies.
Rebounds introduce a more complicated problem. Imagine a striker taking a dangerous shot, the goalkeeper making a save, and a teammate immediately shooting again from close range.
Under standard shot-based accounting, each attempt can receive its own xG value. The total for the sequence can therefore exceed 1, even though a team cannot score more than one goal during a single uninterrupted attacking possession.
Such a total represents the sum of estimated shot probabilities, not the probability that the possession will produce a goal. Wyscout explicitly acknowledges this limitation in its model. Other providers may have additional methods for handling shot sequences, but without documentation, it would be wrong to assume they all use the same approach.
Less obvious factors can also produce discrepancies, including rounding individual shot values, correcting locations after a match, reclassifying an event, or updating the model itself.
For that reason, it generally makes more sense to compare teams using the same data source. If you use Opta for one team and Understat for another, some of the apparent differences may reflect the methodology rather than what happened on the pitch.
Extra caution is needed when comparing individual matches, different competitions, or statistics collected across several seasons, particularly if a provider has changed its model during that period.
Opta vs. StatsBomb vs. Wyscout vs. Understat: How Do Their xG Models Differ?
Some Expected Goals providers collect their own data and develop statistical models. Others simply publish or display figures obtained from external companies. Those are different roles, and the distinction matters when evaluating a data source.
Four widely known systems have published at least some information about how their xG models work.
Opta / Stats Perform
In an Opta Analyst article published on August 8, 2023, the company provided a detailed description of its Expected Goals model.
At that time, the training data included nearly one million shots from 40 competitions across the 2018/19 through 2021/22 seasons. The model used XGBoost and incorporated more than twenty variables.
The documented inputs included shot distance and angle, goalkeeper positioning, the amount of goal available to the shooter, defensive pressure, shot type, and the action preceding the attempt.
Opta placed particular emphasis on goalkeeper positioning. Its model considered the distance between the goalkeeper and the shot location, the goalkeeper's position relative to the possible shot trajectory, and the ability to reach the ball with their hands.
Penalties were assigned a fixed value of 0.79 xG.
The publication date is significant. The article provides a documented account of the version described in 2023, but it does not establish the complete configuration of the model used in 2026.
Hudl StatsBomb
One of StatsBomb's most extensively documented features is its use of freeze-frame data, which captures player positions at the moment a shot is taken.
This information allows the model to assess more than the shot location. It can account for defenders standing between the ball and the goal, how much of the goal is obstructed, and where the goalkeeper is positioned.
In a technical article published on May 16, 2022, StatsBomb described a weakness in an earlier approach: a small movement by a defender across a defined boundary could produce a disproportionately large change in the xG estimate.
The update introduced a smoother way of representing the influence of player positions, including mathematical methods for estimating obstructed areas of the goal. The publication also discussed gradient-boosting models and ways to improve the stability of estimates for unusual shots.
Another notable input is shot impact height, or the height of the ball at the moment of contact. Striking a ball rolling along the ground is not necessarily equivalent to attempting a difficult finish when the ball is in the air.
The current Hudl StatsBomb FAQ confirms that the model uses goalkeeper and defender positions as well as shot impact height. However, the technical details of the 2022 upgrade should not automatically be treated as a complete description of the current model.
Hudl Wyscout
Wyscout provides a specific list of model inputs in its official data glossary.
Its system considers the location of the shot and the pass preceding it, the type of pass, the body part used, whether the shooter dribbled past an outfield player or goalkeeper immediately beforehand, and whether the attempt came from a set piece, counterattack, or transition.
The documented inputs also include an assessment of the shot's dangerousness made by an event-tagging specialist. This means part of the underlying information may depend on human classification.
Wyscout assigns penalties a fixed value of 0.76 xG.
The provider also explicitly states that its documented methodology imposes no additional restrictions on the combined xG of multiple shots within a single possession. A sequence of rebounds and follow-up attempts can therefore theoretically produce a total above 1.
Although StatsBomb and Wyscout both belong to the Hudl ecosystem, their products and published methodologies should not be assumed to be identical.
Understat
Understat publishes its own xG figures for several European leagues, including historical statistics for teams, players, and individual shots.
According to the official Understat website, its model was developed using neural network algorithms trained on more than 100,000 shots, with over ten parameters used for each observation.
However, Understat does not publish a detailed technical specification that would allow outsiders to reproduce its model precisely. The available information is insufficient to establish its complete list of inputs, neural network architecture, or subsequent calibration procedures.
That does not make Understat's statistics useless. It does, however, limit how independently its specific modeling decisions can be examined.
xG Provider Comparison
Provider Model characteristics Notable inputs Publicly documented limitations Opta / Stats Perform XGBoost with over 20 variables, according to its 2023 publication Shot geometry, goalkeeper positioning, defenders, pressure, attack type, preceding action The 2023 description does not guarantee an identical current model; penalties were valued at 0.79 Hudl StatsBomb Contextual model using freeze-frame data; an upgrade was described in 2022 Goalkeeper and defender positions, goal obstruction, shot impact height Full current specifications are not public; historical model characteristics cannot automatically be applied to newer versions Hudl Wyscout Machine learning model trained on historical event data Shot and pass locations, preceding actions, game situation, specialist event assessment No restrictions on summed xG from consecutive shots in a possession; penalties valued at 0.76 Understat Neural network algorithms; more than 100,000 training shots according to its website More than ten parameters, without a complete public list Insufficient technical documentation to reproduce the model
None of these characteristics is enough to declare one provider the most accurate.
A credible comparison would require independent testing on a shared sample of shots, with consistent event definitions. It would also need to evaluate more than average prediction error. Calibration matters too: when a model assigns a group of shots a scoring probability of around 20%, how often do those shots actually result in goals?
FBref deserves a separate clarification. The website historically displayed advanced statistics obtained from an external provider; it did not operate its own independent xG model. On January 20, 2026, Sports Reference announced the removal of that data after losing access to its source. Older recommendations describing FBref as an available xG database therefore need to be reconsidered.
How to Use xG to Analyze Football Matches
The main practical advantage of Expected Goals is that it helps separate the quality of scoring chances from how successfully those chances were converted. That distinction is useful when reviewing a single match or evaluating a team's performance over a season.
The interpretation, however, should begin with the football itself, not just a number.
Match Results vs. Chance Quality
Suppose Team A beats Team B 2-0. The statistics show 0.65 xG for the winners and 2.30 xG for the losing side.
This is a hypothetical example.
The first observation is that Team B's shots carried a much higher combined scoring probability. Perhaps it missed several excellent chances, encountered an outstanding goalkeeper, or made mistakes in front of goal.
But that does not establish that Team B necessarily deserved to win.
The winners might have taken the lead after just ten minutes, deliberately surrendered territory, dropped into a low block, and focused on counterattacks. Much of the opposition's xG may have come after the score reached 2-0, when the two teams were playing under very different circumstances.
Besides, xG does not measure every aspect of defending, possession, or ball progression.
To understand a match like this, it helps to examine when the dangerous chances occurred, how the teams changed their approach after each goal, and which specific situations contributed most to the difference in xG.
Team Form: Why a Run of Matches Matters
One match can give a misleading impression of a team's attacking potential. It might have faced an exceptionally strong opponent, suffered an early red card, or spent most of the game defending.
Over a longer stretch, random fluctuations generally have less influence on the overall picture.
For example, if a team consistently creates approximately 1.7 to 2.0 xG across several consecutive matches but scores significantly fewer goals, its finishing deserves closer examination. Even then, the pattern does not prove that the problem lies exclusively with its forwards.
A practical starting point is to examine six to ten matches, then test the findings against a larger sample. This is a useful initial window for analysis, not a statistically established threshold for reliability.
Comparisons should account for opposition strength, home advantage, injuries and absences, and the state of each match. It also makes sense to examine separately those games in which a team spent extended periods with a numerical advantage or disadvantage.
Trends are particularly revealing. If a team's goal output remains stable while the quality of its chances steadily declines, the goals themselves may be concealing a deterioration in attacking performance.
Attack: Shot Volume vs. Shot Quality
Fifteen shots are not necessarily better than six.
Consider this hypothetical comparison.
Team A takes 12 shots and produces 1.20 xG, an average of 0.10 per attempt.
Team B takes 6 shots and produces 1.50 xG, an average of 0.25 per attempt.
This is where xG per shot becomes useful. It measures the average expected value of an attempt and helps assess how consistently a team gets into favorable shooting positions.
But it should never be interpreted without shot volume. A team that rarely manages to shoot could still have a high average xG per attempt because of one particularly good chance.
A more complete attacking analysis combines the total number of shots, overall xG, xG per shot, and the locations of those attempts on a shot map.
A high xG per shot can also reflect a team's playing style rather than simply the quality of its passing combinations. Some sides deliberately avoid speculative long-range efforts and prioritize working the ball into the penalty area.
Defense: What xGA Tells Us
Defensive performance can be examined using Expected Goals Against (xGA), the total xG generated by opponents against a particular team.
If a defense regularly allows opponents to shoot from central positions close to goal, a high xGA may indicate problems protecting the penalty area.
Conversely, a relatively low xGA over an extended period suggests that opponents are rarely managing to create high-quality shooting opportunities.
Context still matters. A team might deliberately allow long-range attempts while effectively protecting the most dangerous areas.
It is useful to consider not only xGA but also the number of shots conceded, their average quality, their locations, and the circumstances in which they occurred.
For more precise comparisons, excluding penalties from xGA can be helpful, particularly when a handful of spot kicks have significantly altered the numbers across a small sample of matches.
Players: Why Goals and xG Don't Always Match
For individual players, the difference between actual goals and xG often starts a discussion about finishing ability.
If a striker scores 15 goals from 10 xG, they have converted their opportunities more successfully than the model would expect. But that alone does not establish a sustainable individual advantage.
Over a short period, the difference may reflect well-placed shots, goalkeeping errors, or ordinary statistical variation. Some players may genuinely maintain an ability to outperform average expectations over time, but establishing that requires substantial samples and additional evidence.
Opta provides a useful example in its comparison of Alexis Sánchez at Marseille and Rúben Neves at Wolverhampton during the 2022/23 season.
Both players attempted 63 non-penalty shots. Sánchez scored 12 goals from 10.2 xG, while Neves scored 3 from 2.8 xG. According to Opta, much of the difference came from the quality of their shooting positions: Sánchez attempted considerably more shots from dangerous areas.
The example demonstrates why an identical number of shots tells us little about their value. At the same time, comparing players from different leagues does not, by itself, establish that one is a more accomplished finisher.
A proper evaluation of a striker should consider their ability to find good shooting positions, the quality of the service they receive, and how well they execute their shots.
Match Context: Scoreline, Red Cards, and Timing
xG cannot be separated from how a match develops.
At 0-0, both teams may approach the game cautiously. After conceding, one side might begin taking more risks, while the other finds additional space for counterattacks.
A red card can dramatically change the distribution of shots. A late assault on the opposition goal may inflate a team's total xG without necessarily reflecting how it performed for most of the match.
That is why the final xG total is more informative when viewed alongside a timeline of chances.
If a team generates 1.5 xG almost entirely in the final ten minutes, that tells a different story from producing the same 1.5 xG evenly throughout the match.
The overall value is identical, but the tactical explanations may be very different.
What xG Doesn't Tell You
Despite its usefulness, Expected Goals cannot answer every question about a football match.
xG is not the probability of winning. Adding up a team's expected goals does not automatically account for every possible scoreline or translate directly into the probability of winning, drawing, or losing. Estimating match outcome probabilities requires separate models and additional assumptions.
Higher xG does not necessarily mean a team was better throughout the match. A side could have conceded territory, struggled to progress the ball, and created several dangerous chances only after the scoreline changed. Shot quality is not the same thing as an evaluation of all ninety minutes.
xG does not measure attacks that end without a shot. A perfectly weighted through ball intercepted by a defender at the last moment might follow an excellent attacking move, but a conventional shot-based xG model will assign it no expected goals. Other analytical approaches attempt to capture the value of possession and ball progression.
Small samples make conclusions less reliable. A few successful long-range shots can create a substantial gap between goals and xG. That does not necessarily indicate a long-term pattern.
There is another limitation: xG measures the danger of recorded shots, not every decision available to the player. A striker might pass up an excellent opportunity, hold on to the ball too long, and lose possession. That missed opportunity may never appear in the shot statistics at all.
Finally, when interpreting sequences of rebounds, it is necessary to distinguish total shot xG from the probability of scoring during a single possession. Simply adding the values of consecutive shots does not always answer the latter question.
xG vs. npxG, xGA, and Post-Shot xG
Several related metrics often appear alongside conventional xG.
Non-Penalty Expected Goals (npxG) measures expected goals excluding penalties. It helps evaluate the quality of shooting opportunities without the influence of spot kicks and is particularly useful when comparing attacking output across players and teams.
Expected Goals Against (xGA) measures the expected goals generated by a team's opponents. It is used to assess the quality of chances conceded and examine defensive performance.
Post-Shot Expected Goals (PSxG) refers to a separate group of models that use information about the shot after it has been taken. Unlike conventional xG, they incorporate characteristics of the actual execution, such as where the ball is directed relative to the goal.
Opta calls its corresponding metric Expected Goals on Target (xGOT). It applies to shots on target and accounts for both the original danger of the chance and the characteristics of the resulting shot.
An official Stats Perform analysis offers a revealing example. Omar Marmoush's goal for Manchester City against Bournemouth on May 20, 2025, carried an initial value of just 0.02 xG but received 0.63 xGOT after the shot was taken.
A low probability before the attempt did not prevent Marmoush from producing an exceptionally dangerous finish. Differences like these can help analysts examine finishing ability and a goalkeeper's effectiveness at stopping shots.
PSxG and xGOT should not, however, be assumed to use identical calculations across providers.
FAQ: Frequently Asked Questions About xG
Why Is xG Different on Different Websites?
Providers use their own statistical models, training datasets, shot characteristics, and event-recording rules. The same situation can therefore receive different estimates. For comparisons across multiple matches, it is generally better to use one consistent source.
Does Higher xG Mean a Team Deserved to Win?
No. A higher xG total indicates that a team's shots had a greater combined scoring probability according to the model. It does not fully capture tactics, changes in the scoreline, off-ball performance, or other aspects of the match.
Can a Team Score More Goals Than Its xG?
Yes. A team might convert several low-probability shots or finish its chances unusually well. Large differences between goals and xG are particularly common in individual matches or short runs of games.
Is xG More Useful Than Shots on Target?
The two metrics answer different questions. Shots on target record whether attempts were directed at goal, while conventional xG evaluates the quality of the shooting opportunity before execution. Using both provides a more informative picture than relying on either alone.
Can xG Be Used to Compare Players From Different Leagues?
Yes, but with caution. Differences in statistical models, opposition strength, player roles, minutes played, and the proportion of penalties all need to be considered. Comparing raw xG totals without that context can be misleading.
Expected Goals is most useful when it becomes the starting point for analysis rather than the final verdict.
If a team produces 2.4 xG, the next questions should be how those chances were created, where the shots came from, how the opposition defended, and which situations contributed most to the total.
The statistics help us ask more precise questions about a match. Finding the answers still requires looking at what happened on the pitch.