xG Explained: How Expected Goals Makes You a Smarter Bettor

Steffen Fonvig
Steffen Fonvig

Founder & Editor-in-Chief

guides11 min readUpdated: 16 Mar 2026

xG Explained: How Expected Goals Makes You a Smarter Bettor

Expected Goals (xG) has become the single most important advanced metric in football analytics. Originally developed for internal use by elite clubs and data companies, xG has crossed over into the mainstream — and for bettors, it represents one of the most powerful edges available. Understanding what xG measures, how it works, and where it falls short can transform your approach to football betting.

In this guide, we break down everything you need to know about xG: the math behind it, how to interpret the numbers, how to apply it across multiple betting markets, and the pitfalls to avoid.

What Is xG and How Is It Calculated?

Expected Goals (xG) is a statistical measure that assigns a probability to every shot in a football match, estimating the likelihood that a given shot will result in a goal. An xG value of 0.35, for example, means that historically, shots taken from that position with similar characteristics result in a goal 35% of the time.

A team's total xG in a match is the sum of the xG values for all of their shots. If a team generates six shots with xG values of 0.08, 0.12, 0.45, 0.03, 0.22, and 0.10, their match xG would be 1.00 — meaning they created enough quality chances to score one goal on average.

Variables That Determine xG

The exact variables differ between xG model providers, but most models incorporate the following factors:

  • Shot location: The distance and angle to goal are the two most significant variables. Shots from inside the six-yard box carry far higher xG values than efforts from 25 yards.
  • Shot type: Headers are converted at a much lower rate than shots with the foot. Volleys, half-volleys, and one-touch finishes each have distinct conversion profiles.
  • Assist type: Shots following through balls, crosses, set pieces, or direct free kicks each carry different baseline probabilities.
  • Game state: Some models factor in whether the shooting team is winning, losing, or drawing, as this affects shot selection and defensive pressure.
  • Body part: Dominant foot vs. weak foot, or headed attempts, are weighted differently in more advanced models.
  • Goalkeeper position: Premium models from providers like StatsBomb incorporate keeper positioning data, which significantly refines accuracy for one-on-one situations.
  • Defensive pressure: The number and proximity of defenders between the shooter and the goal, sometimes including the shooter's body orientation.
Shot Scenario Typical xG Range Conversion Rate
Penalty kick 0.76 – 0.79 ~76%
One-on-one (inside box) 0.30 – 0.60 ~40%
Close-range header (6-yard box) 0.20 – 0.50 ~35%
Central shot inside box (open play) 0.10 – 0.30 ~18%
Shot from edge of box 0.04 – 0.10 ~7%
Long-range shot (25+ yards) 0.02 – 0.05 ~3%

These values are approximations based on large historical datasets. Explore how teams create and concede chances on our Stats page, where xG-related metrics are tracked across leagues.

xG vs Actual Goals: Reading the Gap

The real analytical value of xG emerges when you compare it with actual goals scored. This gap — often expressed as "Goals minus xG" or "xG overperformance/underperformance" — is one of the most important signals for bettors.

Overperformance (Goals > xG)

When a team consistently scores more goals than their xG suggests, they are overperforming. This can happen for two reasons:

  • Elite finishing: Teams with world-class strikers (think Haaland or Mbappé) can sustainably convert at above-average rates. However, even elite finishers regress toward xG averages over longer periods.
  • Variance (luck): Over a small sample — say, five to ten matches — random variance can produce significant overperformance. A team might score four goals from 1.5 xG across two matches. This almost always corrects.

Underperformance (Goals < xG)

When a team creates high-quality chances but fails to convert, they are underperforming their xG. This is arguably the more valuable signal for bettors, because:

  • Underperforming teams tend to regress upward (start scoring more).
  • Bookmaker odds often reflect recent actual results rather than underlying chance creation.
  • This creates value opportunities — the market undervalues teams that have been "unlucky."

A practical rule of thumb: if a team's actual goals trail their xG by more than 20% over a 10+ match sample, a correction is statistically likely. Check our Predictions page for data-driven match forecasts that incorporate xG regression signals.

Defensive xG (xGA)

Expected Goals Against (xGA) is equally important. A team conceding fewer goals than their xGA suggests is benefiting from strong goalkeeping or defensive luck. Over time, this also tends to regress. Teams with a low goals-conceded total but high xGA are vulnerable — their defensive record is likely to worsen.

Scenario Signal Betting Implication
Goals scored >> xG Overperformance Likely regression — fade in upcoming matches
Goals scored << xG Underperformance Likely regression upward — back to score more
Goals conceded << xGA Defensive overperformance Defence likely to concede more — consider Over bets
Goals conceded >> xGA Defensive underperformance Defence likely to improve — consider Under bets

Using xG for Match Result Predictions

xG is a powerful input for modelling match outcomes, but it works best when combined with other data points. Here is a practical framework:

Step 1: Establish Baseline xG Per Match

Look at each team's average xG for and xGA across the most recent 10–15 league matches. This gives a reliable baseline of attacking output and defensive quality. Season-long averages are more stable but may miss recent form shifts; the last 10 matches balance recency with sample size.

Step 2: Calculate Expected Match xG

For a match between Team A (home) and Team B (away), estimate each team's expected xG in the match:

  • Team A's expected xG = (Team A avg xG For + Team B avg xGA) / 2, adjusted for home advantage (typically +0.1 to +0.2 xG).
  • Team B's expected xG = (Team B avg xG For + Team A avg xGA) / 2, adjusted for away disadvantage (typically -0.05 to -0.15 xG).

Step 3: Convert to Probabilities

Using a Poisson distribution with each team's expected xG as the lambda parameter, you can calculate the probability of each scoreline. Sum the relevant scorelines to get probabilities for Home Win, Draw, and Away Win. Compare these probabilities to bookmaker odds to identify value.

For ready-made probability estimates built on this methodology, browse our Fixtures page, which displays upcoming matches with key statistical context.

Home Advantage and xG

Home advantage has declined in recent years, particularly since the COVID era. In the 2018-19 Premier League season, home teams averaged 1.61 xG per match vs. 1.22 for away teams — a gap of 0.39. By 2023-24, that gap had narrowed to around 0.25. Always use current-season home/away splits rather than historical defaults.

xG for Over/Under and BTTS Markets

While match result betting gets the most attention, xG is arguably even more useful for goals-based markets like Over/Under totals and Both Teams To Score (BTTS).

Over/Under Markets

The combined xG of both teams gives a direct estimate of the expected total goals. If Team A is projected at 1.5 xG and Team B at 1.1 xG, the combined xG of 2.6 suggests the match will hover around the Over 2.5 line — but only slightly above it.

Key factors to layer on top of raw xG:

  • xG variance: Teams that create many low-xG chances (lots of shots from distance) have less predictable goal outputs than teams creating fewer but higher-quality chances.
  • Pace of play: High-tempo matches generate more shots and therefore more xG opportunities. Check each team's shots-per-90 alongside xG.
  • Set-piece dependency: Teams that generate a large portion of their xG from set pieces can be volatile, as set-piece conversion rates fluctuate more than open-play rates.
Combined Match xG Historical Over 2.5 % Historical Over 3.5 %
Under 2.0 ~35% ~12%
2.0 – 2.5 ~48% ~20%
2.5 – 3.0 ~58% ~30%
3.0 – 3.5 ~68% ~40%
Over 3.5 ~78% ~52%

BTTS (Both Teams To Score)

For BTTS, you need each team's individual xG rather than the combined total. If both teams project above 1.0 xG, the probability of both scoring is high (typically 55-65%). If one team projects below 0.7 xG, BTTS No becomes attractive.

A useful shortcut: calculate each team's probability of scoring at least one goal using the Poisson formula: P(goals >= 1) = 1 - e^(-xG). Multiply the two probabilities together for BTTS Yes probability. Compare this to the bookmaker's implied probability to find value.

Our Leagues overview provides league-level xG data, helping you identify which competitions trend toward high-scoring or low-scoring patterns.

xG Limitations and Caveats

xG is a powerful tool, but it is not infallible. Understanding its limitations is just as important as understanding how to use it.

What xG Does Not Capture

  • Shot quality beyond location: Basic xG models do not differentiate between a shot hit cleanly into the corner and one scuffed straight at the keeper from the same position. Only post-shot xG (xGOT) accounts for shot placement.
  • Pre-shot movement: A striker arriving at the far post unmarked after a cross has a better chance than one surrounded by defenders, even from the same spot. Advanced models partially address this, but most public xG data does not.
  • Tactical context: xG cannot tell you that a team is playing a heavily rotated squad, managing a red card, or protecting a lead. These tactical realities affect chance quality in ways the model cannot capture.
  • Individual skill: Mohamed Salah shooting from inside the box is not the same as a League One forward from the same position. xG treats them equally (unless the model includes a player skill variable, which most do not).
  • Psychological factors: Derbies, cup finals, relegation battles — the emotional context of a match influences performance in ways that no model captures.

Sample Size Matters

Single-match xG is noisy. A team can generate 3.0 xG and lose 0-1. Over one or two matches, xG tells you very little with confidence. The metric becomes reliable over 8-10 matches and very stable over a full season. For betting purposes, always use multi-match averages rather than single-game xG figures.

xG Is Descriptive, Not Predictive (Alone)

xG describes what happened in terms of chance quality. Predicting future outcomes requires additional modelling — factoring in opponent quality, home/away adjustments, recent form trends, and regression expectations. Raw xG averages are a starting point, not an endpoint.

xG Provider Differences: Opta, StatsBomb, and FBref

Not all xG models are created equal. The three most widely referenced sources each use different methodologies, which means their xG values for the same match can vary.

Provider Model Characteristics Data Availability
Opta (Stats Perform) Industry standard. Factors in shot type, location, assist type, game state. Used by most major betting sites and broadcasters. Commercial — available via partners (WhoScored, FotMob, betting sites)
StatsBomb Most granular public model. Includes freeze-frame data (defender/GK positions at moment of shot). Produces the most accurate xG values but only for leagues they track. Free tier via FBref; full data commercial
FBref Uses StatsBomb data for covered leagues, Opta for others. The most accessible free resource for xG data. Free — fbref.com
Understat Independent model. Good coverage of top 5 European leagues and the Russian Premier League. Slightly less refined than Opta/StatsBomb. Free — understat.com
InfoGol Proprietary model with strong emphasis on betting applications. Provides match-level and season-level xG. Free tier with limited data; premium subscription

Why Provider Differences Matter for Bettors

A match might register 1.8 xG for the home team on Understat but 2.1 on StatsBomb due to the latter's inclusion of defensive positioning data. When building models or analysing trends, consistency is key — pick one provider and stick with it. Mixing data sources introduces noise that can distort your analysis.

For betting purposes, Opta-based xG (available through FotMob, WhoScored, and most commercial platforms) offers the best balance of accuracy and accessibility. StatsBomb data via FBref is superior for deep analysis of specific matches, particularly for assessing shot quality at a granular level.

Practical xG Betting Workflow

Putting it all together, here is a step-by-step workflow for incorporating xG into your betting process:

  1. Compile xG data: Gather the last 10-15 matches of xG For and xGA for both teams. Use home/away splits where possible.
  2. Check for regression signals: Compare actual goals to xG. Flag teams significantly over- or underperforming.
  3. Estimate match xG: Calculate projected xG for each team, adjusting for opponent strength and home/away.
  4. Model probabilities: Use Poisson distribution to convert xG into outcome probabilities (1X2, Over/Under, BTTS).
  5. Compare to market odds: Convert bookmaker odds to implied probabilities. If your model probability exceeds the implied probability by a meaningful margin (typically 5%+), you have a potential value bet.
  6. Validate with context: Check for injuries, suspensions, rotation, motivation, and other factors xG cannot capture.
  7. Track and review: Log your bets with your model probabilities vs. closing odds. Over 100+ bets, this reveals whether your xG-based approach is genuinely profitable.

Use our Betting Tools to assist with probability calculations and edge identification as part of this workflow.

Key Takeaways

  • xG measures chance quality by assigning a goal probability to every shot based on historical conversion data.
  • The gap between actual goals and xG reveals overperformance or underperformance — both tend to regress, creating betting value.
  • Combined match xG is directly applicable to Over/Under markets; individual team xG drives BTTS analysis.
  • Always use multi-match samples (10+ games) for reliability. Single-match xG is too noisy for confident conclusions.
  • Pick one xG provider and use it consistently to avoid cross-source distortion.
  • xG is a starting point — layer in tactical context, team news, and market analysis for the strongest edge.
In the top five European leagues, the average team generates around 1.2–1.4 xG per match. Elite attacking teams like Manchester City or Barcelona typically produce 2.0+ xG per match, while weaker sides may struggle to reach 0.8 xG. Anything above 1.5 xG per match is considered strong, and above 2.0 is elite.
xG is calculated at the moment of the shot based on location, type, and context — before the ball is struck. xGOT (Expected Goals On Target) is calculated after the shot, factoring in where the ball is heading. A shot into the top corner from 12 yards might have an xG of 0.15 but an xGOT of 0.85 because of the placement. xGOT is better for evaluating finishing quality; xG is better for evaluating chance creation.
Not reliably on its own. Football has inherent randomness, and a single match is a very small sample. xG is most powerful when used over multiple matches to identify trends and regression opportunities. For a single match, xG-based projections provide a probability framework — they tell you what is likely, not what will happen.
FBref.com is the best free source, providing StatsBomb xG data for major leagues and Opta data for others. Understat.com covers the top five European leagues plus Russia with its own model. FotMob (app and web) also displays Opta xG for individual matches. For league-level xG trends, check our Stats page.
Use xG as your primary input for predictive models. Actual goals reflect what happened; xG reflects the quality of chances created, which is a better predictor of future performance. The ideal approach combines both: use xG as the base and adjust slightly based on sustained over/underperformance that may reflect genuine team quality (e.g., an elite striker consistently outperforming xG).
Steffen Fonvig

Written by

Steffen Fonvig

Steffen Fonvig is the Founder & Editor-in-Chief of StatsBet, specialising in data-driven football betting analysis.

Explore More