29.08.2026

How Is xG Calculated in Football?

0

Expected goals, or xG, estimates how likely a shot is to become a goal. Learn how football data providers build xG models, which factors matter, and why different models can produce different values.

article-featured-192

Expected goals, usually written as xG, measures the quality of a football scoring chance. An xG value represents the probability that a particular shot will result in a goal, based on thousands or millions of comparable chances from historical match data.

For example, a shot valued at 0.20 xG means that similar attempts have been scored roughly 20% of the time. It does not mean the player is expected to score exactly 0.20 goals from that attempt, and it does not predict the final score on its own.

What factors are used to calculate xG?

An xG model examines information available at the moment of the shot. The exact inputs vary between data companies, but most models consider several core features:

  • Shot location: Attempts from close to the centre of the penalty area usually have a higher scoring probability than shots from distance or tight angles.
  • Angle to the goal: A shot directly in front of goal is generally more dangerous than one taken near the byline.
  • Shot type: The model may distinguish between a footed attempt, header, volley, bicycle kick, or other type of finish.
  • Assist or preceding action: A through ball, cross, cutback, set piece, rebound, or pass may indicate different levels of chance quality.
  • Situation: Open-play shots, penalties, corners, free kicks, and fast breaks tend to have different scoring rates.
  • Defensive pressure: Some advanced models include the number and position of defenders, as well as whether the shooter had time to control the ball.
  • Goalkeeper position: Models with detailed tracking data can account for where the goalkeeper is positioned when the shot is taken.

Penalty kicks are normally assigned a high and relatively consistent xG value because they are taken from a fixed distance with no outfield defenders between the taker and the goal. A tap-in near the goal may also receive a high value, while a speculative attempt from outside the box usually receives a low one.

How an xG model is built

Analysts begin with a large historical database of shots. Each record contains the characteristics of the attempt and the outcome: goal or no goal. The model then looks for relationships between those characteristics and scoring probability.

A simple statistical model might use logistic regression. It estimates the chance of a goal from variables such as shot distance, shooting angle, body part, and match situation. More complex systems can use machine learning methods, including decision trees or neural networks, to identify non-linear patterns in the data.

After training, the model is tested on shots it has not previously seen. If chances with a predicted value of 0.10 produce goals close to 10% of the time across a large sample, the model is reasonably well calibrated. Providers may also update their models as more event and tracking data becomes available.

The basic calculation can be expressed as:

xG for a shot = estimated probability that the shot becomes a goal

Team xG is calculated by adding the xG values of all shots taken by that team. If a side has chances worth 0.05, 0.20, and 0.40 xG, its total for the match is 0.65 xG.

Why xG values differ between data providers

There is no single universal xG formula. Different providers use different shot databases, definitions, inputs, and modelling techniques. One system may only use event data, while another may include defensive pressure, goalkeeper placement, or the movement of players before the shot.

Data quality also affects the result. A provider that records whether a shot was assisted by a cross, cutback, or through ball can make more detailed distinctions than a model with only basic location and shot-type information. As a result, the same attempt might receive 0.12 xG from one provider and 0.18 from another without either calculation being automatically incorrect.

For comparisons across several matches, it is best to use the same provider consistently rather than treating figures from different models as identical.

What xG can and cannot tell you

xG is useful for separating chance quality from the final score. A team can lose despite creating better opportunities, or win after scoring from a low-probability attempt. Over many matches, xG can help identify attacking output, defensive weakness, finishing performance, and whether results appear sustainable.

It is not a record of how many goals a team deserved, and it does not measure every part of an attack. Ball retention, pressing, movement before the final pass, and the value of creating space may not be fully captured by a shot-based model. A team can also produce a high xG total through several modest chances without creating one clear opportunity.

Player finishing can make actual goals differ from expected goals, but small samples are noisy. A striker who scores far above their xG over five matches may be finishing exceptionally well, benefiting from deflections, or simply experiencing normal variation. Larger samples provide a more reliable basis for assessing finishing and chance creation.

How to read xG in a match report

Compare both the total xG and the shot profile. A team with 1.50 xG from 15 attempts created more expected scoring value than a team with 0.60 xG from 15 attempts, but the totals do not explain how those chances were created.

It is also useful to separate:

  • Chance creation: How much and what quality of opportunity a team produces.
  • Finishing: How many goals are scored compared with the xG of the shots.
  • Defensive performance: How much xG a team allows to its opponents.
  • Game state: Whether a team was leading, level, or behind, since tactics often change with the score.

Used alongside shot locations, match context, team news, and performance over a suitable sample, xG offers a clearer view of attacking and defensive quality than the scoreline alone.

Leave a Reply

Your email address will not be published. Required fields are marked *