How strong is my opponent? Using Bayesian methods for skill assessment

How strong is my opponent? Using Bayesian methods for skill assessment

Presentation of Dr. Darina Goldin at PyConDe 2019

If A beat B and B beat C, should A be ranked higher than C? What seems like an easy question quickly gets more complex if we ask ourselves when A played B for the last time, what the scores were and whether or not B's grandmother had died just before the match. The question of correctly ranking contestants has been around as long as people have been playing sports, and it doesn't lose its relevance. In online video games, rankings are used to build teams of fair skill. In betting, ranking directly translates to the probability of a contestant winning the match. And of course every chess player world wide can tell you their Elo rating. In this talk we will look at the most established ranking algorithms: Elo, Glicko2 and Trueskill. All three are based on Bayesian updating. We will consider the theoretical foundation of the three, and compare their use cases and shortcomings. All the three algorithms are readily available as Python packages. Using a real-life data set we will generate a ranking of German Bundesliga teams and compare it to the currently accepted status quo.

About the Author

Darina came to Data Science via a Ph.D. in Control Science. For the past four years, she's been working on predicting outcomes of esports matches. By now she has probably applied and implemented every ranking algorithm that's been published since the 60ies.

    • Related Articles

    • May the Best Team Win? A Deep Dive into the League of Legends LEC 2020 Format

      The finals of the LEC 2020 happened this past weekend, with G2 being crowned winner for the second year in a row. The top three teams - one more than 2019 - will participate in Worlds this year, while the fourth-placed MAD Lions will be in the ...
    • What are the Odds? Pricing Comebacks in Counter Strike

      What are the odds? Imagine you're a bookmaker, or better yet, a trader. The day is May 15 2020, the game is Counter Strike: Global Offensive. G2 Esports are facing Team Vitality in the lower bracket final of the prestigious ESL One: Road to Rio EU ...
    • Bayes Data Science Hacks - Customizing in Depth with Matplotlib

      There are a lot of good information sources for data scientists out there. Plenty of articles online will teach you regression with Sklearn, working with data frames in Pandas or basic neural network architectures in Tensorflow. In our new series ...
    • Round Outcomes in Counter Strike: Global Offensive

      Analysing game data through correlations How important is economy in Counter Strike: Global Offensive? In a previous post we looked at correlations between DotA and LoL objectives and winning the match. This time we look at what it takes to win a ...
    • Looking back at the numbers behind the previous Dota2 patch!

      The latest ‘big’ Dota 2 patch, Mistwoods, just came out - at a time when it seemed like the Dota community was at a breaking point of anticipation. With it comes a new hero - Hoodwink (an adorable squirrel-fox-ferret looking nutty creature which ...