Blog

Elo Rating in Football, the Poisson Model and xG: How Maths Predicts Matches

Three building blocks of almost every football model — Elo, Poisson and xG. What each one calculates, where it goes wrong and how they are combined.

An Elo rating in football sums up a team's overall strength in one number and turns the rating gap into a result probability. The Poisson distribution turns each team's expected goals into the probability of every scoreline, and from there into match result, totals and both-teams-to-score probabilities. xG (expected goals) is usually the input: it rates a team's attack and defence more accurately than goals do. Most football match result prediction models combine these three ideas. Here is how each one works, with simple examples.

Elo rating in football: team strength in one number

The Elo system comes from chess. Every team has a rating; after a match the winner takes some points from the loser. How many depends on how surprising the result was: a favourite's win barely moves the ratings, an underdog's win moves them a lot.

The expected result of team A against team B comes from the rating gap:

E = 1 / (1 + 10^((Rb − Ra) / 400))

With a 100-point gap in A's favour this gives about 0.64, with a 200-point gap about 0.76. That is the "expected share of points": a win counts as 1 and a draw as 0.5. After the match the rating changes by K × (result − E), where K sets how quickly the rating reacts to new matches.

Football versions of Elo usually add:

  • home advantage — a fixed bonus added to the home side's rating;
  • goal difference — a 4-0 win moves the rating more than 1-0;
  • a different K for competitions of different importance.

Strengths: one clear number, a simple formula, and the rating "forgets" old matches by itself. Limits: Elo knows nothing about goals or style, the draw probability has to be derived separately, and markets such as totals or both teams to score cannot be read from a single rating.

The Poisson distribution in football: from expected goals to a scoreline

Goals are rare events, and the number of goals one team scores in a match is described well by the Poisson distribution. If you know a team's expected goals λ, the probability that it scores exactly k goals is:

P(k) = λ^k × e^(−λ) / k!

Example: the model expects the home side to score 1.5 goals and the away side 1.0. If the two teams' goals are treated as independent, the probability of a scoreline is the product of the two probabilities:

Score Probability
0-0 ≈ 8.2%
1-0 ≈ 12.3%
1-1 ≈ 12.3%
2-1 ≈ 9.2%

Adding up all scorelines gives the result: home win ≈ 48.7%, draw ≈ 26.0%, away win ≈ 25.2%. The same grid gives over 2.5 goals (≈ 45.6%) and both teams to score (≈ 49.1%). That is the main strength: a Poisson model gives a score prediction and, from the same calculation, probabilities for every goals market at once, so they are consistent with each other. You can plug in your own expected goals and get the same grid with the Poisson calculator.

Limits: in reality the two teams' goals are not fully independent — the score changes tactics during a match. A plain Poisson model usually misjudges the frequency of draws and low scores slightly, so it is often corrected (the best-known fix is the Dixon–Coles adjustment for 0-0, 1-0, 0-1 and 1-1). And everything depends on one question: where λ comes from.

Where xG fits: predicting a match from chance quality

Expected goals for a Poisson model can be estimated from goals scored, but goals are noisy: a couple of lucky deflections distort the picture for weeks. xG rates the quality of every shot, so attack and defence ratings built on xG are steadier and reflect a team's real level faster.

A typical xG-based match prediction looks like this:

  1. For each team, estimate an attack rating (how much xG it creates relative to the league average) and a defence rating (how much xG it allows).
  2. Home expected goals = league home average × home attack × away defensive weakness; the away side mirrors it.
  3. Plug the resulting λ values into the Poisson distribution to get scoreline and result probabilities.

Elo or xG is not an either-or choice. Elo describes overall strength and updates easily; xG describes the quality of attack and defence. Many models use a strength rating for the overall picture and xG with Poisson for the goals markets.

Why no model gives guarantees

Every model shares the same limits:

  • data lags reality — a model does not know about an injury in yesterday's training until it shows up in the line-ups;
  • few matches early in the season or after a coaching change — the ratings have not caught up yet;
  • football is highly random — even an accurate 60% probability means a different outcome four times out of ten.

That is why a model is judged on a long history rather than on one match: how often predictions at around 60%, around 70% and so on actually come true. How to do that, and why hit rate alone says little, is covered in how to measure prediction accuracy. Another benchmark is the market: the margin-free probability from the odds is a collective estimate worth comparing any model against.

How the xG.Football model works

The xG.Football model is not an Elo rating and does not build its prediction from a pure Poisson distribution. For the main match result prediction it compares the teams on five statistical criteria — overall form, home and away form, expected scoring potential, average goal difference and head-to-head — and shows a calibrated probability: how often predictions with the same set of signals came true before. More in how the xG.Football model works. Every prediction is saved before kick-off and the history is public on the prediction statistics page. Probabilities for upcoming games are collected in the football predictions section.

The short version

Question Answer
What is an Elo rating in football? A number that describes a team's strength; after a match the winner takes points from the loser, more when the result is a surprise.
How is the Poisson distribution used in football? From each team's expected goals it gives the probability of every scoreline, and from those the result, totals and both teams to score.
How do you predict a match with xG? Use xG to rate each team's attack and defence, derive expected goals for each side and plug them into a Poisson model.
Which is better: Elo or xG? They are different tools: Elo describes overall strength, xG the quality of chances. They are often used together.
Does xG.Football use an Elo rating? No. The model compares the teams on five statistical criteria and shows a calibrated probability.

Plain-language guides on reading football stats and predictions: what xG actually measures, how to read shots-on-target and corner stats, how the xG.Football prediction model works, and what terms like "both teams to score" or "total" mean.

← Back to all blog articles

Match statistics