Hi everyone,
I like the idea of coder of the month which is already done in many online judges, but not in Codeforces.
So, I'm going to make a coders-of-the-month post by the end of every month, which will contain the top 5 coders of the month, not only top 1.
I'll calculate a score for every coder who participated in at least 1 rated contest during this month, this score will be simply the sum of his/her rating changes during this month, with the following rules:
1- The very first 5 rated contests for a coder will not affect his score.
2- A rating increase will be multiplied by a factor from 0.5 to 3.0, this factor will be higher if the coder's rating before the contest is higher.
3- A coder with score less than or equal to -600 for the previous 2 months combined together (without the 1st rule) will not be in the coders-of-the-month list for this month.
For sure the coders-of-the-month list will contain the top 5 coders with a positive score.
If you have a better idea to calculate this score or you have a modification for my idea, please post it here so we can discuss it.
Here is a example for coders of July 2012: http://codeforces.net/blog/entry/5170
And another example for coders of August 2012: http://codeforces.net/blog/entry/5183
And all coders of the month from February 2010 to June 2012 here: http://codeforces.net/blog/entry/5184 (the first few months are without the 1st rule)
Thanks.
Edit: Added Shafaet's idea.
I like the idea but the 2nd rule seems a bit strange. A rating increase or decrease depends on my rank on my division whether it's div1 or div2. So why are you treating them differently?
Because it's much easier to increase your rating in Div.2 than Div.1. Without this rule, the top 5 are always from Div.2, I tried it.
I don't mind :P
What about adding a multiplying factor? Just For example rating increase from 1200 will be multiplied by 1.0,from 1250 will by 1.2, from 1300 by 1.4 and so on. Of course its just an example,you can do some calculation to figure out the best factor. From your logic its easier to increase rating in div2,again its even easier to increase when you are green,so a factor should make it more perfect.
I implemented your idea, and it looks much better, thanks!
What if a person is floating in divisions . i.e. He starts the month in Div 2 , goes to Div 1 during some contest ??
One more thing ? Why not make top-3 coders from both divisions separately.This will leave away all ambiguancies. Just the floating people(as described earlier) have to be given some formula (which I am not getting , but there are so many talented people here and someone will give it )..Have your say ..
It is not a good idea to name it "coders ot month", imho it's better to name like "breakthrough of month". Because for example tourist cant change his rating as much as anyone else. Or you can calculate average position of participants in the board.
My idea:
define month rating; rules are same as for normal ratnig, but month rating is zeroed monthly (after selection of Coders of the previous month).
To avoid 'div1-div2' problems, calculate month rating only for those participants, who are in first division.
Best Coder of month is simply the one with the highest month rating
instead of '0' maybe '1700' will be more accurate
if any Div2 participant advances to Div1, his score is 'zeroed'