CodeChef
  • PRACTICE
    • Easy
    • Medium
    • Hard
    • Peer
  • COMPETE
  • DISCUSS
    • Wiki
    • Forums
    • Blog
    • Twitter
  • COMMUNITY
    • CodeChef Meetups
    • Campus Chapters
    • Host Your Contest
    • User Groups
    • CodeChef TechTalks
  • HELP
    • Frequently Asked Questions
    • FAQ for Problem Setters
    • Ranks
    • Tutorials
  • ABOUT
    • About CodeChef
    • Team CodeChef
    • Press Room
    • CEO's Corner
    • About Directi

The new rating system

Posted by Aniruddha on August 28th, 2009 Filed in About, Features

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.

4. Suppose a user has solved P problems 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. 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.

  • Share/Save/Bookmark

26 Responses to “The new rating system”

  1. Sanket Shah Says:
    August 28th, 2009 at 7:31 am

    Makes the competition even more cooler!

  2. Aniruddha Says:
    August 28th, 2009 at 7:32 am

    :) Sure it does.

  3. Anshuman Singh Says:
    August 28th, 2009 at 3:46 pm

    Hey, couldn’t you normalize it to be something per contest with some weightage on the number of contests participated in. There is a lot to lose for people who miss out on even a single contest.

  4. Keshav Dhandhania Says:
    August 28th, 2009 at 6:51 pm

    Exactly. Please make sure that the ratings are not biased towards a person who participates in more contests.

  5. Keshav Dhandhania Says:
    August 28th, 2009 at 6:56 pm

    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.

  6. Josh Metzler Says:
    August 29th, 2009 at 7:07 am

    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.

  7. Aniruddha Says:
    August 29th, 2009 at 11:59 am

    @Josh Forgot to mention that. The tie breaker is judged exactly how you described.

  8. Vaibhav Says:
    August 31st, 2009 at 3:02 am

    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)?

  9. Aniruddha Says:
    August 31st, 2009 at 3:17 am

    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.

  10. Pratik Says:
    August 31st, 2009 at 12:12 pm

    Is there any ranks page?
    I see the ratings and ranks put up on the profile.

  11. Hemant Says:
    September 2nd, 2009 at 2:32 am

    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.

  12. Aniruddha Says:
    September 2nd, 2009 at 2:34 am

    Practice problems are not considered while calculating the rating.

  13. Hemant Says:
    September 2nd, 2009 at 2:43 am

    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.

  14. Neo Coder Says:
    September 3rd, 2009 at 12:59 am

    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. Aniruddha Says:
    September 3rd, 2009 at 1:42 am

    The current formula would help the latter case more than 1-PS/TS. The choice of the number 5 was arbitrary.

  16. anupam Says:
    September 11th, 2009 at 4:38 am

    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. Aniruddha Says:
    September 11th, 2009 at 4:42 am

    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. anupam Says:
    September 11th, 2009 at 4:55 am

    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. Sanket Shah Says:
    September 23rd, 2009 at 7:37 am

    May be decrease of the rating on not participating..?
    So instead of same rating it decreases according to some curve.

  20. TEST Says:
    September 25th, 2009 at 8:26 am

    Testing if this is working

  21. Pradeep Says:
    October 25th, 2009 at 2:37 am

    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. avinash kumar Says:
    November 6th, 2009 at 9:48 pm

    when my rating will come?

  23. ishan Says:
    July 2nd, 2010 at 9:29 pm

    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.

  24. Vinayak Garg Says:
    July 12th, 2010 at 12:18 am

    Hi why am i getting 0 rating. July 2010 ranking is showing my score as 1.

  25. govardhan gopi Says:
    August 22nd, 2010 at 1:27 pm

    Does not cook-off contributes in rating ?? I did not get any change in rating after solving two problems in yesterday’s cook-off ( August ) … !!

  26. Anup Says:
    August 22nd, 2010 at 1:38 pm

    @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.

Leave a Reply

Programmer of the Month

Name : Anton Lunyov
Age : 23 yrs
Inst/Company : Institute of Applied Mathematics and Mechanics of National Academy of Science of Ukraine
Userid : anton_lunyov

Find out more about the person behind the username anton_lunyov

    Recent Posts

    • New Prize Structure for Monthly Contests
    • Programmer of the Month for September’10: Anton Lunyov
    • CodeChef August 2010 Cook-Off Results
    • A few changes in CodeChef
    • Blog comments working now.. we missed you.

    Categories

    • About (12)
    • Announcement (33)
    • Campus Chapters (4)
    • Contests (49)
    • Events (15)
    • Features (11)
    • Meetup (4)
    • Open Source (1)
    • Practice Problems (5)
    • Prizes (18)
    • Programmer of the Month (14)
    • Tech Talks (2)
    • Tutorials (15)
    • Winners (22)

    Recent Comments

    • Maxim on New Prize Structure for Monthly Contests
    • Gunjan Sharma on Programmer of the Month for September’10: Anton Lunyov
    • Zakir Ahmed on New Prize Structure for Monthly Contests
    • Basil (Admin) on New Prize Structure for Monthly Contests
    • zhuxian on New Prize Structure for Monthly Contests

    Recent Pictures

    Twitter Badge



    Blogroll

    • Agile Developer
    • Agile FAQs
    • Bhavya Siddappa
    • Come On Code On
    • Manish’s Tech Blog
    • Planet Floss India
    • Rahul Sundaram
    • Sandeep Shetty
    • The Geek Blog
    • Vineet Gupta

    Archives

    • September 2010
    • August 2010
    • July 2010
    • June 2010
    • May 2010
    • April 2010
    • March 2010
    • February 2010
    • January 2010
    • December 2009
    • November 2009
    • October 2009
    • September 2009
    • August 2009
    • July 2009
    • June 2009
    • May 2009
    • April 2009
    • March 2009
    • February 2009
    • January 2009

    Company Blogs

    • Directi
    • .pw Corp Blog
    • CEOs Blog

    Careers@Directi


    • About CodeChef
    • About Directi
    • CEO's Corner
    • CodeChef Campus Chapters
    • Blogger Community Program
    • User Group Outreach Program

    © 2009, Directi Group. All Rights Reserved.

    Sponsors