## xG as the Raw Material
Expected Goals (xG) is the single most powerful public input for football probability models. By modelling each shot as a probability of scoring (based on location, shot type, assist type), xG provides a much more stable measure of team quality than actual goals.
## The xG-to-Probability Pipeline
**Step 1: Estimate team xG rates**
For each team, calculate rolling average xG scored per match (λ_attack) and xG conceded per match (λ_defence) over the last 15–20 matches.
**Step 2: Calculate match-level expected goals**
λ_home_scores = (Home team λ_attack × Away team λ_defence) / League average λ
λ_away_scores = (Away team λ_attack × Home team λ_defence) / League average λ
**Step 3: Apply home advantage**
Multiply home team λ by home advantage factor (typically 1.10–1.15).
**Step 4: Apply the Poisson distribution**
Use λ_home and λ_away to generate the full scoreline probability matrix.
**Step 5: Aggregate into market probabilities**
Sum scoreline probabilities → 1X2, Asian handicap, over/under probabilities.
## Why xG Outperforms Results-Based Models
xG-based ratings are more predictive of future results than results-based ratings because:
- xG is less volatile than goals (averages out over fewer matches)
- xG reflects chances quality, which is more under team control than conversion
- xG identifies over/under-performing teams earlier than results alone
## Data Sources
Free xG data: Understat, FBref, Sofascore (partially), WhoScored (partially)
Paid xG data: StatsBomb, Opta, Wyscout (institutional quality)
Create a free account to track your progress and save bookmarks.