Rating changes at codechef is being done in random manner.
How could user A with lower rating at the start of the contest than B reach to a higher rating than B after getting lower rank than B in the same contest?
It is hard to go over 2000 if you are below 2000 but close to 2000. It is border between div 2 and div 1. When you compete in div 2, you have to be ranked better than other users below your rating in order to advance your rating. It is easier to get over 2000 if you were not too close to 2000 before contest.
When you get over 2000 there will be more probability to get below 2000 if you are 2060 than if you are 2010.
2000 is border that does magnetic repulsion in both directions because div 1 and div 2 users are not compared in a contest. They are in diferent contests.
“Yes, the internal state is a bit more complicated than just \mu,\sigmaμ,σ. It’s likely that your friend had already acquired evidence of being at the higher skill level, maybe due to some recent high performances. The system assigns less weight to outlier performances, but may increase that weight if repeat wins demonstrate it not to be a fluke.”
From discussion here
Be sure to check the spreadsheet linked at the end of the blog post for the real Elo-MMR ratings. 1999 is a mixture of old and new rating, because we wanted to make the transition smooth; admittedly this has caused quite a bit of conclusion. The reason this user appears to have inflated gains is that they already have a much higher Elo-MMR rating and, instead of showing it in one giant jump, we’ve allowed the graph to slowly catch up, by about 25% each time the user competes.
I think new rating system should be applied from current performances rather than complete history of performances. In that case someone creating new account and getting rank under 10 in div 4 would get a sudden rating boost to 1950+ while solving the questions till same difficulty as someone in div2 with 100 rank. Same has happened in starters 48.
In div4 all the participants who gave their first contest and ranked under 10 directly jumped to 1950+ by solving till “Accurate XOR” problem. While in div2 participants who solved till “Accurate XOR” moved up by less than 40 points. Like someone having rating 1860 moved up by 44 to 1904. This seems to be harsh on participant in div2.