What Does xG Mean in Soccer? Expected Goals Explained
xG โ expected goals โ is the most important stat in modern soccer analytics. It measures the quality of a scoring chance based on historical data. Every shot taken in a match is assigned an xG value between 0 and 1, representing the probability of that shot becoming a goal.
A penalty kick has an xG of about 0.76 (76% of penalties are scored). A shot from 30 yards with three defenders in the way might have an xG of 0.03 (3% chance). A one-on-one with the goalkeeper from 8 yards might be 0.45. Add up all the xG values from a team's shots in a match, and you get the team's total xG โ the number of goals they "should have" scored based on the quality of their chances.
Why xG Matters for Betting
xG tells you whether a team is ACTUALLY good or just lucky (or unlucky).
Example: Arsenal beat Liverpool 1-0. Looks like a tight defensive game. But the xG was Arsenal 2.4 โ Liverpool 0.6. Arsenal created enough chances to score 2-3 goals and dominated. The 1-0 scoreline underrepresents how well Arsenal played.
Now flip it: Chelsea beat Burnley 1-0 with an xG of 0.3 โ 0.8. Chelsea were outplayed and got lucky. Betting on Chelsea to repeat that result next week is a bad idea โ the underlying performance says they should have lost.
This is exactly how our AI model uses xG. We predict match outcomes based on underlying xG performance, not just results. A team that's been winning ugly (low xG, lucky goals) will regress. A team that's been losing despite high xG will bounce back.
How xG Is Calculated
Every shot is evaluated based on:
- Distance from goal โ closer = higher xG
- Angle to goal โ central = higher xG, tight angle = lower
- Body part โ foot shots have different xG than headers
- Type of assist โ through ball, cross, set piece, open play
- Defensive pressure โ number of defenders between shooter and goal
- Game state โ xG can adjust for whether the team is winning, drawing, or losing
These factors feed into a model trained on hundreds of thousands of historical shots. The output: a number between 0 and 1 for each shot.
xG per Match โ What Good Numbers Look Like
For defensive xG against (xGA): below 1.0 is elite defense, 1.0-1.3 is solid, and above 1.5 means a leaky defense where opponents create many chances.
xG for Betting โ Practical Applications
- BTTS (Both Teams to Score): if both teams have xG above 1.3, BTTS Yes becomes likely. If one team's xGA is below 0.8, BTTS No has value.
- Over/Under Goals: add both teams' average xG. If Arsenal (2.1 home xG) hosts Liverpool (1.1 away xG), the combined xG projection is 3.2 โ comfortably Over 2.5.
- Match result: compare home xG vs away xG. The team with higher xG wins more often long-term, even if recent results don't reflect it.
- Player props: individual xG per 90 minutes helps predict goalscorer props. A striker with 0.65 xG/90 is expected to score roughly every 1.5 games.
Limitations of xG
xG isn't perfect. It doesn't account for:
- Individual finishing skill (Haaland consistently outperforms his xG because he's an elite finisher)
- Goalkeeper quality (a world-class keeper saves more than expected)
- Game context changes (a red card at 30 minutes changes everything)
- Set piece quality (some teams convert corners and free kicks much better than the xG model predicts)
Our AI model uses xG as a PRIMARY input but combines it with 15+ other features including form, injuries, home advantage, and historical matchup data. xG alone isn't enough โ but without it, you're betting blind.
Where to Find xG Data
Free sources: FBref.com, Understat.com, FotMob app. These sites track xG for every match in the major European leagues.
Or just use Predictify Sports โ our match prediction pages show xG projections for every soccer match alongside our 1X2, BTTS, and Over/Under predictions.