Join The Team!

A signing like no other...

Name
Email
Password
Selected Plan:
Pro£19.99/m
Pro w/ API£69.99/m
Season Ticket£179.99

OddAlerts Guides

Learn How to Use Our Football Betting Tools

Expected Goals (xG) Explained: How to Use xG for Football Betting

What Is Expected Goals (xG)?

Expected Goals, commonly written as xG, is a statistical metric that measures the quality of goal-scoring chances in football. Rather than simply counting goals, xG assigns a probability to every shot based on how likely it is to result in a goal.

A shot with an xG of 0.75 means that historically, shots taken from that position and situation are scored 75% of the time. A shot with an xG of 0.03 means it's essentially a speculative effort with only a 3% conversion rate.

When you add up the xG of every shot a team takes in a match, you get their total match xG — the number of goals you'd expect them to score based on the chances they created.


How Is xG Calculated?

Every shot in a football match is evaluated against a model trained on hundreds of thousands of historical shots. The key factors that determine a shot's xG value include:

  • Distance from goal — Shots closer to goal have higher xG
  • Angle to goal — Central positions score more often than tight angles
  • Body part — Headers typically have lower xG than shots with the foot
  • Assist type — Through balls and crosses create different quality chances
  • Situation — Open play, set piece, counter-attack, or penalty
  • Goalkeeper position — Whether the keeper is set or caught out of position

A penalty has an xG of roughly 0.76. A one-on-one from 8 yards out might be 0.45. A long-range effort from 30 yards is typically around 0.03-0.05.


Reading an xG Table: What the Numbers Mean

When you look at an xG league table on OddAlerts xG Stats, you'll see several key columns:

  • xG — Expected Goals For. How many goals a team should be scoring based on their chances.
  • xGA — Expected Goals Against. How many goals a team should be conceding.
  • xGD — Expected Goal Difference (xG minus xGA). The best overall indicator of team quality.
  • xG per game — Average xG created per match. Useful for comparing teams with different numbers of games played.

Here's how a live xG table looks for the Premier League this season — teams ranked by Expected Goal Difference:

Premier League xG Table

Live Data
# Team P xG xGA xGD xG/90
1 Arsenal 33 62.2 30.0 +32.1 1.88
2 Manchester City 33 63.4 39.7 +23.7 1.92
3 Liverpool 33 57.6 38.3 +19.3 1.75
4 Chelsea 34 65.1 47.0 +18.2 1.92
5 Manchester United 33 59.0 45.7 +13.3 1.79
6 Crystal Palace 32 49.8 44.1 +5.7 1.56
7 Newcastle United 33 53.2 48.6 +4.6 1.61
8 AFC Bournemouth 34 57.3 53.7 +3.6 1.68
9 Brentford 33 52.1 48.9 +3.2 1.58
10 Leeds United 34 55.3 52.3 +3.0 1.63
11 Brighton & Hove Albion 34 50.2 47.5 +2.7 1.48
12 Aston Villa 33 45.7 46.4 -0.7 1.39
13 Fulham 33 47.4 49.1 -1.7 1.43
14 Everton 33 43.3 48.1 -4.8 1.31
15 Nottingham Forest 33 41.2 50.7 -9.4 1.25
16 Tottenham Hotspur 33 39.3 49.5 -10.2 1.19
17 West Ham United 33 45.7 60.7 -15.0 1.38
18 Sunderland 33 35.8 53.5 -17.7 1.08
19 Wolverhampton Wanderers 33 29.6 55.4 -25.8 0.90
20 Burnley 34 31.1 75.0 -43.9 0.91

The xG vs Actual Goals Gap

This is where xG becomes powerful for betting. If a team has scored 25 goals but their xG is only 18, they are overperforming. They're either getting lucky with finishing or scoring low-probability shots at an unsustainable rate.

Conversely, if a team has scored 12 goals but has an xG of 19, they are underperforming. Their chance creation is strong but finishing has let them down — and historically, this tends to regress toward the xG value.


How to Use xG for Betting

Over/Under Goals Markets

xG is directly applicable to goals markets. If two teams average a combined xG of 3.2 per game when they play, the Over 2.5 Goals market is statistically likely to hit more often than not.

Look for matches where:

  • Both teams have a high xG per game (above 1.5 each)
  • The league itself is high-scoring

Top 10 Leagues by Goals Per Game

Live Data
# League Played Total Per Game
1 Kampionati i Femrave 58 421 7.26
2 1. ŽFL 33 234 7.09
3 1. Womens Liga 114 806 7.07
4 U19 League C 33 211 6.39
5 Tasmania Southern Championship 22 127 5.77
6 Tercera Federación Femenina - Group 2 83 471 5.67
7 Super League 54 304 5.63
8 U19 League B 27 149 5.52
9 Liga 2 Feminin 121 666 5.50
10 Ligue 1 Women 95 520 5.47

BTTS (Both Teams to Score)

xG helps with BTTS markets by revealing whether both teams genuinely create chances. A team might have a poor goals record, but if their xG per game is above 1.0, they are creating enough chances that goals are likely to come.

Combine this with xGA — if a team also concedes a high xGA, that match is a strong BTTS candidate.

Top 10 Leagues for BTTS

Live Data
# League Played Count Rate
1 Brisbane Premier League 48 42 88%
2 3. Division - Group 3 21 17 81%
3 3. Division - Group 2 21 17 81%
4 U19 League B 27 21 78%
5 Future Cup 27 21 78%
6 Jugendliga U15 104 81 78%
7 U19 Divisie 1 91 70 77%
8 U19 League C 33 25 76%
9 South Australia State League 1 Reserves 42 32 76%
10 Division 2: Norra Gotaland 28 21 75%

Match Result and Asian Handicap

xGD (Expected Goal Difference) is the strongest predictor of future match outcomes. Teams with a high positive xGD are creating far more quality chances than they're conceding, and tend to sustain their league position even through bad runs of form.

Here are the current La Liga and Bundesliga xG standings — compare the xGD leaders against the actual league table to spot mismatches:

La Liga xG Table (Top 10)

Live Data
# Team P xG xGA xGD xG/90
1 FC Barcelona 32 77.5 38.6 +39.0 2.42
2 Real Madrid 32 67.0 36.4 +30.6 2.09
3 Athletic Club 32 45.4 34.4 +11.0 1.42
4 Villarreal 32 50.7 40.4 +10.3 1.59
5 Atlético Madrid 32 46.4 38.5 +7.9 1.45
6 Real Betis 32 46.6 38.9 +7.7 1.46
7 Rayo Vallecano 32 45.3 42.5 +2.8 1.42
8 Valencia 32 42.9 40.1 +2.8 1.34
9 Real Sociedad 32 45.4 43.7 +1.7 1.42
10 Deportivo Alavés 32 42.6 42.2 +0.3 1.33

Bundesliga xG Table (Top 10)

Live Data
# Team P xG xGA xGD xG/90
1 FC Bayern München 30 82.3 33.6 +48.7 2.74
2 RB Leipzig 30 64.0 43.9 +20.1 2.13
3 Bayer 04 Leverkusen 30 57.8 40.0 +17.8 1.93
4 Borussia Dortmund 30 54.8 37.9 +17.0 1.83
5 VfB Stuttgart 30 53.3 45.9 +7.4 1.78
6 TSG Hoffenheim 30 50.9 44.4 +6.5 1.70
7 SC Freiburg 30 47.7 44.6 +3.1 1.59
8 FC Union Berlin 30 39.9 43.4 -3.5 1.33
9 FSV Mainz 05 30 44.2 47.9 -3.7 1.47
10 FC Köln 30 44.5 49.1 -4.6 1.48

When you see a team on a losing streak but their xGD is still positive, the market often overreacts. That's where value lies — the underlying performance metrics suggest the team is better than their recent results indicate.

Identifying Value in Odds

The core principle: when actual results diverge from xG, odds are often mispriced.

  • A team on a winning streak with low xG may have shorter odds than they deserve
  • A team in poor form with strong xG may have longer odds than warranted
  • Early-season results are especially unreliable — xG stabilises faster than points tallies

xG on Target (xGoT)

xGoT (Expected Goals on Target) is a more refined metric that only considers shots that were actually on target. While standard xG evaluates the chance, xGoT also factors in where the shot was placed.

This makes xGoT better for evaluating individual matches — if a team had 2.1 xG but only 0.8 xGoT, their finishing was poor. If their xGoT exceeds their xG, they're placing shots well and making keepers work.


Common Pitfalls When Using xG

Don't use xG from a single match in isolation

One match of xG data is noisy. A team can have 3.0 xG and lose 1-0. That's football. xG is most reliable over 10+ matches where the sample size smooths out variance.

xG doesn't account for everything

Set-piece routines, individual brilliance, and defensive organisation can cause teams to consistently out or underperform xG. Some teams have structural reasons for their xG gap.

Penalty xG can distort team totals

A team that wins a lot of penalties will have inflated xG. Look at npxG (Non-Penalty xG) for a cleaner picture of open-play chance creation.

Context matters

A team chasing a game at 2-0 down will often rack up xG in the final 15 minutes against an opponent sitting deep. That late xG is real, but the match context is different from 0-0 first-half chances.


Using OddAlerts xG Stats

The OddAlerts xG Stats tool gives you access to xG data across 40+ leagues worldwide, including the Premier League, La Liga, Bundesliga, Serie A, Ligue 1, MLS, and more.

For each league you can see:

  • Full xG table — Every team ranked by xG, xGA, xGD, and per-game averages
  • Home vs Away splits — How teams perform at home versus away in xG terms
  • Individual fixture xG — Shot-by-shot xG breakdown for recent matches
  • Team xG profiles — Deep dives into any team's xG trends over the season
  • CSV downloads — Export full xG data for any league for your own analysis

Here's the current Serie A xG table — click through to explore any league in detail:

Serie A xG Table (Top 10)

Live Data
# Team P xG xGA xGD xG/90
1 Inter 33 65.1 28.5 +36.6 1.97
2 Juventus 33 60.0 34.9 +25.2 1.82
3 Como 33 53.1 30.6 +22.4 1.61
4 Atalanta 33 57.7 39.3 +18.4 1.75
5 AC Milan 33 53.9 39.2 +14.8 1.63
6 Napoli 33 48.3 36.2 +12.1 1.46
7 Roma 33 45.8 34.7 +11.1 1.39
8 Bologna 33 45.4 37.7 +7.7 1.38
9 Fiorentina 33 46.9 46.4 +0.5 1.42
10 Hellas Verona 33 33.8 39.1 -5.2 1.02

You can use this data alongside OddAlerts Value Bets and Quick Filters to build a data-driven approach to finding profitable bets in goals markets.


Key Takeaways

  • xG measures chance quality, not just results — it tells you what should have happened
  • The xG vs actual goals gap reveals teams likely to regress, which creates betting value
  • xGD is the best predictor of future team performance, ahead of points or goal difference
  • Use xG data over 10+ match samples for reliable signals
  • Combine xG with league context — high-scoring leagues produce higher xG across the board
  • The OddAlerts xG tool covers 40+ leagues with full xG tables, home/away splits, and fixture-level data
Browse Guides