If you're betting on football based solely on goals scored and recent results, you're missing the big picture. Goals lie. A team can dominate a match, create 15 clear-cut chances, and lose 1-0 on a lucky penalty.
That's exactly why xG (Expected Goals) exists. This metric, adopted by all professional clubs and the sharpest bettors, measures what a team should have scored — not what it actually scored.
Understanding xG is like seeing football with X-ray vision. And in this guide, you'll learn how to use it for your bets.
What Is xG Exactly?
The Technical Definition
xG (Expected Goals) assigns a goal probability to every shot, based on several factors:
- Shooter position (distance and angle from goal)
- Shot type (foot, header, volley)
- Pass type (cross, cutback, counter-attack)
- Defensive pressure (number of defenders between shooter and goal)
- Game situation (corner, free kick, open play)
A shot facing the goalkeeper from 6 meters is worth roughly 0.76 xG (76% chance of scoring). A 30-meter shot from a tight angle is worth 0.02 xG (2% chance).
The Simple Analogy
Imagine replaying the same action 100 times with different players. xG tells you how many times, on average, that action turns into a goal.
A penalty = 0.76 xG (76 goals out of 100 penalties on average) A header from a corner = 0.06 xG (6 goals out of 100 similar headers) A strike from the edge of the box = 0.08 xG (8 goals out of 100 similar strikes)
Why xG Is Crucial for Betting
Goals Are Random in the Short Term
In a single match, the score can be very different from what the game deserved. A goalkeeper makes a miraculous save, a shot hits the post, an offside cancels a legitimate goal.
But over 10, 20, 30 matches, actual performance converges toward xG. A team overperforming its xG will eventually regress. A team underperforming will eventually be rewarded.
Real Example: Identifying an Overvalued Team
Take a team with these stats over 10 matches: - 14 goals scored (1.4 per game) - 12.5 xG created (1.25 per game)
This team scores 12% more than what its chances deserve. That's overperformance — often due to luck or a striker in exceptional form.
Prediction: their results will likely decline in the coming weeks. Odds based on their 14 goals are too low.
Real Example: Identifying an Undervalued Team
Team B over 10 matches: - 8 goals scored (0.8 per game) - 11.2 xG created (1.12 per game)
This team creates enough to score 11 goals but has only scored 8. They're underperforming by 29%. Bad luck, temporary poor finishing, or opposing goalkeepers in the zone.
Prediction: this team will likely improve its results. Their odds are too high — it's a potential value bet.
Join ProbWin for free
Access our AI predictions for NBA, NHL, Soccer & Tennis. Sign up in 30 seconds.
How to Use xG for Your Bets
1. Compare xG and Actual Goals
| Metric | Meaning |
|---|---|
| Goals > xG | Overperformance (likely downward regression) |
| Goals < xG | Underperformance (likely upward regression) |
| Goals ~ xG | Normal performance (reliable data) |
2. Analyze Chance Quality
Two teams can have the same xG in very different ways:
Team A: 1.5 xG from 3 big chances (0.50 xG each) Team B: 1.5 xG from 15 small chances (0.10 xG each)
Team A has a more direct and efficient game. Team B shoots a lot but from distance. This distinction can influence your analysis on Over/Under markets.
3. xG Against (xGA) for Defense
xG also works for evaluating defenses:
- Low xGA = solid defense that concedes few dangerous chances
- High xGA = leaky defense, even if the goalkeeper saves everything
A goalkeeper conceding fewer goals than their xGA will eventually concede more. A defense with high xGA but few goals conceded is living on borrowed time.
How Is xG Calculated?
The Statistical Model Behind xG
xG is calculated using machine learning models trained on hundreds of thousands of historical shots. The main data providers (StatsBomb, Opta, Wyscout) use slightly different algorithms, but the core principles are the same.
Input Variables
| Variable | Relative Weight | Example |
|---|---|---|
| Distance to goal | Very high | 6m = 0.40 xG, 25m = 0.03 xG |
| Shooting angle | High | Facing goal vs tight angle |
| Shot type | Medium | Foot (0.12), header (0.06), volley (0.08) |
| Previous pass type | Medium | Cross (0.06), through ball (0.15), corner (0.04) |
| Speed of play | Medium | Counter-attack vs set piece |
| Defensive pressure | High (StatsBomb) | 0-3 defenders between shooter and goal |
| Goalkeeper position | Medium (StatsBomb) | Keeper advanced vs on the line |
StatsBomb vs Opta: What's the Difference?
| Provider | Specificity | Coverage |
|---|---|---|
| StatsBomb | Includes defender and goalkeeper positions (freeze frame) | Top 5 leagues + national teams |
| Opta | Simpler model, no freeze frame | 40+ leagues worldwide |
| Understat | Open source, neural network model | Top 5 European leagues |
| FBRef | Uses StatsBomb data | Top 5 leagues + cups |
The StatsBomb model is considered the most accurate because it uses freeze frames — snapshots of every player's position at the moment of the shot. This measures actual defensive pressure, not just an estimate.
Common xG Values
Penalty → 0.76 xG
One-on-one after counter-attack → 0.45 xG
Shot inside the box (central) → 0.15-0.25 xG
Header from corner → 0.04-0.08 xG
Shot from outside the box → 0.02-0.06 xG
Direct free kick (25m) → 0.04-0.06 xG
xG vs xGA: Understanding Attack AND Defense
The xG / xGA Duo
xG measures offensive quality. xGA (Expected Goals Against) measures defensive quality — how many goals a team should concede based on the chances they give up.
| Metric | What It Says | Good Sign | Bad Sign |
|---|---|---|---|
| High xG | Team creates many quality chances | Strong attack | — |
| Low xGA | Team concedes few dangerous chances | Solid defense | — |
| xG - xGA (xGD) | Overall differential | Positive = dominant | Negative = dominated |
| Goals - xG | Finishing efficiency | Positive = luck/quality | Negative = bad luck |
| Goals conceded - xGA | Goalkeeper performance | Negative = good keeper | Positive = weak keeper |
xG/xGA Big 5 Leagues Table (Typical Team Profiles)
| Team Type | xG/match | xGA/match | xGD/match | Profile |
|---|---|---|---|---|
| Elite (Man City, Bayern) | 2.2+ | 0.8-1.0 | +1.2 | Dominant on both ends |
| Good (Dortmund, Napoli) | 1.8-2.0 | 1.0-1.3 | +0.6 | Offensive but vulnerable |
| Mid-table | 1.2-1.5 | 1.2-1.5 | ~0 | Balanced |
| Relegation zone | 0.8-1.1 | 1.5-2.0 | -0.7 | Struggling everywhere |
xGD: The Best Predictor of Final Standings
The xG differential (xGD = xG - xGA) is the best predictor of final league standings in football. Better than mid-season points, better than actual goal difference.
Why? Because xGD filters out luck. A team with +0.8 xGD per match but sitting in 5th place is likely underperforming in the table and should climb.
How ProbWin Uses xG in Its Models
At ProbWin, xG is at the heart of our soccer prediction model. Here's how we integrate it:
Our OSXG Approach (Opponent-Strength Adjusted xG)
Our V5 model goes beyond raw xG. We adjust each team's xG based on the defensive strength of the opponent. In practice:
- PSG's xG against a Ligue 2 defense is not the same as against Atletico Madrid
- Our OSXG normalizes data to compare teams on equal footing
- This adjustment is a key feature of our CatBoost model
Markets Covered
| Market | Role of xG | How |
|---|---|---|
| Over 2.5 | Central | High combined xG = more expected goals |
| Under 2.5 | Central | Low xGA on both sides = fewer chances |
| BTTS Yes | Important | Do both teams create chances? |
| BTTS No | Important | One team has very low xGA = probable shutout |
For detailed market analysis, check our guides on Over/Under and BTTS betting.
xG and BTTS / Over Under Betting: Key Connections
xG and Over/Under
The simplified formula for estimating the total goals:
Expected total ≈ xG(Team A) adjusted by xGA(Team B)
+ xG(Team B) adjusted by xGA(Team A)
If expected total > bookmaker's Over/Under line → Over has value. If expected total < the line → Under has value.
xG and BTTS
For the BTTS market, each team's individual xG matters more than the combined xG:
- BTTS Yes: both teams have xG > 1.0 AND xGA > 1.0 → they create and concede chances
- BTTS No: at least one team has xGA < 0.8 → impenetrable defense, probable shutout
Trap to avoid: a high combined xG doesn't mean BTTS. If one team creates 2.5 xG and the other 0.3 xG, the total is high but BTTS No is more likely.
FAQ: Most Common Questions About xG
Is xG reliable for betting?
Yes, xG is one of the most reliable metrics for football betting. Over a sample of 10+ matches, xG predicts future performance better than actual goals. It's a "merit" indicator that filters out short-term variance.
What is the difference between xG and expected goals?
They are the same thing. xG = Expected Goals. The English abbreviation "xG" has become the international standard.
Does xG account for shooter quality?
Standard xG models do not account for individual shooter quality. A shot by Mbappe and a shot by a center-back from the same position have the same xG. Advanced models like xGOT (Expected Goals On Target) incorporate shot quality after the shot is taken.
How do you calculate xG for a match?
A match xG is the sum of xG for every shot taken. If a team shoots 12 times with individual xG values of 0.02, 0.45, 0.08, 0.12, etc., the total match xG is the sum of all those values.
Does xG work for lower leagues?
Less effectively. xG is calibrated on top 5 European league data. For lower leagues, models have less data and values are less reliable. At ProbWin, we cover the Big 5 leagues (Premier League, La Liga, Serie A, Bundesliga, Ligue 1) where xG data is most robust.
Where can I see ProbWin's xG data?
On every soccer match page, we display xG data in the AI analysis. Our model uses xG as a primary feature to calculate probabilities for each market.
The Limitations of xG
What xG Doesn't Capture
- Shooter quality: Messi at 0.15 xG is not an average shot
- Mental state: pressure, fatigue, confidence
- Tactical context: pressing, low block, transitions
Models Vary
Different sources (Opta, StatsBomb, Understat, FBRef) use slightly different models. Values can vary by 10-15% depending on the source.
Tip: always use the same source when comparing teams against each other.
Where to Find xG Data
Free Sources
| Site | Coverage | Quality |
|---|---|---|
| FBRef | Top 5 leagues + cups | Excellent (StatsBomb data) |
| Understat | Top 5 European leagues | Very good |
| Sofascore | Wide coverage | Good |
On ProbWin
Our prediction models integrate xG and xGA into football match analysis. When we display an Over 2.5 or BTTS probability, the xG of both teams is a key factor in the calculation.
Practical Application: 3 xG Strategies
Strategy 1: Regression
Identify teams with a significant gap between goals and xG over the last 5-10 matches. Bet on regression to the mean.
Strategy 2: The xG Match
Before a match, compare Team A's average xG created with Team B's average xGA conceded (and vice versa). This gives an estimate of the expected score.
Example: - Team A creates 1.8 xG/match, Team B concedes 1.4 xGA/match -> A should create ~1.6 xG - Team B creates 1.2 xG/match, Team A concedes 1.1 xGA/match -> B should create ~1.15 xG
Expected score: approximately 1.6 - 1.15, or 2.75 total goals.
Strategy 3: Big Chances
Some models distinguish "big chances" (xG > 0.30). A team that creates many big chances but doesn't score is an excellent candidate for betting on their upcoming matches.
Conclusion
xG isn't perfect, but it's the most powerful tool for seeing beyond the scores. It allows you to:
- Identify lucky or unlucky teams
- Anticipate performance regressions
- Find value in the odds
Like xERA in baseball or GSAx in hockey, xG separates skill from luck. And in the long run, skill always wins.
Want to go further? Check out our other guides on Asian Handicap and BTTS betting.