Rating Mechanism
The rating system we use is a seed based rating system based on the ELO rating. It is a method of rating participants in the individual competitions. Introduced around the same time four years ago the ratings system is implemented in all our monthly contests (Long Challenge, Cook-Off, and Lunchtime).

 

To give you an insight on our ELO based rating system, we have described it below:

 

  • A player will be rated (awarded rating points) in a contest if she has made at least one submission in the contest. If someone doesn’t make even a single submission in the contest then her rating will not change after that contest. (note that it may bring down her rankings).
  • It will be a seed based rating system modeled on the ELO rating. Reference – Elo rating system.
  • The rating algorithm is a function which takes 2 inputs in the form of Ratings before this contest and Ranks in this contest and gives the final Rating as output. If a contestant participates for the first time in a contest then her previous rating is taken as some default value (say 1000).
  • Mathematical details of the algorithm are described here in brief:
First for each pair of players (A,B) we calculate the probability of A defeating B and vice versa based on the ELO formula. Then for every player we calculate the sum of probability of defeating other players.

 

Lets say,

 

P[B, A(i)] = probability that B defeats A(i).
total[B] = summation of P[B][A(i)] over all A(i).
n = number_of_participants.

 

The expected rank of a player B in a contest,
E[B] = n – total[B].

 

We define regular factor for contestant B,
Regular_factor[B] = E[B] – Rank[B].

 

We have also added a bonus factor so that we can reward extra points to players who have been ranked higher in the contest.
bonus_factor[B] = n/rank[B].

 

Then for each participating contestant her rating is modified as follows:
New rating[B] = rating[B] + k * regular_factor[B] + m * bonus_factor[B].

 

Here k and m are constants to give appropriate weight to both the factors.

 

We have separate rating lists for all our monthly contests and you can check them all below:

 

We hope this will help you understand how you are being rated in our contests. However, if you still have any doubts/suggestions, do send them to us at: feedback@codechef.com and we will be happy to talk to you.