Elo ratings of the Premier League: mid-season review

This is going to be the first of 2 posts looking at the mid-season performance of my football prediction and rating system, Predictaball. In this post I’m going to focus on the Elo rating system.

Premier league standings

I’ll firstly look at how the teams in the Premiership stand, both in terms of their Elo rating and their accumulated points, as displayed in the table below, ordered by Elo. Over-performing teams, as defined by being at least 3 ranks higher in points than in Elo, are coloured in green, while under-performing teams, the opposite, are highlighted in red.

Man City are dominating the Elo ranking, with 85 more points than second-placed Chelsea, which is completely expected from their 18 successive (often high-scoring) victories. It can be seen that there is an asymmetric rating distribution, with 13 teams below the mean. This emphasises the dominance of the top 6 (Everton in 7th are a long way behind 6th placed Arsenal). The competitiveness of the top teams is highlighted by the fact that a mere 34 points separates second placed Chelsea from 5th placed Liverpool, which is less than half the difference from Man City to Chelsea.

Elo rankTeamEloPointsPoints rankRank differencePlayed
1Man City1796581020
2Chelsea1711423-120
3Tottenham1695375-220
4Man Utd1687432220
5Liverpool1677384120
6Arsenal1633375120
7Everton1504278-120
8Leicester1494278020
9Burnley1470307219
10Southampton14271914-420
11Crystal Palace14251815-420
12Bournemouth14071718-620
13Watford14062510320
14West Ham14051815-120
15Stoke13952013220
16Huddersfield13872311520
17West Brom13801519-220
18Brighton13752112620
19Swansea13661320-120
20Newcastle13571815519

Overall, Elo and points totals appear to be well correlated, with a few exceptions. For example, Tottenham are third in terms of Elo, but 5th in points. Likewise Man Utd are second in the actual league, but only have the 4th highest Elo. Looking at the tail end of the league and we see similar phenomena. Brighton are 18th when ranked by Elo, but are 12th in the actual league, a difference of 6 ranks!

There are a number of reasons for this behaviour: the most obvious being that points don’t take the opponent’s strength into consideration, while Elo does. Winning a game against a team in the top 6th will result in more Elo points than against a relegation candidate, but both wins would be awarded with 3 points. A strength of Elo is that by taking opponent strength into account, it shows a fixture-independent table, while ranking by points isn’t entirely fair if a team has managed to have fewer games against the top 6 than others.

Due to the inclusion of margin of victory in the Elo update equation, (see Elo explanation post), a win by a larger score results in additional Elo points. This could partly explain why Stoke are ranked 15th in Elo but 13th by points, as they have the second worst goal difference in the league (-18). Another potential explanation for this discrepancy between ranks is how promoted teams are handled. Currently, only teams in the top 4 European leagues are tracked, so when a team is promoted up to the Premier League (or La Liga etc…), it is assigned the average rating of the relegated teams. So Newcastle, Brighton, and Huddersfield were all given the same rating (1350) at the start of the season, which isn’t entirely accurate and it may take longer than 20 games for their ratings to converge on their actual values. This last point is quite important, Elo rating is a continuous score with only a soft-reset each season, whereas points are obviously wiped clean each summer. Just because a team has a high rating doesn’t mean they are going to be good now or in the future, but that they were good enough in the past, and a lot can change in the off-season.

The correlation between Elo rank and points rank is shown below (with a high r value). Teams above the line have worse Elo than their points suggest (thereby overperforming in the real league), while teams below the line are scoring fewer points than their skill level would suggest (underperforming). The difference between the top and bottom of the league is clear, with teams at the top having less variation between their 2 ranks, while teams in the lower half are more dispersed. The 3 promoted teams (Brighton, Newcastle, Huddersfield) are the 3 most over-performing teams (in that order), which suggests that setting their Elos to be equal to the averaged rating of the relegated teams isn’t entirely accurate, although in absence of tracking the rating of the lower leagues I can’t see a better way of handling this that still maintains a zero-sum system.

Expected goals

No football analytics post is complete without mentioning expected goals (xG), the stat so beloved by analytics and yet so poorly understood by football ‘experts’. I’m using the table found here of expected points, provided by Gracenote sports and Simon Gleave although note that it is one matchday behind. Under-performing teams are highlighted in red and over-performing in black, calculated as a 3 point difference compared to the expected total. It provides an alternative view of performance looking at match level data rather than just the result. Importantly, these two methods of calculating over and under-performance are not directly comparable, the Elo method purely based on match outcome and the other comparing outcomes with how the match was played.

There are a number of differences with my Elo rating. Firstly, the top 6 are ordered differently, with Liverpool and Arsenal moving up into positions 2 and 3 respectively (although it looks like Arsenal are only ahead of Spurs on goal difference). Their model has identified Liverpool, Arsenal, and Spurs as under-performing, while according to Elo both Liverpool and Arsenal are ranked relatively fairly, although it agrees that Spurs are under-performing. Both systems agree that Man Utd are doing better than expected.

The biggest under-performer by xG is Crystal Palace, who are the joint biggest under-performer by Elo, along with Southampton and Bournemouth. The bottom half of the table doesn’t contain any under-performing teams. The over-performing teams as identified by xG are Burnley (first by quite some margin), and Huddersfield, both of which are considered to be over-performing by Elo but to a lesser extent, with Brighton the most over-performing according to Elo.

Rating change over the season

I’m interested to see how the team’s ratings have changed over the course of the season. I’ve plotted the temporal trend below, although it can be hard to identify which team is which, any suggestions for how to better visualise this with 20 lines when there isn’t much y-separation would be welcome!

The most immediate finding is the large separation between the top 6 and the bottom 14. This is slightly worrying as it leads to a sense of inevitability in games between a top-6 and a bottom-14 team, although looking at it from a more positive perspective it allows for potentially exciting games of football whenever the top-6 play each other. Man City’s fantastic season is shown here as they started the season ranked 3rd after Chelsea and Spurs, but overtook of them by the start of October and never looked back, while Spurs started to slide down the table. From my own perspective, I’m heartened to see Liverpool’s improvement following their 3-0 away win at Stoke at the end of November.

Looking at the bottom of the ratings, we can see Newcastle, Huddersfield, and Brighton starting the season at 1350 Elo, the lowest of all teams, with Huddersfield immediately jumping up with their 3-0 away win at Crystal Palace, before falling back into the mid-table and being kept company by Brighton, while Newcastle starting off well before going on a losing run from mid-November.

The table below displays the change in Elo across the half-season so far, once again demonstrating Man City’s superiority, having gained more than double the number of rating points of the second most improved team (Man Utd). Swansea’s dismal season is shown here, having lost 72 points over the course of the season.

TeamCurrent elo$\Delta elo$
Man City1796145
Man Utd168770
Liverpool167759
Burnley147056
Huddersfield138729
Chelsea171117
Brighton137517
Watford140611
Arsenal16339
Leicester14948
Newcastle1357-1
Tottenham1695-7
Crystal Palace1425-26
Everton1504-40
Bournemouth1407-42
Stoke1395-54
Southampton1427-56
West Ham1405-61
West Brom1380-62
Swansea1366-72

European leagues

Predictaball also tracks the other 3 major European leagues (La Liga, Serie A, and the Bundesliga) even those these predictions for these matches aren’t tweeted. As I’ve already made this post longer than I expected, and also because I know even less about these leagues than I do the Premiership (I actually don’t follow football that much, I just enjoy predictive modelling), I’m just going to display the Elo tables below without much commentary. Remember that the Elo systems are league-dependent and scores from different leagues are not directly comparable.

La Liga

As with the Premier League, the league is effectively grouped into 2, with the team in 3rd separated from the remaining 17 teams by 126 points, and only 255 points separating the 4th place team from last. By calculating the standard deviation of Elo, we get a measure of the spread of skill in the league, with a more competitive league having a smaller skill range. This value is 142 for the Premier League and 133 for La Liga, which isn’t a large difference.

There are also some discrepancies between the Elo ranking and the actual league position, the biggest of which by far is Girona, who lie in 8th in the league, but only have the 17th best Elo. On the other hand, Espanyol have the 11th best Elo but are placed in 16th.

Elo rankTeamEloPointsPoints rankRank differencePlayed
1Barcelona1837451017
2Real Madrid1738314-216
3Atletico Madrid1707362117
4Valencia1581343117
5Villarreal1554276-117
6Sevilla1544295117
7Athletic Bilbao15342111-417
8Real Sociedad1508238017
9Eibar1492247217
10Celta Vigo14882111-117
11Espanyol14551716-516
12Leganes14502111116
13Getafe1434238517
14Alaves14231517-317
15Real Betis14032111416
16Malaga14001119-317
17Girona1393238917
18Levante13691815317
19La Coruna13631218116
20Las Palmas13261119116

Serie A

Serie A is characterized by 2 dominant teams, Juventus and Napoli, who only have 5 Elo points separating them (and 1 point). Roma also look strong but the gap to the 4th place team is 96 points. The standard deviation of Elo for Serie A is 150, which is the highest of the European leagues, suggesting that there is greater variability in team skill.

There are a number of over-performers, such as Sampdoria who are placed in 6th but have the 10th highest Elo, but interestingly very few under-performers, with no team being rated 2 positions better by Elo than their actual standing. I’m also amazed to see Benevento having picked up a solitary point from 18 games, well deserving of the lowest Elo score across all 4 leagues. This doesn’t necessarily mean that Benevento are the worst team in these leagues, but they are the furtherest from their league’s average.

Elo rankTeamEloPointsPoints rankRank differencePlayed
1Juventus1779442-118
2Napoli1774451118
3Roma1730383017
4Inter1634374017
5Lazio1617365017
6Atalanta1575276018
7Fiorentina1553268-118
8Torino1516249-118
9Udinese1499249017
10Sampdoria1492276417
11Milan1483249218
12Bologna1454249318
13Sassuolo14262014-118
14Chievo14122113118
15Cagliari13931715018
16Genoa13911715118
17Crotone13531517018
18SPAL13431517118
19Verona13401319017
20Benevento1237120018

Bundesliga

The German league looks to be the most competitive, with the leaders having the lowest Elo of these 4 leagues and bottom-placed team having the highest. This is reflected in the standard deviation of Elo at 98, far lower than the other leagues. A similar finding has been identifed previously, where the bookies were less accurate at predicting Bundesliga matches than the 3 other leagues.

Elo rankTeamEloPointsPoints rankRank differencePlayed
1Bayern Munich1780411017
2Borussia Dortmund1623283-117
3Bayern Leverkusen1573283017
4Hoffenheim1559267-317
5Schalke1554302317
6Leipzig1545283317
7Borussia Moenchengladbach1522283417
8Augsburg1504249-117
9Hertha1480249017
9Ein Frankfurt1480267217
11Wolfsburg14751912-117
12Werder Bremen14631516-417
13Hannover14382311217
14Mainz14181714017
15Hamburg14131516-117
15Freiburg14131912317
17Koln1382618-117
18Stuttgart13801714417

Related

comments powered by Disqus