Rating system update - Elo MMR final migration

In continuation of Elo-MMR ratings go live on CodeChef!, we are now changing everyone’s ratings to the new Elo-MMR system.

For all participants, their latest contest participation has now been recalculated to be the new rating system value. And going forward, only the new system will be used.

For the last 5 months, we had a hybrid system in place which was used to gradually shift participants’ ratings from the old system to the new system. Given that enough time has passed, we are now moving completely to the new system. Everyone’s rating has been recalculated since the beginning using te new rating system, and that change has been added to each user’s last contest. So this means that, on the user profile page, you retain the rating history of all your past contests (even though on the backend, they have been recalculated using the new system) except for your very last contest. Your last contest’s rating change now includes your rating change for that contest, plus the migration difference. And in future contests, all calculations will be based only on the Elo-MMR system.

The rating of all the users just before the rating update has been uploaded here.

Update 1:
There are now two tabs in the user profile graph section. “Current Ratings Graph”, and “Old Ratings Graph”.

The Current Ratings Graph has the ratings recomputed from the very first contest, using the new rating system. In future contests, this is the graph that will keep getting updated with new contest ratings.

The Old Ratings Graph has the ratings history as it was, using the old ratings system. Along with an extra data point at the end which signifies the difference that the ratings system migration has brought in. This graph will be static and not be updated for future contests.
This will be the default tab until the particular user participates in a future rated contest.


How can 2 years old rating be updated suddenly without any warning? I stopped giving contests after I had hit 6 star, now you are saying that all of it is a waste due to a change in the system? Atleast keep the inactive accounts with the past ratings, the competition and importance of codechef contests now and then were way different. @admin please reply.


From the July post:
“After a period of time (less than a year), ever user’s (including those who aren’t participating in contests now) rating will be changed fully to Elo-MMR rating.”

All the ratings have to be made consistent at some point.


Honestly doesn’t really make any sense, why should accounts which had participated in a completely different rating system be penalized in this way? My last rank was 47 in 2021, at that time div1 contests used to be rated for 5, 6, and 7 stars. Now contests are mostly starters, hardly even rated for 6stars, and the playing field is completely different, how does it make sense to penalize past accounts in this manner? I have given these ranks in many ongoing recruitment processes, suddenly now the credibility of all these ranks is affected. Atleast if you change the rating, keep the old rating system’s rating too, so that some accountability is maintained. @admin


what’s going on -- doesn’t make any sense --


agreed, completely messed up no need to change for old contests @admin


New rule needs to be implemented in the upcoming contests right?? why are u affecting the past contest?? doesn’t seem fair to me, upset with CodeChef. @admin


It really doesn’t make much sense to apply the new system to solely the last participated contest without taking into account when the contest was. I don’t exactly understand how, but I got a -147 delta on a global rank 25 performance, while accounts which participated more recently were not hit remotely as hard. Is it not possible to recalculate ratings for all contests with the new system? The current setup just increased inconsistency.


The old system ratings hae been uploaded to the original post of this thread, which is linked to from the Know More hyperlink of the user profile rating graph.


It is recaclulated for all contests. The change is just reflected only on the last contest to try and preserve as much of the history as possible on the user profile page (all except the last contest’s ratings are intact superficially on the rating graph).


How can my I get -114 in starters 38 even after getting global rank 44 in div2!


What in the world is happening here I was rated 2013(approximately) but now my rating is 1847 how could this be normalized I am unable to comprehend how much grind is required to get this delta all in waste. Because tomorrow CodeChef might again change the rating system and all that positive delta will be lost.


Exactly! This is a total shit decision from codechef side … How can you just update ratings as per your rule itself. That’s why people nowdays are losing credibility of Codechef.


A total disaster decision from codechef. Completely of no use and moreover changes should be implemented from upcoming contests. Why should old contest’s ratings affect by these changes ?


Wow, you dropped me to 4 stars, I had a rating of 2170, after the initial rating update. Now, it is 1849. The last contest that I gave was before the initial rating re-balance. I gave that contest when I was rated 1900s, so I was in div2. After the rating balance, it shows that I gave the div2 contest in div1, so the new system penalised me with -189. Tell me CodeChef, how is that my problem? Why did you penalise me for that?


PLEASE CODECHEF, give 1 more update that is DISLIKE BUTTON :). I hope the CodeChef admin and developers can do this too.
** The last contest i did my best to get 39 Global rank with 125+ delta now Its -86 ? **

TAP ON YOUR BACK CODECHEF, I LEFT CP and was Doing Job. If I ever come back to CP, will not be here on this CP site.


No wonder CodeChef is dying. They are just releasing series of breaking updates.
“Don’t practice CP on fake platforms like cc” ~ Errichto


Codechef can drop our ratings, and it might be hard to get back to the same rating because of being out of practice but they can never erase the effort that we had put in to get that far.


My account got -164 with 29 global rank in div 2.