For a grant proposal I intend to write, I wanted to play around with a simulation for ELO ratings. If you are somewhat familiar with chess (or sport tournaments), you will know this as a way for quantifying skill. It also is used in the study of animal dominance hierarchies and you might also know of EloRating and EloSteepness. This is but a basic simulation with just two players, just to give a taster of what happens. I’ll save the details for another time - but in a nutshell, we can think of many things as a tournament and we can use the ELO system to describe the agents within that system. And who knows, we might be able to derive some useful insights.
In the simulation you only have two players. The K-factor determines how much the rating should change. Larger K-factors mean more change from a single result. Typically, it is around 20, but 10 for very well-ranked players. More information here. You can change the starting ELOs, number of games and win probabilities to see how it all plays out,… .
The R file is here and you can give the Shiny simulation a whirl at https://tvpollet.shinyapps.io/Elo_Rating/. Don’t do it all at once as it is a basic Shiny account and might stop working ;). Also, I used AI tools to help me with the simulation (it messed up badly on some occasions but all in all a useful experience - mostly used Claude.ai but also looked at DeepSeek). As always: caveat emptor… .
Enjoy! And I welcome feedback via email.