If you follow football analytics at all, you have encountered xG. It appears in post-match graphics, pundit commentary, and betting discussions with the kind of frequency that suggests it is either the most important metric in the sport or the most overhyped. The truth is closer to the first option than the second. Expected goals is not a perfect measure of team quality, but it is the single best tool available for separating genuine performance from luck — and that separation is exactly what football bettors need.

The betting market moves on results. A team that wins three straight gets shorter odds. A team that loses three straight gets longer odds. But results in football are heavily influenced by variance — a deflected goal, a missed penalty, a goalkeeper having the game of his life. xG cuts through that variance by measuring the quality and quantity of chances a team creates and concedes, regardless of whether those chances actually went in. For bettors, this means xG can identify teams that are overperforming (and likely to regress) or underperforming (and likely to improve) before the results catch up.

Metrics Measured by Expected Goals

Expected goals assigns a probability to every shot taken during a match, based on historical data about how often shots from similar positions, angles, and situations result in goals. A penalty has an xG of approximately 0.76 because about 76% of penalties are converted. A shot from the edge of the box might carry an xG of 0.08. A one-on-one with the goalkeeper from six yards might be 0.45.

The sum of all shot xG values for a team in a match gives the team’s total xG. If a team generates shots worth 0.15, 0.08, 0.45, 0.03, 0.32, and 0.12 in a match, their total xG is 1.15. This means that, based on the quality and location of their chances, an average team with average finishing would have scored approximately 1.15 goals. The actual result might be 0, 1, 2, or 3 — individual matches are noisy. But over a sample of 10 or more matches, xG accumulation tells a much more stable and reliable story than actual goals scored.

What xG does not measure is also important to understand. Standard xG models do not account for the specific shooter’s ability — a shot from a given location has the same xG whether it is taken by one of the world’s best strikers or a center-back who wandered forward on a corner. Some advanced models, called xGOT (expected goals on target), incorporate the placement of the shot relative to the goal frame, which partially captures finishing skill. But the baseline xG model is deliberately agnostic about who is shooting, which is actually an advantage for identifying underlying chance creation separate from individual quality.

How xG Models Are Built

The major xG models — including those published by StatsBomb, Opta, FBref, and Understat — are built on large historical datasets of shot outcomes. The models use machine learning or logistic regression to predict the probability of a goal based on features of each shot.

The most common input features include shot distance from goal, shot angle relative to the goal, body part used (foot versus header), whether the shot followed a cross, through ball, or set piece, the speed of the attacking move, and the number of defenders between the shooter and the goal. More sophisticated models add information about goalkeeper positioning, game state (leading, trailing, or level), and whether the chance came from open play or a dead ball.

Different providers weight these features differently, which is why xG numbers for the same match can vary between sources. StatsBomb might record a team’s xG at 1.8 while Understat shows 2.1 for the same game. The discrepancy does not mean one model is wrong — it means they are measuring slightly different things with slightly different methodologies. For betting purposes, consistency matters more than precision. Pick one xG source and use it consistently so your comparisons across matches and teams are apples-to-apples.

The output of any xG model is a probability per shot, and the sum of those probabilities is the team’s xG for the match. At the season level, you can calculate a team’s average xG per match (created and conceded), xG difference (created minus conceded), and other derived metrics that form the basis of a betting model.

Where to Find Reliable xG Data

Access to quality xG data has expanded dramatically in recent years. Several free and paid sources now publish match-level and season-level xG for major leagues, making the metric accessible to any bettor willing to spend a few minutes researching before placing a wager.

FBref (fbref.com) is the most comprehensive free source, publishing xG data powered by StatsBomb for most top-tier leagues worldwide. You can access match-by-match xG, season totals, and per-90-minute averages for every team and player. The data is presented in clean, sortable tables that make comparison straightforward.

Understat (understat.com) offers free xG data for the Premier League, La Liga, Bundesliga, Serie A, Ligue 1, and the Russian Premier League. Its interface includes visual shot maps that show where each shot was taken and its associated xG value, which is particularly useful for understanding a team’s attacking patterns.

Infogol provides xG data with a betting-focused lens, including pre-match xG predictions and post-match analysis. Some features are behind a paywall, but the free tier includes basic match xG data and league tables sorted by xG performance.

For bettors who want raw data to build their own models, StatsBomb Open Data provides a free dataset of detailed event data from selected competitions. The dataset includes shot locations, assist types, and other features that allow you to calculate your own xG using whatever model specification you prefer. This is the most labor-intensive option but also the most customizable.

The key principle when choosing a source is consistency. Different providers will give different xG numbers for the same game. This is normal and does not invalidate the metric. What matters is that you use the same source for all your analysis so that your comparisons between teams, matchups, and time periods are internally consistent.

Using xG to Identify Overperformers and Underperformers

The most direct betting application of xG is identifying teams whose actual results are significantly better or worse than their xG suggests. These teams are candidates for regression — a return toward results that match their underlying chance creation and concession.

Overperforming teams have scored more goals than their xG or conceded fewer goals than their xG against (xGA). A team with an actual goal difference of +15 but an xG difference of +5 has overperformed by 10 goals. This gap is likely due to a combination of exceptional finishing, outstanding goalkeeping, and favorable luck — all of which tend to regress toward the mean over time. The betting implication is that this team’s current odds are probably too short because the market is pricing in their results rather than their process.

Underperforming teams are the mirror image: their results are worse than their xG suggests. A team with an actual goal difference of -3 but an xG difference of +4 is creating significantly more than they concede but somehow losing. This is a team whose finishing or luck has been poor, and the odds on them are likely too long because the market has responded to results rather than underlying quality. These are the classic value candidates in xG-based analysis.

The speed of regression varies. In some cases, a team corrects within a few weeks. In others, structural factors — a genuinely elite goalkeeper, a striker who consistently finishes above expectation — sustain the overperformance for a longer period. This is why xG works best as one input in a broader analysis rather than a standalone signal. A team overperforming its xG by 5 goals with a league-average goalkeeper is a strong regression candidate. The same overperformance backed by one of the world’s best goalkeepers might be partially sustainable.

Applying xG to Specific Betting Markets

Beyond match outcomes, xG data enhances analysis across multiple betting markets.

Totals betting. A match between two teams with high xG creation rates (both above 1.5 xG per match) and weak xG concession rates (both above 1.3 xGA per match) is a strong over candidate, particularly if the posted total does not fully reflect the underlying chance creation levels. Conversely, a match between two defensively strong teams with low xGA is an under candidate.

BTTS. xG conceded is the most relevant metric for BTTS analysis. If both teams concede above 1.2 xGA per match, the probability of both scoring at least once is elevated. If one team concedes below 0.7 xGA, their opponent is unlikely to score, and BTTS No becomes attractive.

Goalscorer props. Individual player xG data shows how many high-quality chances a player receives. A striker whose personal xG per 90 is 0.55 but who has only scored once in six matches is underperforming and likely to see a scoring uptick. His anytime-scorer odds may be drifting longer due to the cold streak, creating a value opportunity.

Asian handicap and spreads. xG difference (xG minus xGA) is a strong predictor of match-level dominance. A team with an xG difference of +1.0 per match facing a team with -0.5 per match has a large process-based advantage that may or may not be reflected in the current odds.

The Signal in the Noise

Football is a low-scoring sport where small sample sizes and random variance dominate short-term results. A team can outplay its opponent for 88 minutes and lose 1-0 on a single counterattack. The final score says one thing; the xG says another. For bettors, the question is not which one is true — both are true in their own way — but which one is more predictive of future performance.

The evidence overwhelmingly favors xG. Teams whose xG significantly exceeds their actual output tend to improve. Teams whose actual output significantly exceeds their xG tend to decline. This pattern is not guaranteed in every case, but it is consistent enough across leagues and seasons to form the backbone of a profitable betting approach. The scoreboard tells you what happened. Expected goals tells you what is likely to happen next, and in betting, what happens next is the only thing that pays.