ELO and Poisson: how a football match is modeled
Where does a probability like "62% home win, 23% draw, 15% away" come from? Not from an analyst's intuition, but from mathematical models that turn team strength into goal counts, and those goals into outcome probabilities. Two of the most classic and robust pieces of that machinery are the ELO system and the Poisson distribution.
Understanding how these two tools fit together gives you X-ray vision into how a football model thinks, and why it sometimes sees value where the fan only sees a clear favorite. Let's go step by step, without unnecessary math.
Step 1: ELO, how strong each team is
ELO is a rating system that measures the relative strength of teams. It was born in chess and was adapted to football with enormous success. The idea is simple:
- Each team has a number (its ELO rating).
- The higher it is, the stronger.
- After each match, the winner steals points from the loser.
- How much it steals depends on the surprise: beating a much stronger rival adds a lot; beating a much weaker one, almost nothing.
That way the system self-corrects matchday by matchday: if a team improves, it rises; if it declines, it falls. The ELO difference between two rivals translates directly into a win probability. If the home team has 1900 and the away team 1700, those 200 points of advantage give a concrete probability that the home team wins.
ELO doesn't need to know names or stories: only results. It doesn't care about fame, it measures who's beating whom and by how much.
ELO is excellent at one thing: estimating who's better and by how much. But on its own it doesn't give you goals or separate the draw well. That's where the second piece comes in.
Step 2: Poisson, from strength to goals
The Poisson distribution is a statistical tool for modeling rare events that occur at a known average rate. And goals fit perfectly: they're scarce, and each team has an average number of goals it scores and concedes.
If you know a team scores on average 1.6 goals in this match (its "lambda"), Poisson tells you the probability that it scores exactly 0, 1, 2, 3... goals:
| Team goals | Probability (average = 1.6) |
|---|---|
| 0 | ~20% |
| 1 | ~32% |
| 2 | ~26% |
| 3 | ~14% |
| 4 or more | ~8% |
Where does that 1.6 come from? From combining the team's attacking strength with the rival's defensive strength, adjusted by the league average and by home advantage. This is where modern models bring in xG to estimate those strengths with less noise than raw goals.
Step 3: combine the two to produce the 1X2
Here's where the magic happens. You compute an expected goal average for each team (say home 1.6 and away 1.1). You apply Poisson to each and get the probability of every exact scoreline:
- P(home scores 2) × P(away scores 1) = probability of a 2-1.
- P(home scores 0) × P(away scores 0) = probability of a 0-0.
- ...and so on across the whole grid of possible scorelines.
Then you add up the cells according to the outcome:
- All scorelines where the home team scores more → home win probability (1).
- All tied scorelines → draw probability (X).
- All where the away team scores more → away win probability (2).
And for over/under, you add up the cells according to the goal total: all scorelines that add up to 3 or more goals → probability of Over 2.5. Almost every market comes out of that same Poisson grid.
Quick conceptual example
Home with an average of 1.6 and away with an average of 1.1. After building the Poisson grid and adding up the cells, you might get something like:
- Home win: 52%
- Draw: 26%
- Away win: 22%
- Over 2.5 goals: 48%
Those are probabilities, not odds. The final step is to compare these probabilities against the implied probability the bookmaker offers. If the model gives 52% to the home team (fair odds ~1.92) and the bookmaker pays 2.20, there's a value bet: the odds pay more than the estimated true probability.
Why ELO + Poisson work so well together
Each piece plugs the other's gap:
- ELO is great at measuring relative strength, but it doesn't generate goals or distinguish the draw well.
- Poisson turns goal averages into scoreline probabilities, but it needs someone to tell it each team's strength.
Together they form a complete system: ELO (or strength metrics fed by xG) provides the "who's better," Poisson provides the "how the goals are distributed." It's transparent, robust, and easy to audit, which is why it remains a pillar of sports modeling despite its age.
The limits (we say it clearly)
No model is revealed truth. ELO+Poisson has assumptions worth knowing:
- Poisson assumes independence between each team's goals, which isn't entirely true (a team that's losing attacks more). There are adjustments for this, such as the Dixon-Coles correction.
- It doesn't "see" the context: last-minute injuries, rotations, motivation, weather. You have to add those separately.
- It depends on good inputs. If the strength estimate is bad, the probabilities will be bad. Garbage in, garbage out.
At EDGE we use ELO-Poisson as one of the columns of our models, alongside xG and techniques like XGBoost, for both clubs and 2026 World Cup national teams. The point isn't to have the most complicated model, but to estimate the true probability honestly and compare it well against the market. When the odds pay more than that probability, there's positive expected value; when they don't, we say so and there's no bet.
In summary
- ELO measures the relative strength of teams and self-corrects with every result.
- Poisson turns an expected goal average into the probability of each scoreline.
- Combined, they generate 1X2 and over/under probabilities by adding up scoreline cells.
- The last step is comparing those probabilities against the odds to detect value.
- They have limits: goal independence, blindness to context, and dependence on good inputs.
Behind every percentage there's math, not magic. And knowing it helps you tell when to trust a model and when not to.
EDGE is an analysis tool, not a bookmaker. Betting carries risk. 18+. Play responsibly.
Put this into practice with EDGE
EDGE's AI finds the value for you and measures your edge with no smoke. Start free, in paper mode.