The Best Soccer Team in the World, According to Elo Ratings

Cathy Ha
Sports Analytics
Published in
4 min readSep 7, 2018
Source: Unsplash

Apparently it’s Juventus*, and here are the top 5 teams. Maybe Cristiano Ronaldo knew exactly what he was doing.

*With data from 2008 to 2010
(Due to use of embedded graphs, this article is best read on desktop)

Interact with the top left to see more teams, and hover to see post-match team ratings and match details. A total of >1 million matches from 2008 to 2018 were used to generate these ratings.

Barcelona is a close second, trailing by 2.4 points. But their paths were very different — Barcelona seem to have been on a steady climb since 2008, while Juventus didn’t start its climb until the 2012–2013 season, when they won their second Serie A title in a row.

Note that rating scores can only be compared between teams that have played together in a network. So directly comparing team ratings in the UEFA to, say, teams in the CONCACAF, wouldn’t really work because the teams in the two divisions don’t play each other.

But What is Elo?

The Elo rating system is an algorithm used to calculate relative skill levels of competitors. Created by its namesake Arpad Elo in 1961, it’s more than half a century old. Although it was originally designed to rate chess players, it has been adapted to rank players and teams in other head-to-head games, from Scrabble, to Overwatch, to Tennis.

This is our guy. Source: Wikipedia

The premise behind the rating system is simple — every time a team plays a match, their rating is adjusted based on the other team’s rating and the outcome of the match. Ratings increase with wins, decrease with losses, and either increase or decrease with ties depending on the other team’s rating. Ratings change more drastically when the results are unexpected, e.g. when Belgium beat Brazil in the 2018 World Cup Quarter-finals.

The Elo rating’s strength lies in its simplicity, and its ability to account for not only wins, but also how good the opposing team is. The algorithm implicitly calculates the outcome probability for each match-up using each team’s ratings, so it can also be used in predictive modelling.

The Most Inconsistent Teams

It’s easy to derive the best and worst teams when you know each team’s ratings; but which teams are full of surprises? Since Elo ratings are a time series akin to stocks, we can use the formula for financial volatility to gauge how much they jump around. This is basically the standard deviation of % change in rating after a match happens.

Teams that have the most volatile ratings — for teams that played more than 300 matches between 2010 and 2018, major European leagues and all leagues

On top of the list for teams that have played in major European leagues is the Spanish Athletic Club (Bilbao), whose won the Super Cup in the 2015/16 season, and seems to be great at being a runner up (three times in Copa del Rey and once in the UEFA Europa League in the last 10 years). And then there are three Italian clubs, who jumped between Series A and B, and sometimes even C.

Looking at all teams who have played more than 300 matches between 2008 and 2010, we have a bunch of lesser-known (mostly Spanish) teams who have only played in lower-level leagues.

The Biggest Upsets

We can get a sense of when the biggest upsets happened if we rank the matches by how much each team’s ratings have changed. Below are the ten biggest upsets in a few major European leagues during 2017/2018.

On top of the list is Stuttgart’s(ranked 88th) sweeping win against Bayern München’s (ranked 5th) in May this year.

And then there are some odd instances like PAOK vs. Benfica — which should have been less of a surprise given Benfica’s history. This is because PAOK has performed well in Greece’s Super League, but has played in less international matches than Benfica (115 vs. 184, since 2008). So, the algorithm knows less about PAOK than Benfica on the international ground. In this case the high rating adjustment is part of the algorithm’s “learning process” to converge upon a rating that reflects a teams “true strength”.

Which Countries Have better Teams?

Apparently it’s Spain (see light blue curve jutting out on the right). By plotting the distribution of team ratings for each country, we can see which countries have more better teams. Brazil, with a tall curve, seems to have a lot of really average teams. Germany’s curve is flatter, slightly right-skewed, and just a bit shorter than Spain’s curve on the right side, meaning that it has, proportionally, more good and more bad teams.

Hover over the rug plot on the bottom to see teams and rating details

Notes, Caveats, and Potential Improvements

  • The Elo rating model we used builds upon the “vanilla” Elo rating algorithm by accounting for home team advantage and score difference
  • The parameters used to for the current analysis are: K=20, and a 70-point advantage given to home team —we can put these, and other parameters through a grid search to find the settings that are best-suited to the dataset
  • Note that due to data limitations, we have assumed that the local team is always the ‘home team’, which is not always the case
  • “True rating” for teams change from season to season due to turnover in players and coaches — accounting for this may improve the prediction accuracy of the model
  • The model may be improved by putting different weights on different types of matches (e.g. ratings will fluctuating less in friendlies)
  • The model may also be improved by accounting for the quality of different leagues — so that ratings may be more comparable
Now Cristiano, please score a goal for Juventus so people will stop freaking out.

If you have any thoughts about the accuracy of these ratings, or how the the rating system can be improved, leave a comment below!

See the git repository here.

--

--