7

I am looking for a rating system similar to the elo rating system in chess. The problem I have is that the ELO system depends on the order games were played. eg. Player A starting Elo 1000 Player B starting Elo 1000

If Player B wins over A he will have lets say 1015 points and A 985.

If A keeps on playing and wins against other people, he will have a higher ranking than B, if B stops playing. I don't want that. B should still be stronger than A.

How can I realise that?

  • What happens if A wins over B, B wins over C, and C wins over A? Or if A and B play twice, and each one has one win and one lose? – Mephy May 29 '14 at 20:31
  • Then they should have the same rating. – user3689083 May 29 '14 at 20:33
  • What if B wins over A once, then A wins over C 20 times and lastly C and B win one to each other? In this case B should be equal to C, but the first win of B to A and that A owns C should make B better than C. – R. Schifini May 29 '14 at 20:44
  • 2
    Elo assumes that ratings improve over time. Ignoring order loses this. – stark May 30 '14 at 20:10
  • I think the motivation is to average out some of the randomness and noise in a clear mathematical way without losing the benefits of Elo, so ratings can be calculated in relation to each other without arbitrary initial assumptions – Thinkadoodle Nov 23 '19 at 14:39

2 Answers2

10

From this link:

Whole-History Rating (WHR) is a new method to estimate the time-varying strengths of players involved in paired comparisons. Like many variations of the Elo rating system, the whole-history approach is based on the dynamic Bradley-Terry model. But, instead of using incremental approximations, WHR directly computes the exact maximum a posteriori over the whole rating history of all players.

It's a rating system without order of game played, like the one you asked, but it doesn't solve your issue with Elo.

On the other hand, many post-Elo ranking systems, as Glicko (for chess), or TrueSkill (for X-box games), or rankade (our multipurpose ranking system) have some 'activity dynamics feature' to avoid 'parking the bus' approach (a player gets a high level in ranking, then he stops playing), indeed.

Tomaso Neri
  • 486
  • 4
  • 8
7

There are a number of schemes which amount to writing down the win/lose/draw record as a matrix and then typically calculating the largest eigenvalue of some matrix related to this. One summary is at http://java.dzone.com/articles/ranking-systems-what-ive, which points to more technical papers including https://umdrive.memphis.edu/ccrousse/public/MATH%207375/PERRON.pdf - "The Perron-Frobenius Theorem and the Ranking of Football Teams".

If you can get more information out of the game than just win/lose/draw you might do better by using this. Some work on soccer has used the number of goals for and against at each match to try and work out the strengths of each team's offense and defense separately (and I do realise that soccer doesn't have separate offensive and defensive teams). In soccer it is reasonable to model the number of goals scored as a Poisson process. One deduction from this, by the way, is that soccer is inherently a pretty uncertain game, and that predicting score draws, as required in some gambles, is especially uncertain. I try and remember the inevitable uncertainty every time England play a game :-).

mcdowella
  • 19,301
  • 2
  • 19
  • 25