# Estimating probability of winning for each player based on ranking data of previous tournaments

by cd98   Last Updated August 24, 2017 23:19 PM

The question could also be: "estimating the true ability of each player", though I think that already implies some assumptions.

In this paper I saw some references to Rankade and TrueSkill used by Microsoft, but I couldn't find any simple implementation for my relatively simple case.

Let's say there are 5 total players and I have data for

$$t \in \{1, 2, 3 ..., T\}$$

tournaments. Each tournament has only data on the rankings for the people that played. For example:

 | rank | player |
1      5
2      3
3      1


Note that not all players play in all tournaments.

Assumptions I'm willing to make (but let me know if they're reasonable)

• The skill of the players doesn't evolve
• The observed skill of player $i$ at tournament $t$ is some sort of true skill plus noise:

$$O_{it} = s_i + \varepsilon_{it}$$

Then the observed rankings are just the result of the rankings of $O_{it}$ for the players observed. I'm happy to make simplifying assumptions about $Cov(\varepsilon_{it}, \varepsilon_{jt})$ and $Cov(\varepsilon_{it}, \varepsilon_{i(t-1)})$. These cross-terms could be assumed to be zero.

I think one possibility is to go bayesian: start with a prior on $s_i$ (assume they have the same mean and variance) and then to update, but I'm not sure how to proceed with this.

My specific objetive

Coming with a code/estimation/simulation procedure that allows me to predict a ranking after observing $T$ tournaments. Getting confidence intervals is nice but not necessary. Getting a closed-form solution would be great, but I doubt I'll get there.

** My (unfortunately still rather vague) question for you**

How would you approach this?

Tags :