Projecting the Euroleague Playoffs: The Elo Rating System

I have been wanting to make my projections for the Euroleague for a long time now but unfortunately I have not been able to find a good data source for the input data required from our Basketball Prediction Matchup engine.  So I decided to use the Elo rating to make my projections.  The Elo rating was first introduced by Aprad Elo for ranking chess players! It has since then been used as the central engine for ranking players and teams in a variety of sports.

The main idea behind the Elo rating system is very simple. Each team is associated with a ranking.  This ranking translates to win probabilities, which are called expected scores in the Elo rating system’s terminology. Based on the actual outcome of the game  we update the ratings of the teams.  The winning team will have an increased rating while the losing team will see an equal decline in its rating – an Elo point exchange of sorts.  The amount of change depends on the pregame probabilities.  An upset win will lead to a larger Elo point exchange between teams as compared to a win by a heavy favorite.

In particular, assume that the current rating of teams I and J are Ri and Rj respectively. The expected points scored after their matchup (i.e., the win probability for each team) are given by the following logistic curve formulas:

Screen Shot 2017-04-24 at 8.44.03 AM.png

One can adjust these scores to account for home field advantage if needed.  For instance, in basketball the home edge is usually awarded a 3% win probability added. Hence, if I is the home team one could update the expected scores to Ei+0.03 and Ej-0.03.  Note here that strictly speaking, the expected score for a team expressed above captures the sum of the win probability for the team plus half of the probability of a draw. However, in our use case, i.e., basketball, there is no draw involved so we can treat the expected score as the win probability. 

Once the matchup is complete we have an actual score Si for each team (Si=1 if the team won and 0 otherwise – 0.5 in case of a draw, which is not an option in basketball matchups). We can then update the ratings for each team as follows: 

Screen Shot 2017-04-24 at 8.54.08 AM

The parameter K controls how fast the system reacts to changes and new information obtained through games.  A large value for K lets the system react fast, while a smaller value adjusts the ratings slower.  We used a value for K = 20, which is what it has been found to work best for NBA Elo ratings

One more parameter to adjust is the initial Elo rating of the teams. Usually when there are several years (or even decades) of observations from a tournament one can use a weighted average of last seasons ending rating and the Elo rating of an average team. In our case we do not have any previous seasons to consider (Euroleague in its current format started this year).  So the decision we have to make is what should be the starting Elo rating for all the teams. The average and the spread of the Elo ratings can be arbitrarily chosen.  Hence, in our ratings for the Euroleague we picked a starting rating of 1,500, while the formulas presented above assign an expected score of 0.75 to a 200 rating points differential.  Obviously, all of these parameters (K, spread, initial rating) can be chosen in a formal way by analyzing several years of Euroleague data. However, here we rely on choices made in the past for similar competitions as alluded to above.

OK, now that we introduced the basics of Elo rating let’s get into the numbers! The following table presents the Elo rating of the Euroleague teams at the end of the regular seasons (i.e., we have not included the first two playoffs games for each of the teams that advanced).

Screen Shot 2017-04-24 at 11.56.47 AM

The first thing to notice is that the Elo rating is consistent with the teams that advanced at the playoffs of the Euroleague. While someone might say that then Elo ratings are unneccessary, they are able to also provide us with win probabilities as aforementioned.  Using these Elo ratings following are the probabilities of advancing to the final four after the first 2 legs of the final-8 round.

Screen Shot 2017-04-24 at 12.00.44 PM

Fener and CSKA have a clear advantage, while Real Madrid is still the favorite to win the series against Darussafaka.  Olympiakos on the other hand is an almost 50-50 affair with Anadolu.

In conclusion, Elo rating is an elegant and good way for rating teams and making future projections.  Here we have used model choices that have been used in the past for similar competition but one can certainly identify optimal parameters for the Euroleague per se. Here you can find the code and data and you can experiment on your own with the optimal parameters.

Final Four predictions

Our playoff predictions were all successful and now we are ready to experience a great final four.  Real Madrid and CSKA Moscow appear to be the favorites for the final and the trophy but Olympiacos and Fenerbahce are not to be disgarded.  The stage is set for a fascinating final four based on the numbers.

Screen Shot 2017-05-03 at 10.58.33 AM.png

Final Prediction

The “outsiders” — if you can call outsiders teams with 41% and 43% probability of winning – won and we are set now for the final of the final 4. Olympiacos and Fener are matching up for the title and following is their Elo rating scores after each game.  Note that Fener has 2 games less (since it swept Panathinaikos) and hence, the flat line towards the end. Screen Shot 2017-05-19 at 7.55.18 PM.png

As we can see Fener started better, but then Olympiacos picked up and currently their difference is just around 11 Elo points. This basically gives Fener a small advantage of 54% win probability, which essentially is the home edge (I have included a 3% home edge since Fener is actually playing at home). No matter what it will be a fascinating final!

Screen Shot 2017-05-19 at 9.01.12 PM.png


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s