Expected goals (xG) has transformed football analysis. It measures what should have happened based on the quality of chances, not what actually happened — and that distinction is gold for bettors.
What xG Is
Every shot in football can be assigned a probability of resulting in a goal. This probability is based on historical data from tens of thousands of similar shots, considering factors like:
- Distance from goal
- Angle to goal
- Body part used (foot, head)
- Type of assist (cross, through ball, cutback)
- Whether the shot followed a dribble
A penalty has an xG of approximately 0.76. A one-on-one from 8 yards might be 0.45. A 25-yard volley might be 0.04.
Why xG Matters for Betting
The key insight: actual goals fluctuate randomly in the short term, but xG reflects the underlying quality of chances. A team that creates 2.1 xG per match but only scores 1.2 goals is underperforming — and regression to the mean suggests their results will improve.
Practical Application: Finding Value
Step 1: Gather xG Data
Check a team's xG for and xG against over their last 10-15 matches. Free sources include Understat and FBref.
Step 2: Calculate the xG Difference
Compare actual goals to xG:
- Team A scored 15 goals from 11.2 xG — overperforming by +3.8 goals
- Team B scored 8 goals from 13.5 xG — underperforming by -5.5 goals
Step 3: Identify the Value Bet
If Team B faces a mid-table opponent and bookmaker odds reflect their poor actual results (8 goals) rather than their underlying performance (13.5 xG), you may have found value on Team B.
xG for Different Markets
xG applies beyond match result:
- Over/Under goals: Teams with high combined xG for and against tend to produce high-scoring games
- BTTS: Check xG conceded — a team with high xG against is likely to concede
- Correct score: xG-based Poisson models produce more accurate scoreline probabilities than goals-based models
Limitations to Understand
The Bottom Line
xG gives you a clearer picture of team performance than the scoreboard alone. When bookmaker odds are based on actual results that diverge significantly from underlying xG performance, you have a systematic way to find value.