Football · Analytics

xG (Expected Goals) - The Stat That Beats the Bookies

Sipho Mthembu ·Senior Football Analyst ·11 min read ·Updated 25 January 2026

"Expected Goals" - xG - has become the single most important stat in football analytics. It's also the stat sharp bettors use to find matches the bookies have priced wrong. If you understand xG and your bookmaker doesn't fully price it in, you're playing with an edge.

What xG actually measures

xG quantifies the quality of a goal-scoring chance, not just whether a shot happened. Every shot is rated 0-1 based on:

A penalty is roughly 0.78 xG. A header from 18 yards under pressure is around 0.05. A one-on-one with the keeper is roughly 0.40.

Sum xG values across a match → "expected goals" for each team. Compare to actual goals → tells you whether goals were earned or lucky.

How bettors use xG

1. Detecting unsustainable form runs

Team scoring 2 goals per match while xG averages 0.9? They're getting lucky. The market over-rates them. Their next 5-10 matches likely revert.

Sharp angle: fade overperformers after a 5+ match hot streak.

2. Detecting unlucky teams

Team losing matches while creating xG of 1.8 vs opponents' 0.7? They're playing well, getting unlucky finishes. Market under-rates them. Future matches should regress to true performance.

Sharp angle: back underperformers who post strong xG numbers but low results.

3. Total goals lines

Combined xG average gives you fair total. Liverpool generating 2.4 xG per home match + away team 1.1 xG per away match = combined 3.5 xG. Over 2.5 line is value at most prices.

xG vs goals - the regression effect

Across a single match, xG is noisy. Across 10 matches, it converges. Across 20+ matches, xG is the most accurate predictor of future scoring rate that's publicly available.

The pattern most amateur bettors miss: recent goals are noise; recent xG is signal. A team scoring 8 goals in 5 matches with 4.5 xG is on a hot run. The market loves them. Sharp money fades them. The next 10 matches will look closer to xG (1.8 goals/match) than recent goals (1.6 goals/match).

Where to find xG data

Free public sources:

The xG ratio framework

For each team, calculate the season's xG-for and xG-against per match. The ratio (xGF / xGA) tells you team strength better than win/loss record:

xGF/xGA ratioTeam strengthBetting implication
2.0+Title contenderAvoid backing - already priced
1.5-2.0Top 4 qualitySelective backs only
1.1-1.5Mid-table strongHidden gems if priced as average
0.9-1.1True mid-tableFair price
0.7-0.9Mid-table weakFaders if market over-rates them
Under 0.7Relegation candidateAvoid backing

The xG over-performer trap

Erling Haaland scoring 1.5 goals on 1.1 xG per match isn't variance - it's elite finishing. Some players consistently outperform xG by 15-25%. Don't blindly bet "regression to xG" if a clinical finisher is leading the line.

Same applies to teams with elite goalkeepers (xG-against vs goals-against gap). xG is a baseline, not the final word.

xG limitations

Practical betting workflow with xG

  1. Open Understat or FBref. Pull last 10 matches xG for each team in your fixture.
  2. Calculate average xG-for and xG-against per match for both sides.
  3. Estimate fair total goals (sum of both sides' xG-for vs respective xG-against).
  4. Compare to bookmaker's total line. Edge over 5%? Bet.
  5. For 1X2: lean toward the team with significant xG-ratio advantage if not yet priced in.

FAQ

Is xG useful for low-scoring matches?

Especially. Defensive struggles where neither team creates much become decisive on xG. Total goals U2.5 is often value when both sides post sub-1.0 xG.

Does xG work for cup matches?

Lower correlation than league matches because of higher motivation variance. Use xG as one input, not sole input, for cup ties.

Can I model xG myself?

Building a basic xG model from public data takes a weekend in Python. But Understat's model is essentially free and good enough for most bettors. Don't reinvent.

Why doesn't every bookie use xG?

Most do - Pinnacle, Bet365 sharp lines all incorporate xG. But retail SA bookies are slower to adjust, and that's where the edges live for SA bettors.