Expected Goals (xG) — How to Use xG for Smarter Betting
Understanding expected goals: what xG is, how it is calculated, and how to use xG data to find value in football betting markets.
What Is xG and Why It Matters
Expected goals, commonly abbreviated as xG, is a statistical metric that quantifies the probability of a shot resulting in a goal. Every shot taken during a football match is assigned a value between 0 and 1, where 0 represents no chance of scoring and 1 represents a guaranteed goal. A penalty kick, for example, typically carries an xG of around 0.76, meaning roughly 76 out of 100 penalties are converted based on historical data. A long-range effort from 30 yards with a defender closing down might register just 0.03.
The metric was originally developed by analysts working in football's data revolution during the early 2010s, but it has since become the single most referenced advanced statistic in the sport. Broadcasters display it on screen, managers reference it in press conferences, and — most importantly for our purposes — sharp bettors use it to identify value that the market has not yet priced in. If you are still relying solely on final scorelines to assess team quality, you are working with incomplete information. The scoreline tells you what happened; xG tells you what should have happened.
How xG Is Calculated
Every major data provider builds its xG model from a database of hundreds of thousands of historical shots. The model considers a range of variables for each shot attempt: the distance from goal, the angle relative to the goalposts, whether the shot was taken with the foot or head, the type of assist (through ball, cross, set piece), the speed of the attack, and the number of defenders between the shooter and the goal. Some advanced models also factor in goalkeeper positioning and whether the chance arose from open play, a counter-attack, or a set piece.
The output is a probability. When a player shoots from just inside the six-yard box after a cutback with no defender nearby, the model might assign an xG of 0.45. When that same player tries a volley from the edge of the area with three defenders in the way, the value drops to 0.05. Summing every shot in a match gives you a team's total xG. If Manchester City create chances worth a combined 2.3 xG but score only once, the data suggests they were unlucky — or that their finishing was poor on the day. Over time, these two explanations can be separated by looking at trends across multiple matches.
xG vs Actual Goals — Understanding the Gap
One of the most powerful applications of xG is comparing it against actual goals scored over a meaningful sample size. In any single match, the gap between xG and goals scored is largely noise. A striker might blast a 0.08 xG chance into the top corner, or a forward might miss an open goal worth 0.65 xG. These things happen. But over 10, 15, or 20 matches, persistent gaps between xG and actual output begin to reveal genuine tendencies.
A team that has scored 22 goals from chances worth just 15.4 xG across the first 15 league matches is almost certainly overperforming. Their attackers may be in extraordinary form, but history shows that finishing quality tends to regress toward the mean. Conversely, a team sitting on 8 goals from 13.7 xG worth of chances is creating plenty but converting poorly. The underlying performance is significantly better than the table position suggests. This regression principle is the foundation of xG-based betting, and it has been validated across every major European league over the past decade. Teams that dramatically outperform their xG in the first half of a season score at a lower rate in the second half approximately 78% of the time.
Using xG for Betting — Finding the Value
The practical betting application is straightforward. You are looking for teams whose actual results have diverged significantly from their expected results, then betting on a correction. If a mid-table side has 10 points from 8 matches but their xG data suggests they should have around 15 points, the market is likely undervaluing them. Their upcoming odds will reflect the actual results — the losses and draws — rather than the quality of chances they have been creating.
Overperformers are equally valuable from the other side. A team riding a six-match winning streak with modest xG numbers of around 1.1 per game is vulnerable. The bookmakers will have shortened their odds based on the winning run, but the underlying data does not support that level of dominance. Laying these teams or backing their opponents at inflated prices is a proven xG strategy. The key is patience: regression does not happen overnight, but across a full season, xG is a far better predictor of future results than the league table.
Best xG Data Sources
Several platforms provide free or affordable xG data that bettors can use. Understat (understat.com) is arguably the most popular free resource, covering the top five European leagues plus the Russian Premier Liga. It provides match-by-match xG, individual player xG, and shot maps. The interface is clean and the data is updated within hours of each match.
FBref (fbref.com), powered by StatsBomb data, offers the most comprehensive free dataset in football analytics. Beyond xG, you will find expected assists (xA), progressive passes, pressures, and dozens of other metrics. For bettors who want to go deeper than simple xG totals, FBref is indispensable. Opta provides the data backbone for many commercial platforms and bookmakers themselves — their xG model is considered the industry standard, though direct access requires a paid subscription. Other notable sources include InStat, Wyscout, and the increasingly popular Fotmob app, which displays xG prominently in its match summaries.
xG Limitations You Should Know
No metric is perfect, and xG has genuine blind spots. First, most public xG models do not account for individual shooter quality. Lionel Messi consistently outperforms his xG because his finishing ability is genuinely elite — not because he is lucky. Over 3,000+ career shots, the sample is large enough to confirm this is skill, not variance. The same applies to a handful of other world-class finishers.
Second, xG does not capture defensive structure particularly well. A team that concedes high-xG chances because their goalkeeper is world-class may sustain a low goals-against record that appears unsustainable by xG but is actually supported by genuine shot-stopping quality. Third, set pieces introduce noise: a team with an exceptional corner-kick routine will generate xG that appears repeatable, and indeed it may be, but the standard xG model treats all corners similarly. Finally, xG is a volume metric — it does not distinguish between creating ten chances worth 0.1 xG each and one chance worth 1.0 xG, even though the latter is far more likely to result in a goal.
Practical xG Betting Strategy
Here is a step-by-step approach to integrating xG into your betting process. Step one: at the start of each week, pull xG tables for your target league from Understat or FBref. Compare the xG league table to the actual league table. Identify teams with the largest positive and negative gaps — these are your regression candidates.
Step two: filter for sample size. You need at least 8-10 matches of data before xG trends become statistically meaningful. Early-season xG is noisy and unreliable. Step three: cross-reference with the fixture list. A team due for positive regression facing a side due for negative regression is a high-confidence spot. Step four: check the odds. The value only exists if the bookmaker has priced the match based on actual results rather than underlying performance. If the market has already adjusted, the edge disappears. Step five: stake conservatively. xG-based regression plays are medium-term strategies. You will not win every bet, but across 50-100 selections, a disciplined xG approach has been shown to produce ROI in the range of 3-7%, which is exceptional in a market as efficient as football betting. Track every bet, review monthly, and refine your filters based on what works in your chosen leagues.