A user ranking model

Go To StackoverFlow.com


I am trying to develop a simple game where a group of user can come and play the game. Based on the performance of the user, they get positive score or negative score.

I want two parameters to be taken into account user's weight(no. of matches he has played and his performance in those matches) his instantaneous skill sets. These two combined together for each user and compared with other user's score might give his score in the current match.

Then combining the score and previous rating we might arrive at users new rating.

I do not want to reinvent the wheel. I tried and came up with this, but this looks pretty naive and i am not sure how the performance will be in real world scenario.

Pos[i] and Neg[i] are the positive and negative score of the users in a match. 

Step1: Calculate the average score of n people `for i in range(1, N): sum = sum + Pos[i] Average = sum/N` do the same for negative score. 

Step2: Calculate the Standard Deviation (SD)

Step3: Calculate the weight of the user as follows say the user has played M matches, his weight W will be Mxabs((sum(POS[i])/N1 - (sum(NEG[i])/N2))

(where N1 is the number of times he has scored positive scores and N2 the number of times he scored negative result)

Step4: Current Score = (POSi - SD)xW

Step5: His New Rating = Old Rating + Current Score

Please suggest something standard.


2012-04-04 07:02
by user993563


Well it has been done here it takes into consideration previous literature and other stuff. It also shows what most famous methods are out there and how they have done it.

2012-04-05 18:30
by whatf


You should check out how chess ratings are calculated. There are some variations to choose from, but I think it should be appropriate for your case.

2012-04-04 08:07
by Running Wild


You could check ELO ratings used in chess, as mentioned by Running Wild. Alternatively, you could also look into the Power Rating system used in Age of Empires 3. In this post they explain how it works and the reason they replaced the old ELO rating system used in MSN Zone with it.

2012-04-04 11:05
by Pin