← All free tools Free browser tool

Poisson football score predictor

Explore likely football scorelines from expected home and away goals. Calculations stay in your browser and are not betting advice.

Most likely scorelines

The Poisson distribution is the standard first model for football scorelines. Goals are rare, roughly independent events occurring at some rate per match, which is exactly the situation Poisson describes — and its failures are as instructive as its successes.

The model

  • Probability of exactly k goals: P(k) = (λ^k × e^−λ) / k!
  • λ is the expected goals for that team in that match
  • Scoreline probability assumes independence: P(h, a) = P_home(h) × P_away(a)
  • Match outcome probabilities are the sums over all scorelines where home > away, equal, or away > home.

Worked example

With λ_home = 1.7 and λ_away = 1.1, the chance of exactly 1 home goal is (1.7¹ × e^−1.7) / 1! = 31.0%, and of exactly 1 away goal is 36.6%. So 1–1 has probability 0.310 × 0.366 = 11.4%, typically the single most likely scoreline in a match of this shape.

Where independence breaks

The independence assumption is wrong in a specific, measurable way: basic Poisson systematically under-predicts draws, especially 0–0 and 1–1. Real matches are correlated — a red card, a defensive shell after taking the lead, or a game state where both teams stop attacking all violate the assumption. The Dixon–Coles adjustment exists precisely to correct low-scoring outcomes, and any model used seriously applies something like it. Treat raw Poisson as a baseline, not an answer.

Doing this at scale

Poisson needs λ, and λ comes from historical scoring rates adjusted for opponent strength and venue. Stats API supplies fixtures, full-time results and team identifiers that stay stable across seasons, so a rolling estimate can be rebuilt without re-mapping entities each time.

Common questions

Where do I get expected goals from?

Either derive them from historical scoring and conceding rates adjusted for opponent and venue, or take a published xG figure. Stats API publishes expected goals in team match statistics for covered competitions.

Why is my draw probability too low?

That is the known Poisson failure mode, not a bug in your arithmetic. Independence understates draws. Apply a Dixon–Coles style correction to the low-scoring cells.

For developers

Turn the idea into an integration.

This utility is intentionally client-side and does not require an account. When your product needs real competition, team, fixture, or result data, use the documented Stats API endpoints and your own API key.

Read the API quickstart →