MikeMirzayanov's blog

By MikeMirzayanov2 years ago, translation, In English

As some users have already noticed - contest rating has been added to Codeforces. For now it is in beta too, but it looks very adequate. Here's how it is calculated.

Each person is characterized by their rating, the number R. If person A's rating is RA, and person B's is equal to RB, then the formula


gives the probability that A will get a higher position than B in the round final standings. By the way, here everything is very close to the Elo rating.

Before updating your rating after the end of the round, for each participant his seed is calculated, that is the place that the participant is expected to take in this competition. Thus, two things are known for each participant - his seed (the expected place) and rank (the actual place). Depending on the difference between these two values, your rating increases or decreases. If the difference is higher, your rating changes more.

There are a few technical points:

  • if it is the first contest for a participant, his seed is calculated as 1 + n / 2, where n is the total number of participants in the round;
  • changes in the ranking of contestants are multiplied by a correction factor such that allows the sum of ratings of the participants to remain unchanged (before and after the round).

As at TopCoder all users are divided into two divisions: the first (rating over 1500 1650) and the second (rating_ not more than 1500 1650). Not rated users fall into the second division automatically.

Wish you high rating,  

MikeMirzayanov

 
 
 
 
  • Vote: I like it  
  • +3
  • Vote: I do not like it  

 
2 years ago, # |
  Vote: I like it 0 Vote: I do not like it
Would you introduce the possibility to see progress of each user? Especially the highest rating ever reached??
 
17 months ago, # |
Rev. 2   Vote: I like it +3 Vote: I do not like it
There are many comments in russian version that I don't understand and this subject is on the top of recent actions.
 
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it
is number of rated contest each users joined before the current contest has some effect in rating system??
 
13 months ago, # |
  Vote: I like it 0 Vote: I do not like it
Could someone explain to me why is the use of the Elo Rating for the seed generation different of simply sorting the participants by rating?
  •  
    12 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it
    Say we had two people with the same (or very similar) rating. If we sort them, we will have to assign different seeds, which would give an unfair rating boost to the person seeded lower.

    Another example is the person seeded 1st. Elo rating's idea is to make expected rating change equal to 0 for every properly rated individual. However, a person seeded 1st will have a non-zero (quite large in practice) probability of losing rating (taking non-1st place) and zero probability of gaining rating (you can't go above 1st, can you?). This will make expected rating change for the highest-rated person always <0, showing that he is not properly rated.
 
»
3 months ago, # |
  Vote: I like it -1 Vote: I do not like it

Division boundary is actually 1700 as described in FAQ.