What Is Expected Goals (xG)? Football Analytics Explained

What Is Expected Goals (xG)? Football Analytics Explained

A practical explanation of expected goals (xG) in football. Learn what xG means, how it's calculated, where models differ, and how to actually use it for betting and analysis.

CR

Callum Reid

Data & Statistics Writer

Published 14 April 2026 · Updated 16 April 2026 · 7 min read

Share

What xG Actually Tells You (and What It Doesn’t)

I’ll be blunt: most xG explainers online give you the Wikipedia version. “It’s a number between 0 and 1 that represents the probability of a shot being scored.” Technically correct. Practically useless if you want to actually use the metric.

So here’s the version that matters.

Expected goals measures chance quality — not team quality, not finishing quality, not how good someone’s left foot is. It answers one question: “Given where this shot was taken, how often does it go in historically?”

A penalty? About 0.76 xG. A one-on-one? Roughly 0.35–0.45. A speculative 30-yarder that happens to fly in off the underside of the bar? Around 0.03.

The shot went in. The xG says it almost never does. That gap — between what happened and what usually happens — is where the entire value of xG lives.

How the Models Work (Not All Are Equal)

There isn’t one “xG.” There are dozens of models, and they disagree with each other more than you’d think.

What every model uses:

  • Shot distance — the single strongest predictor
  • Shot angle — how much of the goal the shooter can see
  • Body part — feet convert at higher rates than headers
  • Shot type — volleys, placed, driven

What better models add:

StatsBomb, for example, includes freeze-frame data — the position of every player on the pitch at the moment of the shot. Their model knows whether the keeper was set, whether three defenders were in the way, and whether the assist was a through ball or a hopeful cross.

Opta’s model doesn’t have freeze-frame data (most don’t). So the same shot can be 0.12 xG on Opta and 0.22 xG on StatsBomb, or vice versa. This matters when you’re comparing numbers from different sources.

The free options: FBref uses StatsBomb data. Understat runs their own model. They’ll give you different numbers for the same match. Neither is “wrong” — they’re measuring slightly different things.

The xG Table I Actually Reference

SituationTypical xGNotes
Penalty0.76Varies slightly by league (La Liga ~0.78, PL ~0.75)
One-on-one0.35–0.45Depends heavily on angle and speed
6-yard box, open play0.40–0.60Tap-ins and scrambles
Edge of box (18 yards)0.05–0.10Where most shots come from — most miss
25+ yards0.02–0.04Spectacular when they go in; rarely do
Header from cross0.05–0.12Higher if it’s a free header in the 6-yard box
Direct free kick0.05–0.08Elite takers push ~0.10

Why xG Matters (With a Real Example)

This isn’t hypothetical. In the 2023/24 Premier League, Luton Town’s xG numbers told a clear story months before their relegation was confirmed.

By matchweek 20, Luton had scored 26 goals from 22.8 xG — they were slightly overperforming their chances. But they’d conceded 46 goals from 41.3 xGA. That defensive xGA figure was the worst in the league. The writing was on the wall: even though they’d beaten a few big teams, the underlying numbers said they were creating poor chances and conceding excellent ones.

No amount of Rob Edwards’ motivational team talks was going to fix an xGD of -18.5 over 20 matches. By the end of the season, the numbers came home.

The betting angle: If you’d backed against Luton in Asian Handicap markets from matchweek 10 onwards — when the xG gap was already obvious — you’d have been profitable over the remaining season. That’s xG doing actual work.

How I Use xG for Betting

Here’s my process. It’s not complicated, but it requires discipline.

1. Check xGD over the last 10 matches

Not the whole season — the most recent 10. Teams evolve. A midseason signing, a formation change, or an injury crisis can shift xG dramatically. The most recent window captures current ability.

2. Compare xG to actual goals

  • Team consistently scores more than their xG → They have a clinical finisher (Haaland, Salah) or they’re riding luck. Either way, expect some regression unless the finisher is genuinely elite.
  • Team consistently underperforms xG → Bad finishing or bad luck. Look for them to improve. This is where value hides.

3. Look at xG per shot, not just total xG

A team with 2.0 xG from 20 shots (0.10 per shot) is peppering the goal from distance. A team with 1.5 xG from 8 shots (0.19 per shot) is creating fewer but far better chances. I’d rather back the second team.

4. Cross-reference with BTTS and Over/Under

If both teams have high xG AND high xGA, that’s a BTTS signal with conviction. If one team has high xG but the opponent has low xGA, something has to give — that mismatch often creates value in the goals markets.

Common Mistakes with xG

Treating one match as meaningful. A team posts 3.2 xG and loses 0-1. It happens. Over one game, variance dominates. Over 15+ games, xG becomes a reliable signal. Don’t overreact to single-match numbers.

Ignoring model differences. If you’re comparing a team’s xG from Understat with an opponent’s xGA from FBref, you’re mixing models. Stick to one source per comparison.

Forgetting that xG is backward-looking. It tells you what happened. Extrapolating it to the future requires judgment — is the manager the same? Are key players fit? Has the formation changed? xG is one input, not the entire analysis.

“xG says the wrong team won.” No. xG says the winning team scored from lower-quality chances than they conceded. Sometimes that’s skill (a clinical striker), sometimes it’s luck. The distinction matters for future predictions.

Key Terms — Quick Reference

TermWhat It MeansWhy You’d Use It
xGExpected goalsOverall chance creation quality
npxGNon-penalty xGCleaner picture — removes the 0.76 penalty boost
xGAExpected goals againstDefensive quality
xGDxG minus xGABest single measure of team quality
xG/shotAverage xG per shotChance quality vs. volume
PSxGPost-shot xGFactors in shot placement — useful for goalkeeper analysis
xAExpected assistsChance creation (the passer’s contribution)

Where to Get xG Data (Free)

  • FBref.com — StatsBomb-powered, most comprehensive free source. My default.
  • Understat.com — Clean interface, good for quick team/player lookups
  • The xG Philosophy on X — Post-match xG maps, fast updates

For premium data: Opta/StatsPerform and StatsBomb are the industry standards used by clubs. You don’t need them for betting analysis — FBref is sufficient.

The Bottom Line

xG is the most useful publicly available football metric. But it’s a tool, not a crystal ball. Use it to identify teams whose results don’t match their underlying performance — that’s where the betting market misprice is. Combine it with form analysis, team news, and common sense, and you’ll have a genuine edge over casual bettors who only look at league tables.

For more on how we apply xG and other metrics to daily predictions, see our predictions page.

18+ only. Gambling involves risk — always bet responsibly. BeGambleAware.org

Continue Reading

CR

Callum Reid

Data & Statistics Writer

Data-focused football writer specialising in statistical models, BTTS analysis, and goals markets. Runs expected goals models on Premier League and Championship data.