This is in a series of gifts that we are bringing in to give you as a part of our Birthday treat. After the new goodies, we are super excited to give you a brand new system to calculate the ratings on CodeChef, along with the new rating bands! We are also introducing the combined CodeChef Rating, which takes into account all the rated contests on our platform. Which also implies that we are bringing in more Rated Contests! Read on.
It was more than a year ago, that our then intern and now chef, Vishal Sharma teamed up with our beloved user and intern Surya Kiran to formulate the math behind the system. We took up the task of revamping the rating system because with time the present one started developing issues. Inflation of ratings was a major concern and this resulted in a wide difference in the ratings of users specially at the top, e.g., between rank 1 player and the rank 2 player. Fixing a rating band to reflect the skill of a player was also something that we wanted to incorporate.
The new rating system is a modification of the ELO, tailored for group contests. A very basic idea of how the ELO system works is this: Whenever you participate in a contest, you compete in a duel with all other participating users. Based on your existing rating and the other participating users’ rating, your probability of winning against each of them is calculated. Your actual performance is compared against this expected performance, and correspondingly, you gain or lose some points. The nitty-gritties of the system for the more mathematically inclined can be viewed here.
Some salient features of our new system are mentioned below:
The new combined CodeChef Rating: A major shift in our new rating system is the introduction of the combined CodeChef Rating, so as to have one single rating for the entire platform. This is in addition to the ratings calculated independently for the Long Challenge, the Cook-Off and the LunchTime contests. This combined rating is arrived at, by using the same algorithm for each contest that the user has participated in, in chronological order of participation without discriminating based on contest type. It is important to note that it is not computed by summing up the independently calculated ratings of the Long Challenge, the Cook-Off and the LunchTime contests. Doing this has the advantage that missing out on any one type of contests won’t affect your combined CodeChef Rating. You just end up losing the opportunity to increase your rating in the contests that you miss.
The new rating bands – Time and again, we kept receiving feedback for introducing rating bands. We took this opportunity to introduce this most wanted and a long awaited feature. We brainstormed on how best to represent this, and we zeroed in on two main, but opposing, factors: The coders should be comfortable with the representation, and this meant having colours as in most other platforms; and the other factor being accessibility to outsiders. We would love to see the sport of competitive programming gain traction, not just among participants, but also as a sport suitable for public following. We wanted outsiders to immediately understand how good a person was, and having only colours wouldn’t achieve that. We settled on introducing Stars, as they are universally recognized representations of skill. It also opens the doors for you to brag about your stars.
We present to you our various rating bands and their corresponding stars and colours:
<= 1399 : 1 Star 1 ★ 1400 - 1599 : 2 Stars 2 ★ 1600 - 1799 : 3 Stars 3 ★ 1800 - 1999 : 4 Stars 4 ★ 2000 - 2199 : 5 Stars 5 ★ 2200 - 2499 : 6 Stars 6 ★ >= 2500 : 7 Stars 7 ★
External Rated Contests: Currently, we have numerous contests organized by various colleges and organizations, and hosted on CodeChef. We will curate these contests, and the contests which we find to be good enough will count towards the CodeChef Rating. So, if you are conducting a programming contest for your college fest, this gives you an incentive to make it even better. You get the chance to get the best coders of the world to participate in your contest, as there will be CodeChef Rating points up for grabs! Get in touch with us if you want your contest to be rated.
A new combined Junior CodeChef Rating: For students of middle and high school, we have introduced a new combined Junior Rating system which will calculate the rating of all rated contests considering only the middle and high school students.
A brand new User Profile: We have revamped the existing user profile page to show your performance with swanky new graphs. Play around and we are sure you will love spending hours on it.
Important links: Head over to these pages to get an idea about the new ratings and rankings -
The distribution graph for the new CodeChef Ratings:
* Above is the current state of rating distribution as of 9th March 2017. Visit your profile to check your ratings.
The old ratings: We will keep the old ratings at the below given new URLs to refer your performance in the old system, in case you may have used that anywhere.
Penalties on Plagiarism: Users found cheating will be penalized heavily. The first time they are caught, their ratings will fall by 500 points. The second time, it will fall by 1000, and they will be banned on the third instance. This will be done from now on.
We are so very excited to bring this to you. We have worked very hard to do so. Since the change is big and spread over the entire website, there may be mistakes. We would like you tell us any issues that you find and do send us your feedback.
Want some quick advice? Try defeating higher rated coders for better raise :p