This is the core skill of data-driven football betting: building your own probability model for any match. Using xG data and Poisson distribution, you can generate match result, Over/Under, and BTTS probabilities that you can compare directly to bookmaker odds. This guide walks you through the complete process — step by step, with a worked Chelsea vs Tottenham example.
Why Poisson + xG?
Football goals are rare, random events — typically 0–5 per game. Poisson distribution is the mathematical model specifically designed for this type of data. When you feed it a team's expected goals average, it tells you the probability of every scoreline occurring.
Using actual goals (old approach)
Includes finishing variance, keeper luck, and randomness. A team on a bad run looks weaker than they are. A team on a hot streak looks stronger. Noisy signal.
Using xG (better approach)
Measures shot quality — what should have happened. Filters out finishing luck. More stable signal. Closer to true underlying performance.
Open the Predictions Hub and find Chelsea vs Tottenham. You need each team's home or away xG average — not the season overall average. Chelsea are at home, so use their home xG. Tottenham are away, so use their away xG.
Chelsea (Home)
Home xG avg: 1.75
Home xGA avg: 1.05
Tottenham (Away)
Away xG avg: 1.10
Away xGA avg: 1.40
These four numbers are your model inputs. Everything else follows from them.
The simplest Poisson model uses each team's raw xG. A more accurate approach adjusts for the opponent's defensive quality. The adjustment uses both teams' offensive and defensive xG averages relative to the league average.
Strength-adjusted xG calculation
Chelsea attack strength (home) = Chelsea home xG ÷ League avg home xG
= 1.75 ÷ 1.45 = 1.207
Tottenham defence strength (away) = Tottenham away xGA ÷ League avg away xGA
= 1.40 ÷ 1.30 = 1.077
Adjusted Chelsea expected goals = Attack strength × Defence strength × League avg
= 1.207 × 1.077 × 1.45 = 1.89
Adjusted Tottenham expected goals = 1.10÷1.35 × 1.05÷1.45 × 1.35 = 0.82
These adjusted figures (1.89 for Chelsea, 0.82 for Spurs) are what you enter into the Poisson Calculator.
Open the Poisson Calculator. Enter Chelsea's adjusted xG (1.89) as the home team and Tottenham's (0.82) as the away team. The calculator generates a scoreline probability matrix and aggregates the key market probabilities.
| Market | Your model probability | Bookmaker implied prob | Edge |
|---|---|---|---|
| Chelsea Win | 52% | 47.6% (odds 2.10) | +4.4% |
| Draw | 24% | 27.8% (odds 3.60) | −3.8% |
| Tottenham Win | 24% | 30.3% (odds 3.30) | −6.3% |
| Over 2.5 goals | 57% | 52.6% (odds 1.90) | +4.4% |
| BTTS Yes | 49% | 47.6% (odds 2.10) | +1.4% |
Chelsea Win and Over 2.5 goals both show positive edge. The draw and Tottenham win markets show the bookmaker has a more favourable price — no bet.
Your Poisson model is built on season averages. The AI assistant adds the context that average xG can't capture — injuries, rotation risk, tactical changes, and historical patterns.
"My Poisson model gives Chelsea a 52% win probability at home to Tottenham based on 1.89 xG vs 0.82 xG. Any injury news, rotation risk, or tactical information I should factor in before placing bets on this fixture?"
"Over 2.5 goals is my model's highest-edge market for Chelsea vs Tottenham at 57% vs 52.6% implied. Are there any reasons — Chelsea defensive changes, Spurs targeting counter-attacks, low-pressure fixture — that would make the under more likely than my xG average suggests?"
"Chelsea's season home xG average is 1.75. Has their xG in the last 5 home games trended above or below this, and what does it suggest about whether to use the season average or a recent-form adjusted figure in my model?"
Two markets show positive edge: Chelsea Win (+4.4%) and Over 2.5 goals (+4.4%). Choose the market where you have the highest confidence in your xG inputs and the lowest bookmaker margin.
✅ Preferred: Over 2.5 goals at 1.90
Model probability: 57%
Implied probability: 52.6%
Edge: +4.4%
Market margin: ~5% (lower risk)
Kelly: 5.6% full → 1.4% quarter Kelly
⚠️ Also positive: Chelsea Win at 2.10
Model probability: 52%
Implied probability: 47.6%
Edge: +4.4%
Market margin: ~8% (higher)
Kelly: 4.1% full → 1.0% quarter Kelly
On a £500 bank, quarter Kelly on Over 2.5 = £7. Open the Kelly Calculator to confirm your exact stake.
Record the bet in your tracker with the opening odds (1.90). After kickoff, note the closing line and calculate CLV. Over time, your average CLV tells you whether your xG inputs and strength-adjustment methodology is generating real edge against the market.
The Poisson Calculator outputs a grid of every scoreline — here is how to use it.
| Score (Chelsea – Spurs) | Probability | Implied correct score odds |
|---|---|---|
| 1 – 0 | 14.2% | 7.0 |
| 2 – 0 | 13.4% | 7.5 |
| 1 – 1 | 11.6% | 8.6 |
| 2 – 1 | 11.0% | 9.1 |
| 3 – 1 | 6.9% | 14.5 |
| 0 – 0 | 6.8% | 14.7 |
| 3 – 0 | 6.5% | 15.4 |
| 0 – 1 | 5.6% | 17.9 |
The implied correct score odds column shows what the bookmaker would offer if they had no margin. If a bookmaker is offering 1–0 at 9.0, that is better than your model's 7.0 fair price — a potential correct score value bet.
Summing all Chelsea win scorelines gives your match result probability. Summing all scorelines with total goals 3 or more gives your Over 2.5 probability.
Using season average instead of home/away split
A team averaging 1.5 xG overall might generate 1.9 at home but only 1.1 away. Using 1.5 for a home game underestimates their threat. Always use the context-appropriate split.
Not accounting for recent form trends
A team's season average can mask a significant performance trend. If their xG has declined sharply in the last 6 games, weight recent games more heavily than season average.
Ignoring fixture context
A mid-table team playing their last game of the season with nothing to play for will not perform at their season average xG. Context — motivation, rotation, congestion — affects the reliability of averages.
Over-betting small edge
A 2% model edge on a 52% probability market is real but small. Full Kelly recommends a large stake that amplifies model error. Always use quarter Kelly as a buffer against probability miscalculation.
How do you model a football match?
Gather each team's home or away xG average, adjust for opponent defensive quality, and enter the adjusted expected goals into a Poisson model. The model outputs scoreline probabilities which aggregate into match result, Over/Under, and BTTS percentages. Compare to bookmaker implied probabilities to find edge.
What is Poisson distribution in football?
Poisson distribution models the probability of a certain number of events in a fixed interval. In football, given that a team averages 1.5 xG per game, Poisson calculates the probability they score exactly 0 goals, 1 goal, 2 goals, and so on in a specific match.
How accurate is Poisson football modelling?
xG-based Poisson modelling consistently outperforms bookmaker margins for Over/Under and BTTS markets over large samples. Match result markets are harder to beat consistently. Accuracy improves significantly when using home/away splits rather than season averages, and when accounting for recent form trends.
Do I need to understand the maths to use the Poisson Calculator?
No. The KiqIQ Poisson Calculator handles all the mathematics. You supply each team's xG average, and the calculator outputs probabilities for every market automatically.
How to Research a Football Bet
The complete pre-match workflow from predictions hub to Kelly stake.
How to Use xG to Find Value Bets
xG divergence as a betting signal — with full worked example.
Analyse a Team Before Betting
xG, xGA, PPDA, and form quality framework for pre-bet analysis.
How Predictions Work
The Poisson model and AI inputs behind KiqIQ's match predictions.
Poisson Distribution in Football
The maths behind Poisson modelling — theory and examples.
Kelly Criterion in Practice
Stake sizing once your model has identified edge.