What Is Expected Goals (xG)?
Expected Goals assigns a probability to every shot based on historical conversion rates from similar positions. A penalty has an xG of ~0.76. A header from 15 yards has an xG of ~0.06. Sum all the shots in a match and you get the team's total xG โ a measure of how many goals they SHOULD have scored.
Why xG Matters for Betting
Actual goals are noisy. A team can dominate possession, create 2.5 xG worth of chances, and lose 1-0 to a team that created 0.4 xG. This happens all the time in soccer. And when it does, the betting market overreacts.
### The xG Edge - Team creates high xG but scores few goals: Undervalued by the market. Back them. - Team creates low xG but scores lots of goals: Overvalued. Fade them. - The market tracks results. You track process.
xG vs. xGOT (Expected Goals on Target)
xGOT only counts shots that hit the target, weighted by their placement. A shot into the top corner has a higher xGOT than the same location shot into the middle of the goal.
xGOT is more predictive for individual match outcomes, while xG is better for long-term team assessment.
Applying xG to Betting Markets
### Match Odds (1X2) Compare each team's season xG for and against to the implied probabilities in the odds. When your xG-derived probability exceeds the market's by 5%+, you have a bet.
### Asian Handicap xG tells you the expected margin. If Team A's xG differential suggests they should win by 1.2 goals on average, and the handicap is -0.5, that's value on Team A -0.5.
### Totals (Over/Under) Sum both teams' xG averages. If the combined xG suggests 3.1 goals per game but the total is set at 2.5, the over has value.
League-Specific Adjustments
### Premier League - Highest pace and transition frequency in Europe - xG models need to account for counter-attacking speed - Set pieces contribute ~30% of goals โ factor in set piece xG
### La Liga - More possession-based, lower xG per game on average - Overs are less frequent; look for value on unders - Home field advantage is stronger than in the PL
### Bundesliga - Highest goals per game of any top league - xG models align well with actual results (less variance) - Great league for systematic xG-based betting
### Serie A - Tactically defensive, especially for away teams - First half unders are profitable - xG models work well for home teams but overestimate away performance
Building Your xG Model
- Aggregate xG data from Understat, FBref, or StatsBomb
- Calculate rolling 10-match xG averages (home/away separately)
- Derive expected match xG from the averages
- Convert to implied probabilities using a Poisson distribution
- Compare to market odds
Common Mistakes
- Using xG from a single match (too small a sample)
- Ignoring home/away splits (massive in soccer)
- Not accounting for player availability (one injured striker can drop xG by 0.5)
- Treating all leagues the same (each has a different scoring environment)
*โ Pete Najarian*



