Calculate simplified expected goals (xG) based on shot distance, angle, body part, and assist type. Understand what xG means and how it measures shot quality in soccer.
Expected Goals (xG) is the most important metric in modern soccer analytics. It measures the quality of a goal-scoring chance based on factors like shot distance, angle to goal, body part used, and how the chance was created. Each shot is assigned an xG value between 0 and 1, representing the probability that an average shot from that situation would result in a goal. A penalty is typically worth about 0.76 xG, while a 30-yard speculative effort might be worth just 0.03 xG.
Our simplified xG Calculator lets you estimate the expected goals value of any shot by entering key parameters. While professional xG models use machine learning trained on hundreds of thousands of shots, this calculator uses a transparent logistic-regression-style model based on the core factors that drive xG: distance, angle, body part, assist type, and game state. The results are educational approximations designed to help you understand how xG works.
Whether you're an amateur coach analysing your team's shot quality, a fantasy football player evaluating strikers, or a tactics enthusiast exploring why some teams consistently outperform their goal tally, understanding xG is essential for modern football analysis.
xG separates shot quality from finishing luck. A team scoring 3 goals from 0.8 xG is overperforming; a team scoring 0 from 2.5 xG is unlucky. Over time, xG strongly predicts future goal-scoring better than actual goals. This calculator helps you build intuition for shot quality and appreciate the analytics behind modern football.
Simplified xG ≈ 1 / (1 + e^(−z)), where z = β0 + β1×distance + β2×angle + β3×bodyPart + β4×assistType + β5×situation. Base coefficients: β0 = 1.10, β1 = −0.10/metre, β2 = 0.015/degree. Adjustments: header −0.15, weak foot −0.05, through ball +0.20, cross −0.10, one-on-one +0.50, rebound +0.30, penalty xG ≈ 0.76 (fixed). Real xG models use ML with 50+ features.
Result: xG: 0.18
A right-foot shot from 12 metres with a 40° angle to goal, created by a through ball. Base z = 1.10 − (0.10 × 12) + (0.015 × 40) + 0.20 (through ball) = 1.10 − 1.20 + 0.60 + 0.20 = 0.70. xG = 1/(1+e^(−0.70)) ≈ 0.67. This is a good-quality chance — you would expect roughly 2 goals from 3 such chances.
Expected goals entered mainstream football discourse around 2015–2017, though academic models existed from the early 2010s. Clubs like Brentford, Brighton, and Midtjylland adopted xG-based analysis early and outperformed their payrolls, validating the metric's practical value. Today, nearly every major club, broadcaster, and analyst uses xG as a fundamental tool.
Basic xG models use only shot distance and angle (explaining ~60–70% of variance). Intermediate models add body part, assist type, and game state. Advanced models incorporate tracking data: defender positions, goalkeeper location, shot speed, and expected completion probability of the assist. The most sophisticated models use gradient-boosted trees or neural networks trained on millions of shots.
Coaches use xG to evaluate attacking performance independent of finishing variance. Scout departments use player-level xG to identify strikers who create high-quality chances. Fantasy managers use xG to find players whose underlying numbers suggest they'll score more goals in the future. Betting markets incorporate xG heavily into their models for match projections.
xG assigns each shot a value between 0 and 1 representing the probability of scoring based on historical data from similar shots. If a shot has 0.20 xG, it means that across thousands of similar attempts, about 20% resulted in goals. Total xG for a match is the sum of all shot xG values, representing how many goals "should" have been scored given the chances created.
In professional models, the key factors include: distance from goal, angle to goal, body part (foot/head/other), assist type (through ball, cross, set piece), whether it was a one-on-one, shot speed, number of defenders in the way, goalkeeper position, and whether it was a first-time shot. Some models use 50+ features including tracking data.
Major xG providers include Opta (used by many broadcasters), StatsBomb (highly detailed, open-source datasets available), Understat (free xG data for top 5 leagues), FBref (integrates StatsBomb data), and InStat. Each uses slightly different models, so xG values can differ between providers by ±0.02–0.05 per shot.
A single shot's xG is between 0 and 1 (it's a probability). However, the total xG for a match or player can be any positive number. If a team creates 20 shots worth 0.15 xG each, their match total is 3.0 xG. A player might accumulate 20+ xG over a full season.
If a striker scores 20 goals from 15 xG, they've overperformed by 5 goals. Short-term overperformance is often luck, but the best finishers (like Messi, Lewandowski) consistently outperform by 15–25% over multiple seasons, suggesting genuine above-average finishing ability. Even so, massive overperformance in one season tends to regress.
xGA is the same concept applied to the defending team: the sum of xG from all shots faced. A team with low xGA has a strong defence that limits opponents to low-quality chances. The difference between xG and xGA (xGD) is one of the best predictors of league standing — better than actual goal difference.
This calculator captures the main factors (distance, angle, body part, assist type) that explain about 70–80% of xG variation. Professional models add goalkeeper positioning, defensive pressure, shot speed, exact pitch coordinates, and ML techniques that improve accuracy further. Use this for educational intuition, not for scouting or betting analysis.