Expected Goals
Definition
Expected Goals (xG) is a metric that quantifies the quality of a shot by estimating the probability it results in a goal, based on historical data from similar shots. An xG of 1.0 means that shot, from that position and angle, scores on average once in every attempt. Summing all xG values in a match gives the total expected goals — a truer measure of attacking performance than raw scorelines.
Example
Liverpool vs Tottenham — Liverpool generate shots with a combined xG of 2.4. Tottenham generate 0.8 xG. The final score is 1-1. The xG scoreline (2.4 vs 0.8) suggests Liverpool were significantly better and the result understates their dominance.
Our model would expect Liverpool to outperform Tottenham in subsequent matches — the true quality gap is visible in xG, not the 1-1 scoreline.
How CalibrSports Predicts This
We compute rolling xG averages for all teams across 5, 10, and 20-game windows, using both for and against figures. These features feed directly into our ML ensemble as some of its most predictive inputs. xG regression to the mean — teams whose goals significantly over- or under-shoot their xG — is a key signal for identifying value bets in future fixtures.
Key Facts
Scale
0.0 (no chance) to 1.0 (certain goal)
League average per team
~1.3 xG per match
Rolling windows used
5, 10, 20 games
Key insight
xG predicts future performance better than goals
Related Terms
Frequently Asked Questions
Why is xG more useful than goals scored?
Goals include luck — a deflection, a goalkeeper error, a crossbar hit that bounced in. xG strips out variance and measures the underlying quality of chances created and allowed. Over time, teams converge toward their true xG level.
How is xG calculated?
Models are trained on thousands of shots with known outcomes. Features include distance to goal, angle, shot type (header vs foot), game state, whether it was from open play or a set piece, and the number of defenders between the shooter and goal.
Can xG predict match results directly?
Not directly — it is an input, not an output. xG data feeds into our ML ensemble alongside 160+ other features. The model learns which xG patterns are most predictive in each league context.