
Expected Goals (xG): Find Value Bets
Learn what expected goals (xG) is, how it's calculated, and how to use xG data to find value in football betting markets. Practical guide with real examples.
Quick Summary
Expected goals (xG) is a football metric that measures the probability of a shot resulting in a goal, based on factors like shot location, angle, and assist type. It is now shown on TV broadcasts and used by analysts worldwide. For bettors, xG reveals the difference between what a scoreline says happened and what actually happened on the pitch. Teams that consistently outperform or underperform their xG tend to regress, and that regression creates betting opportunities. This guide explains what xG is, how it is calculated, where to find it for free, and how to apply it across match result, Over/Under, and BTTS markets.
What Is Expected Goals (xG)?
You have probably seen "xG" appear on a broadcast or in a match report. Maybe Liverpool had an xG of 2.3 and Arsenal had 0.8. The final score was 0-1. You wondered what that number actually means.
Expected goals is a single number that summarises the quality of scoring chances created in a match. It does not count shots. It counts how likely each shot was to result in a goal, based on historical data from thousands of similar situations.
Definition
Expected goals (xG) is the probability that a given shot will result in a goal, expressed as a number between 0 and 1. An xG of 0.10 means shots from that situation have historically resulted in a goal 10% of the time. A team's total match xG is the sum of all individual shot xG values added together.
A tap-in from two yards out might carry an xG of 0.85. That chance should result in a goal almost every time. A long-range effort from 30 yards under pressure might carry an xG of 0.02. Only about 2 in 100 shots from that situation go in.
When you add up all of a team's shot xG values in a match, you get their total xG for that game. If a team creates five chances with xG values of 0.30, 0.15, 0.12, 0.08, and 0.05, their total match xG is 0.70. Based on historical data, they would be expected to score around 0.7 goals from those chances.
How xG Is Calculated
xG models are built by collecting historical shot data and looking at what percentage of shots from each situation ended in a goal. The more factors the model considers, the more accurate it becomes.
Most publicly available xG models use the following inputs:
- Shot location: Distance from goal and angle to the near post. Shots closer to the centre of the goal and nearer to the goal line are worth more.
- Body part: Headed shots are converted at a much lower rate than foot shots. Penalties are treated separately and given a fixed value.
- Assist type: Whether the chance came from a cross, a through ball, a corner, a set piece, or a dribble. Each type has different historical conversion rates.
- Game situation: Open play vs set piece. Counterattack shots are sometimes treated differently because defenders are out of position.
Advanced models from providers like StatsBomb add even more variables, including the position of defenders in the shot path, the goalkeeper's location before the shot, and the speed of the pass before the shot. These are called "big data" xG models and they require proprietary data collection.
For betting purposes, the publicly available models from Understat, FBref, and Infogol are accurate enough. The differences between models are small at the level of analysis most bettors need.
xG vs Actual Goals: The Regression Opportunity
Here is where xG becomes directly useful for betting. Over a single match, the scoreline and the xG can look very different. A team can win 1-0 despite having an xG of 0.4 if their striker scores an improbable long-range effort. The result is a win. The underlying performance was weak.
Over many matches, scorelines tend to converge with xG. The random elements cancel out. A team that consistently produces an xG of 1.8 per match will eventually start scoring around 1.8 goals per match on average.
This creates the core betting application: when a team's actual results consistently differ from what their xG suggests, they are likely to regress. And regression creates value on the betting markets.
The pattern is well documented across multiple seasons: teams that heavily outperform their xG in the first six to ten weeks of a season almost always give back those gains by week 20. Regression is not a question of if, it is a question of when. The same applies in reverse: teams with strong xG numbers but poor early results often become very profitable bets once the bookmakers have written them off.
Checking closing line value alongside xG data is a powerful combination. If you back a team whose xG strongly favours them but whose odds have drifted because of recent results, you may find genuine value before the market corrects.
Post-Shot xG (PSxG) Explained
Standard xG is calculated the moment before a shot is taken. It does not know where the ball will end up inside the goal, or whether the goalkeeper will dive to the right corner or stay central.
Post-shot xG (PSxG) takes the analysis one step further. It is calculated after the shot and incorporates:
- Shot placement within the goal frame (top corner vs centre vs near post)
- The goalkeeper's position at the moment the shot is struck
- The speed and trajectory of the shot (in some advanced models)
PSxG is most useful for evaluating goalkeeper performance. If a goalkeeper faces shots with a combined PSxG of 2.4 but only concedes 1 goal, they have saved 1.4 goals above expectation. That is excellent goalkeeping. If a goalkeeper concedes 3 goals from shots with a PSxG of 1.8, they are underperforming their expected save rate.
xGA: Evaluating Defensive Performance
xGA (expected goals against) measures the quality of chances a team concedes. While xG looks at the attacking side, xGA looks at the same data from the defensive perspective. A team with a low xGA is limiting opponents to low-quality shots, meaning their defensive shape and pressing are working.
Where xGA gets interesting for betting is when you compare it to actual goals conceded. A team conceding fewer goals than their xGA suggests is probably benefiting from strong goalkeeping or finishing luck on the opponent's side. Over time, those numbers tend to converge.
Comparing a team's xGA to their actual goals conceded is especially useful for Over/Under and BTTS markets. If a team has an xGA of 1.5 per match but has only been conceding 0.8, regression toward the expected figure could push their results toward more goals.
Practical Example: Reading an xG Scoreline
Suppose you open a match report and see: Brighton 1-0 Wolves (xG: 2.4-0.6). What does this tell you?
Brighton created enough chances to score roughly 2.4 goals, but only converted one. Wolves managed chances worth 0.6 expected goals and somehow scored none. The scoreline was close, but the underlying performance was not. Brighton dominated in chance creation.
Now imagine Brighton's next match is against a mid-table side, and the bookmakers have priced them as slight underdogs because their recent results have been mixed. If you look at the xG data and see that Brighton has been producing 2.0+ xG per match over the last five games but only scoring 0.8 goals per match, you have a team that is creating plenty but not finishing. That finishing rate will likely improve, and the current odds may not reflect the quality of chances they are generating.
This is how xG helps you identify expected value in betting: the market prices teams on results, but xG reveals the underlying performance.
Using xG in Betting Markets
There are three main markets where xG data is most useful:
- Match result (1X2): Teams consistently outperforming their xG are due to regress. Back against them when the odds reflect their inflated results rather than their actual chance creation.
- Over/Under goals: Add a team's average xG for and xGA together. If the combined figure is above the bookmaker's line, there may be value on the Over. If below, consider the Under.
- Both Teams to Score (BTTS): Teams with high xG and high xGA tend to be involved in open, high-scoring matches. BTTS Yes can be a value bet if the odds do not reflect this pattern.
For in-play betting, xG data is even more powerful. Live football betting lets you act on real-time xG numbers. If one team has an xG of 1.8 at half-time but the score is 0-0, the in-play odds may overvalue the draw, creating value on that team to win.
Whichever market you trade, always compare the odds across multiple bookmakers. Line shopping ensures you capture the best available price once your xG analysis has identified a value opportunity.
Where to Find xG Data
You do not need a paid subscription to start using xG in your analysis. Several free sources provide reliable data:
- Understat: Covers the top five European leagues plus the Russian Premier League. Offers match-level and player-level xG, shot maps, and season trends. This is the best free starting point for most bettors.
- FBref: Powered by StatsBomb data. Covers a wider range of leagues and includes xG, xGA, PSxG, and progressive passing data. More detailed but slightly harder to navigate.
- WhoScored: Shows match-level xG in match summaries. Less granular than Understat or FBref, but useful for a quick check.
For more serious analysis, paid providers like Infogol and Opta offer shot-level data, rolling averages, and API access. But for most bettors, the free sources above are more than enough to build an edge.
Limitations of xG
xG is a powerful tool, but it is not perfect. Understanding its limitations will help you avoid costly mistakes:
- No defensive pressure data: Standard xG models do not know how many defenders were between the ball and the goal, or how quickly they were closing down.
- Goalkeeper quality ignored: A shot against a world-class goalkeeper has the same xG as the same shot against a backup keeper. Only PSxG adjusts for this.
- Individual player skill: xG treats all shooters equally. A penalty taken by a specialist has the same xG as one taken by a nervous centre-back.
- Small sample sizes: A team's xG from five matches is unreliable. You generally need 10-15 matches before xG data becomes a stable predictor of future performance.
To get the most accurate picture, combine xG with other data points. Removing the vig from bookmaker odds gives you a true implied probability you can compare against your xG-based estimate, and tracking your results over time tells you whether your xG strategy is actually producing a profit.
Every major bookmaker has access to xG data that is more detailed and more real-time than anything available to individual bettors. Trying to out-model the bookmakers on xG alone is an uphill battle. For most people, volume betting is the most reliable way to earn money from betting over time, because it works with the system rather than trying to beat it on data.
Expected goals (xG) is one of the most useful metrics available to football bettors. It strips away the noise of lucky goals and unlucky misses, revealing the true quality of chances a team creates and concedes.
The core application is simple: find teams whose results do not match their underlying xG performance, and bet on regression. Combine xG with xGA, PSxG, and line shopping to sharpen your edge further.
Start with free data from Understat or FBref. Track your bets based on xG analysis for at least 50 wagers before drawing conclusions. The sample size matters as much in your own results as it does in the data you are analysing.
Find Your Next Edge
Sharkbetting's Oddsmatcher compares thousands of odds lines in real time and surfaces the best opportunities across European bookmakers.
Related Articles
Related Articles

Line Shopping for Better Odds
Line shopping means comparing odds across multiple bookmakers to get the best price on every bet. Learn how it adds 1-3% to your ROI and the tools to use.

Expected Value in Betting: Complete EV Guide
Learn what expected value (EV) means in betting, how to calculate it, and how +EV thinking separates profitable bettors from the rest. With real examples.