The new rating system

1 min read

Greetings everyone!

We are happy to introduce a rating system for Codechef based on the contests we have every month. In brief, the rating system will have the following features.

1. Every user will have a rating. The user with the highest rating will be ranked 1, the user with the next highest rating will be ranked 2 and so on.

2. The ratings for the users will depend only on how they perform in the contests and not how they perform in the practice section.

3. Every contest problem will get a particular value based on the number of users solving that problem. The maximum value for a problem tends to the value 5 and the minimum value for a problem tends to 1. So, every user is guaranteed at-least 1 point for solving a problem. The selection of the value 5 was to give sufficient room for the top performers to increase their rating. Selection of a smaller range of values would let those participants solving only easy problems and participating frequently overtake those not participating frequently but performing exceptionally well when they do. Suppose the total number of users who have solved a particular problem is PS and the total number of users who have participated in the contest is TS, then the point value for a particular problem is 5 – 4*PS/TS. So, if there are more users successfully solving a problem, it’s value will be less and vice versa. The Challenge problem point value is calculated by taking the product of the score for the challenge problem with the maximum rating a contest problem can have i.e 5.

4. Suppose a user has solved P binary problems and 1 challenge problem and at the end of the contest, these problems have the values V1, V2, .. ,Vp then the total rating score S of the user for that contest will be V1+V2+…+Vp + 5 * (score of the user for the challenge problem).

5. The new rating of the user will be old_rating+S.

Also, every user’s profile page will now have a rating graph along with the current rating and rank. Your feedback in this regard is much appreciated πŸ™‚

Regards,
Aniruddha.

A new home for CodeChef!

CodeChef was started in 2009 by Bhavin and team as part of Directi, to be a platform to help programmers enhance their skills, and...
anup
1 min read

Scaling up – new cloud-based checkers

tl;dr: We are experimenting with new cloud-based checkers for the April Cook-Off to cope with the heavy traffic. There should not be much noticeable...
admin
2 min read

To turning 11

Submissions and Challenges, Errors and Bugs The Chef’s Kitchen is always hustling with its community and fresh serves! Another year older and another year...
shwetali1602
1 min read

63 Replies to “The new rating system”

  1. Secondly, I think that the events which took place before the rating system was formulated, should not influence the rating.

    Thirdly, Is there a link where we can see the list of usernames, sorted by rank/rating.

  2. Secondly, I think that the events which took place before the rating system was formulated, should not influence the rating.

    Thirdly, Is there a link where we can see the list of usernames, sorted by rank/rating.

  3. Can the tie-breaker problem give a variable number of rating points related to the rank achieved on the problem? I ask this because often submitting a solution that does basically nothing can “solve” the tie-breaker, but to achieve a top score can take a lot of work. It could be something as simple as multiplying the tie-breaker’s point value by the score achieved on it.

  4. Can the tie-breaker problem give a variable number of rating points related to the rank achieved on the problem? I ask this because often submitting a solution that does basically nothing can “solve” the tie-breaker, but to achieve a top score can take a lot of work. It could be something as simple as multiplying the tie-breaker’s point value by the score achieved on it.

  5. I agree with Anshuman and Keshav that we need a normalized scoring but I’d like to point out that even that system isn’t going to be perfect. In TopCoder for instance, a new account holder could do really well in just one SRM and not participate in anything further, and have a rating as high as a late blue or early yellow. Meaning that just as people missing out on one contest is a concern in the existing system, people not attending many contests will be a concern for the normalised system. Perhaps a balance amongst the two could be struck (minimum number of contests to participate in before one is rated etc)?

  6. I agree with Anshuman and Keshav that we need a normalized scoring but I’d like to point out that even that system isn’t going to be perfect. In TopCoder for instance, a new account holder could do really well in just one SRM and not participate in anything further, and have a rating as high as a late blue or early yellow. Meaning that just as people missing out on one contest is a concern in the existing system, people not attending many contests will be a concern for the normalised system. Perhaps a balance amongst the two could be struck (minimum number of contests to participate in before one is rated etc)?

  7. There are drawbacks to any system as Vaibhav correctly pointed out. In the normalized version, if someone were to perform really well in one of the contests and did not find time to participate actively in some other, his rating would go down. Also, in the current system, if someone misses one contest, his / her rank won’t go down by a lot if he / she has performed really well previously. We want to encourage people to participate in more number of contests at the same time.

  8. There are drawbacks to any system as Vaibhav correctly pointed out. In the normalized version, if someone were to perform really well in one of the contests and did not find time to participate actively in some other, his rating would go down. Also, in the current system, if someone misses one contest, his / her rank won’t go down by a lot if he / she has performed really well previously. We want to encourage people to participate in more number of contests at the same time.

  9. I think the contest before the rating system should not be included.

    A normalization would be there , the number of event doesn’t matter the performance matter, also why practice problems are taken into account , anybody can submit the duplicated code for them.

  10. I think the contest before the rating system should not be included.

    A normalization would be there , the number of event doesn’t matter the performance matter, also why practice problems are taken into account , anybody can submit the duplicated code for them.

  11. How you account for new user , is they have to practice really hard compare to their earlier counter part. Also they can’t match other people according to new system.

    One more bug : their is no indication of what is the highest rating (overall) , so that graph should be made according to that.

  12. How you account for new user , is they have to practice really hard compare to their earlier counter part. Also they can’t match other people according to new system.

    One more bug : their is no indication of what is the highest rating (overall) , so that graph should be made according to that.

  13. I think (1-PS/TS) would have been a good value for a correct solution to a problem. I am not sure how 5-4*PS/TS was come up!

    I just ran a sample for typical easy but many problem solving coder to a few but difficult problem solving coder and i found your formula would not help the later much as you claim. Whats the median you are looking at between regular easy problem solver and rare but tough problem solver?

  14. I think (1-PS/TS) would have been a good value for a correct solution to a problem. I am not sure how 5-4*PS/TS was come up!

    I just ran a sample for typical easy but many problem solving coder to a few but difficult problem solving coder and i found your formula would not help the later much as you claim. Whats the median you are looking at between regular easy problem solver and rare but tough problem solver?

  15. Some of the practice problems are also very tough. Why cant the admins include performance in practice problems to determine grade. Because it is also possible that a person may succeed in solving contest problem but fails to solve some practice problems. Thus performance in practice problems might also play its role in determining rank of the person.

  16. Some of the practice problems are also very tough. Why cant the admins include performance in practice problems to determine grade. Because it is also possible that a person may succeed in solving contest problem but fails to solve some practice problems. Thus performance in practice problems might also play its role in determining rank of the person.

  17. One of the major problems with this is that a lot of the practice problems have their solutions publicly visible. Also, there is a lot of discussion related to the practice problems in the forums and on the problem page.

  18. well I have seen solutions to some contest problems are also visible.secondly people also discuss about contest problems in codechef. If we visit the site http://acm.timus.ru we will find all practice problems determine worldwide rank along with various contest problems.People are allowed to discuss algorithms for solving a problem but are not allowed to see the code. admins of the site remove codes but do not remove algorithms (if codes are posted in the forum by mischief) Infact discussion of algo increases your knowledge but its very difficult to understand cryptic code. Thus I feel viewing solutions made by other person does not help much. So it does’nt really matter if codes are visible or not.I feel each problem should have a rating given say within scale of 1 – 10. The problems whose solutions are avaible should have lowest rating attached to it. Thus people only copying code cannot make it to the top ranks. Well this is only a suggestion it remains to the admins to decide what to do.

  19. well I have seen solutions to some contest problems are also visible.secondly people also discuss about contest problems in codechef. If we visit the site http://acm.timus.ru we will find all practice problems determine worldwide rank along with various contest problems.People are allowed to discuss algorithms for solving a problem but are not allowed to see the code. admins of the site remove codes but do not remove algorithms (if codes are posted in the forum by mischief) Infact discussion of algo increases your knowledge but its very difficult to understand cryptic code. Thus I feel viewing solutions made by other person does not help much. So it does’nt really matter if codes are visible or not.I feel each problem should have a rating given say within scale of 1 – 10. The problems whose solutions are avaible should have lowest rating attached to it. Thus people only copying code cannot make it to the top ranks. Well this is only a suggestion it remains to the admins to decide what to do.

  20. 5-4*PS/TS is equivalent to 1-0.8*PS/TS. It basically assures a person of getting a positive score (>1) for a problem, unlike in 1-PS/TS, where if everyone solves it, everyone gets a zero.

  21. 5-4*PS/TS is equivalent to 1-0.8*PS/TS. It basically assures a person of getting a positive score (>1) for a problem, unlike in 1-PS/TS, where if everyone solves it, everyone gets a zero.

  22. I think there should be a separate category of rating for practice problems to encourage beginners who wants to practise for the time being and are not quite ready for contests yet.

  23. I think there should be a separate category of rating for practice problems to encourage beginners who wants to practise for the time being and are not quite ready for contests yet.

    1. @goverdhan: the cook off is a shorter format and hence the same rating does not apply here. It will unfair to club the 2 formats together. Once we start having cook-off’s on a more regular basis, we shall incorporate an independent rating system for the same.

    1. We have two contests at CodeChef per month. The 10 day long contest that runs from the 1st to the 11th of every month and the 2.5 hours running short contest that runs on the second last Sunday of every month. Each one of them has an individual rating system that gives a user two different rankings. Also the practice problems are not counted for ranking an individual as of now.

Leave a Reply to Tejwinder Singh Cancel reply