Search code examples
algorithmcomparerankingranking-functions

Ranking algorithms to compare "Rankings"


Is there an algorithm that allows to rank items based on the difference of the position of those items in two rankings but also "weighted" with the position, e.g. one Player that goes from position 2->1 should be ranked higher than a player that went from 9->8.

Toy example, I have two lists/ranks:

Rank 1:

  1. Player a
  2. Player b
  3. Player c
  4. Player d ...

Rank 2:

  1. Player d
  2. Player c
  3. Player a
  4. Player b ...

I was thinking to "weight" the ranking difference with the average ranking (or other value), for example, if a player goes from 9->8 the value used to rank will be (9-8)/avg(8,9) = 1/8,5.


Solution

  • What you want seems more or less equivalent to Spearman's rank correlation in non-parametric statistics. It basically sums the squares of the amount_moved (the difference between the old rank and the new rank)