Blog

Elo for Sports Predictions: What It's Good For and How to Use It

By Philo Park
Elo for Sports Predictions: What It's Good For and How to Use It

Elo is one of the simplest models in sports analytics, and one of the most powerful. But it only delivers if you know what it's for and how it has to be run. If you bet on or analyse sports without understanding it, you're passing up a tool that has held up for decades. This post covers what Elo is good at, why "an Elo rating" can mean very different things depending on who runs it, and how we built ours at OddsLine.

What Elo was built to do

Arpad Elo, a physicist and chess master, designed his rating system to fix the weaknesses of the older chess rating methods. Those methods relied on simple linear formulas applied after tournaments, or on raw rankings. They didn’t reflect the statistical reality of how players perform, and they produced structural inconsistencies as results piled up.

Elo’s alternative was built on probability. Each rating gap between two players maps to an expected win probability. After a match, both ratings are corrected in proportion to how surprising the result was. If the weaker side wins, ratings move a lot. If the favourite wins as expected, they barely move. Over many games, ratings converge toward each competitor’s true relative strength.

So Elo was designed from the start to estimate relative win probabilities between competitors who have played enough games against each other. That is exactly the question prediction models try to answer, and it’s why Elo has held up for nearly fifty years since The Rating of Chess Players, Past and Present (1978). Its descendants are everywhere too. FIFA’s official rankings are adapted from Elo, and Opta’s Power Rankings use a hierarchical Elo-based system.

The trap: not every Elo is the same

“Elo” is a family of systems, not a single formula. Treat it as plug-and-play and it will eventually fail you. Elo himself was explicit about this in his book.

Elo needs a caretaker. The rating pool is closed. Points only move between competitors. When players retire or newcomers join, the pool can inflate or deflate over time, distorting every rating in it. Someone has to monitor those trends and correct them. An Elo system with no one doing that will eventually drift, and one whose operators don’t know it needs doing is hard to trust.

Design choices are plentiful, and they matter. How much should a single result move a rating? Elo suggested that newcomers’ ratings should adjust faster than those of established players, and that statistically unusual performances may call for different treatment. Glicko and Glicko-2 later formalised this idea by estimating the uncertainty of each rating and scaling updates accordingly.

Is the more sophisticated version always better? Not necessarily. Which design works best for a given purpose is an empirical question. Real-world data is noisy, and sample sizes are often too small to settle it cleanly. That’s why the most effective Elo is usually one tailored to its target.

How OddsLine applies Elo to football

We run our own Elo system for the major European leagues and MLS. That comes with three ongoing jobs: collecting match data continuously, watching the rating pool for drift, and testing design choices against football results wherever the data allows. In practice, watching the pool means setting sensible starting ratings for promoted teams, and keeping ratings comparable across every league whose clubs meet in European competitions.

You can explore the result yourself. Our MLS Elo is open source at github.com/philo92/mls-elo, and Elo gaps for the major European matches are available in the OddsLine API and app.

Here are the main decisions behind our football Elo.

Draws are handled by Poisson. Elo converts a rating gap into a win probability, but it has no concept of a draw, which is a real problem in football. Any football system built on Elo needs its own solution. Ours uses Poisson to estimate draw probability from historical goal data, so the draw estimate has a statistical basis instead of being a fudge factor.

Home advantage is learned, per league. Playing at home measurably affects results in football, and its size differs across leagues. Elo accommodates it naturally with a separate home-advantage term. We update that term from results every matchday in each league, so each competition’s actual home edge is reflected.

We let ratings converge instead of layering on corrections. Extra over- and under-correction schemes, whether Elo’s own interventions or Glicko-style estimates, only help if the adjustment itself is justified. That is hard to know in advance, and football data varies a lot across the leagues and competitions we cover. So rather than adding more machinery, we give the system enough matches to converge fairly, and keep the pool healthy as it does.

We focus on the matchup, not the absolute number. What our models need from Elo is an accurate estimate of the gap between the two teams about to play. For that purpose, a team’s rating five years ago doesn’t have to mean the same strength as today’s. Letting ratings settle naturally keeps that gap clean, while extra caps and floors would blur the very quantity we care about. Designing around this one job is what makes our Elo steadier for football match prediction.

The takeaway

Elo is not the whole of OddsLine’s prediction model. We combine it with many other components to produce better probabilities. But it remains one of the most important building blocks, and a good reminder that a simple model, well understood and carefully maintained, can do a lot of work.

Ready to find value?

Your first 10 matches are free. Full Pro experience from day one.

Start Free Trial