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.
Callum Reid
Data & Statistics Writer
Published 14 April 2026 · Updated 16 April 2026 · 7 min read
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
| Situation | Typical xG | Notes |
|---|---|---|
| Penalty | 0.76 | Varies slightly by league (La Liga ~0.78, PL ~0.75) |
| One-on-one | 0.35–0.45 | Depends heavily on angle and speed |
| 6-yard box, open play | 0.40–0.60 | Tap-ins and scrambles |
| Edge of box (18 yards) | 0.05–0.10 | Where most shots come from — most miss |
| 25+ yards | 0.02–0.04 | Spectacular when they go in; rarely do |
| Header from cross | 0.05–0.12 | Higher if it’s a free header in the 6-yard box |
| Direct free kick | 0.05–0.08 | Elite 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
| Term | What It Means | Why You’d Use It |
|---|---|---|
| xG | Expected goals | Overall chance creation quality |
| npxG | Non-penalty xG | Cleaner picture — removes the 0.76 penalty boost |
| xGA | Expected goals against | Defensive quality |
| xGD | xG minus xGA | Best single measure of team quality |
| xG/shot | Average xG per shot | Chance quality vs. volume |
| PSxG | Post-shot xG | Factors in shot placement — useful for goalkeeper analysis |
| xA | Expected assists | Chance 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
Premier League xG Table 2025/26: Expected Goals Rankings
Live Premier League expected goals (xG) table for the 2025/26 season. See which teams are overperforming and underperforming based on xG data.
Poisson Distribution for Football Betting: Build Your Own Model
Learn how to use the Poisson distribution to predict football match outcomes. Step-by-step guide to building a statistical model for scoreline and goals predictions.
Football Stats for Betting: Which Statistics Actually Matter?
Discover which football statistics actually help with betting. From xG to PPDA, learn the key metrics that predict match outcomes and find betting value.
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.