Prediction models
Elo rating in football: how team strength is calculated
An Elo rating is a number that measures a team's strength. The rating difference between two teams gives the expected result, E = 1 / (1 + 10^(−difference / 400)), and after the match the rating moves by K × (actual − expected result). Beating a stronger opponent earns more points than beating a weaker one, and the points one team gains the other loses. For 1X2, a draw probability is split out of the expected result.
Contents
Key terms
- Elo rating
- A number that measures a team's strength, named after Arpad Elo, who designed it for chess. A new team starts from the same number, 1500 at StatsAI.
- Expected result (E)
- How many points a team takes against that opponent on average: a win is 1, a draw 0.5, a loss 0. E = 0.65 is not a win probability, because it includes half of the draws.
- K factor
- How fast the rating changes after one match. A larger K follows form faster, but jumps more after lucky results.
- Home advantage
- Points added to the home team before the calculation. At StatsAI it is 60 points.
Formula: expected result from the rating difference
E = 1 / (1 + 10^(−difference / 400))
difference = home rating + home advantage − away ratingA difference of 400 points means the stronger team takes about 91% of the points on average. The same difference always gives the same E, whether the ratings are 1400 and 1800 or 1700 and 2100.
| Difference | Expected result of the stronger team |
|---|---|
| 0 | 50.00% |
| 50 | 57.15% |
| 100 | 64.01% |
| 200 | 75.97% |
| 300 | 84.90% |
| 400 | 90.91% |
How does the rating change after a match?
change = K × goal difference multiplier × (actual − expected result)The actual result is 1 for a win, 0.5 for a draw and 0 for a loss. The home team gets the change and the away team the same change with the opposite sign, so the sum of all ratings stays the same. A bigger win earns more points, but less for every extra goal:
| Goal difference | Multiplier |
|---|---|
| 0 or 1 | 1.00 |
| 2 | 1.50 |
| 3 | 1.75 |
| 4 | 1.875 |
| 5 | 2.00 |
Three teams, A, B and C, start at 1500. K = 20 and the home team gets a 60-point advantage.
| Match (home–away) | Score | Difference | Home E | Multiplier | Home change |
|---|---|---|---|---|---|
| A–B | 3-0 | 60.00 | 58.55% | 1.75 | +14.51 |
| B–C | 1-1 | 45.49 | 56.51% | 1.00 | −1.30 |
| C–A | 2-1 | 46.79 | 56.69% | 1.00 | +8.66 |
After three matches the ratings are A 1505.85, B 1484.19 and C 1509.96, and the sum is still 4500. B drew at home with C and lost 1.30 points, because as the home team it was a slight favourite.
How is Elo turned into 1X2?
The expected result does not tell a draw apart from half a win, so the draw probability is estimated separately. One common approach: a draw is most likely when the teams are level and becomes less likely as the difference grows. StatsAI uses a bell curve with at most 28% draws and a width of 250 points:
X = 0.28 × e^(−difference² / (2 × 250²))
1 = E − X / 2
2 = 1 − E − X / 2| Difference | 1 | X | 2 | Fair odds 1 / X / 2 |
|---|---|---|---|---|
| 0 | 36.00% | 28.00% | 36.00% | 2.78 / 3.57 / 2.78 |
| 60 | 44.95% | 27.21% | 27.85% | 2.22 / 3.68 / 3.59 |
| 110 | 52.61% | 25.42% | 21.97% | 1.90 / 3.93 / 4.55 |
| 200 | 65.81% | 20.33% | 13.86% | 1.52 / 4.92 / 7.22 |
| 400 | 87.02% | 7.79% | 5.20% | 1.15 / 12.85 / 19.24 |
A difference of 0 is a match between two equally rated teams at a neutral ground, and 60 the same match at home. The 28% and 250 are starting values, and how good they are is shown by calibration on played matches.
StatsAI calculates its own club Elo from the results of played matches: start at 1500, K = 20, home team +60 points and the goal difference multiplier from the table above. For the Champions League, Europa League and Conference League it uses one shared European Elo from the current and previous season of all three cups, because clubs move from cup to cup. A club with fewer than six European matches in the data does not have a reliable enough rating, and such a match is skipped.
Limitations
- Elo only sees results, not how the match was played. A lucky 1-0 and a dominant 1-0 change the rating the same way.
- New or rarely seen teams have an unreliable rating until they have played enough matches in the data.
- K, home advantage and the draw curve are model choices. Other systems use other values and give different percentages.
- An Elo percentage is an estimate, not a promise of the outcome. Even a favourite at 87% loses or draws in roughly one match in eight.
Related guides
Sources
- Elo, A. E. (1978). The Rating of Chessplayers, Past and Present. New York: Arco.
- Hvattum, L. M., Arntzen, H. (2010). Using ELO ratings for match result prediction in association football. International Journal of Forecasting, 26(3), 460–470.