Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a players, who have played in multiple games and each player is ranked local. For example:

Player1 = {1,2,2,1,2,3,1}
Player2 = {2,1,3}

Now I want to create a global ranking from the locals. What is the best approach to do that? I tried it with t-Test, but having Players like this:

Player1 = {1,1,1,1,1,1}
Player2 = {2,2,2,2,2,2}

I receive a p value, which is NaN

Edit: The players don't have the same amount of played games.

Thanks in advance!

share|cite|improve this question
I don't understand your notation. What does "ranked local" mean, and what do the numbers mean? – Qiaochu Yuan Aug 18 '11 at 20:41
It means, that every player has a ranking in couple of challenges. Player1 = {1,2,2,1,2,3,1} are the local rankings for every challenge, he did took a part. – apzur Aug 18 '11 at 21:14
@Qiaochu: I think the goal is to aggregate tournament rankings where each player participates in some subset of the tournaments. – zyx Aug 18 '11 at 21:55
up vote 0 down vote accepted

This question reminds me of voting theory, and I have a niggling suspicion that, if you demand too much from your global rankings, Arrow's paradox may come into play.

However, for a crude but simple solution, I'd suggest simply sorting the players according to their average local rank. You may need to devise some way to break ties. In the voting analogy, this is more or less equivalent to a simple linear Borda count.

Things get a bit more complicated if not all players participate in all local games. You probably don't want to just take the average ranks for the games the player did play in, since then a player who played and won a single local game would rank higher globally than someone who played 100 games and won 99 of them. Some possibilities might be:

  • Assign players who didn't take part in a local game a local rank one step worse than the loser in that game. This method strongly rewards high participation, since it's always better to play and lose than not to play.
  • Include in each player's score $n$ "virtual" games, where $n$ is the number of players per local game, each with a mediocre rank (i.e. $(n+1)/2$ if the rankings are from $1$ to $n$). Based on the generalized rule of succession, I think this should approximate the "true" rank of each player, but it does give some players who've been lucky in their past games (and thus ranked higher than they expect to in the future) an incentive not to play any more.
  • More generally, include some pseudocounts in each player's averaged rankings. For example, to reward moderate participation without always putting players with the most games at the top, add some constant number of virtual games with a very bad rank to each player's average.
share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.