Predict football match scores using Poisson distribution. Enter expected goals (xG) for each team to see probability heatmap, top scores, and 1X2 / Over-Under probabilities.
| H\A | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|---|
| 0 | 7.4% | 8.2% | 4.5% | 1.6% | 0.5% | 0.1% | 0.0% |
| 1 | 11.1% | 12.3% | 6.7% | 2.5% | 0.7% | 0.1% | 0.0% |
| 2 | 8.4% | 9.2% | 5.1% | 1.9% | 0.5% | 0.1% | 0.0% |
| 3 | 4.2% | 4.6% | 2.5% | 0.9% | 0.3% | 0.1% | 0.0% |
| 4 | 1.6% | 1.7% | 0.9% | 0.3% | 0.1% | 0.0% | 0.0% |
| 5 | 0.5% | 0.5% | 0.3% | 0.1% | 0.0% | 0.0% | 0.0% |
| 6 | 0.1% | 0.1% | 0.1% | 0.0% | 0.0% | 0.0% | 0.0% |
| # | Score | Probability | Implied Odds | Result |
|---|---|---|---|---|
| 1 | 1:1 | 12.3% | 8.16 | Draw |
| 2 | 1:0 | 11.1% | 8.98 | Home |
| 3 | 2:1 | 9.2% | 10.88 | Home |
| 4 | 2:0 | 8.4% | 11.97 | Home |
| 5 | 0:1 | 8.2% | 12.24 | Away |
| 6 | 0:0 | 7.4% | 13.46 | Draw |
| 7 | 1:2 | 6.7% | 14.84 | Away |
| 8 | 2:2 | 5.1% | 19.78 | Draw |
| 9 | 3:1 | 4.6% | 21.76 | Home |
| 10 | 0:2 | 4.5% | 22.25 | Away |
| 11 | 3:0 | 4.2% | 23.94 | Home |
| 12 | 3:2 | 2.5% | 39.56 | Home |
Correct score prediction using the Poisson distribution treats each team's goals as independent random events with a known average rate — the expected goals (xG). If a team is expected to score 1.5 goals, the probability of scoring exactly 0, 1, 2, 3... goals follows a Poisson distribution with λ=1.5.
The joint probability of a scoreline h:a = Poisson(h, homeXG) × Poisson(a, awayXG). This independence assumption is a simplification — real goals are correlated (a team trailing may take more risks, increasing both teams' scoring rates) — but it remains the industry standard model for bookmakers and serious analysts.
xG (Expected Goals) quantifies the quality of scoring chances. A tap-in from 2 metres has xG ≈ 0.95; a header from 20 metres has xG ≈ 0.03. A full match xG of 1.8 means the team created chances historically worth 1.8 goals. Sources include Opta, StatsBomb, Understat, and FBRef. For pre-match modelling, use season-average xG adjusted for opponent strength.
This calculator produces a 7×7 matrix covering scores 0:0 through 6:6. The heatmap intensity reflects probability — darker cells are more likely. The matrix integrates to ~95% of all possible outcomes (remaining 5% are scores with 7+ goals for either team, which you can mentally add to the "6:X" or "X:6" cells).
P(k goals | xG=λ) = e^(−λ) × λ^k / k! P(1:0 | home=1.5, away=1.1): P(home=1) = e^−1.5 × 1.5^1 / 1! = 0.3347 P(away=0) = e^−1.1 × 1.1^0 / 0! = 0.3329 P(1:0) = 0.3347 × 0.3329 = 0.1115 (11.1%) Implied odds = 1/0.111 = 9.0 Most likely scores for home 1.5 xG, away 1.1 xG: 1. 1:1 — 12.1% (odds ≈ 8.3) 2. 1:0 — 11.2% (odds ≈ 8.9) 3. 2:1 — 10.1% (odds ≈ 9.9) 4. 0:0 — 9.7% (odds ≈ 10.3) 5. 2:0 — 9.4% (odds ≈ 10.6)
Pre-match xG projections are available from Opta/Stats Perform (commercial), FBRef (free historical), Understat (free, European leagues), and many sports data APIs. Most serious betting models use a team's rolling 10-game average xG for attack and defence, adjusted for home/away splits and opponent strength. Bookmaker implied xG can also be reverse-engineered from their Over/Under lines.
Poisson is a reasonable approximation but has known limitations: (1) goals are not fully independent — a deficit increases a team's attacking intensity; (2) it ignores in-game state (red cards, injuries); (3) xG itself has estimation error. The model performs best for pre-match markets in balanced games. For live betting or extreme mismatches, more sophisticated models are needed.
Compare the implied odds from this calculator to the market odds offered by bookmakers. If the market offers 12.0 on 1:1 but the Poisson model implies 8.0, the market is offering +EV (assuming your xG inputs are accurate). Correct score markets typically carry high vig (10–20%), so the threshold for value is higher than in moneyline markets.
Use pre-match xG from a reliable model, not a single game's xG (too small a sample). A team's 10-game rolling average xGA (expected goals against, for your defence) and xGF (for attack) adjusted for opponent quality gives a reasonable estimate. Many data sites publish pre-match xG projections directly.