ojuz's blog

By ojuz, history, 11 days ago, In English,

Hi, everyone!

Recently we've seen a lot of people complaining about the merciless Codeforces Rating Formula — if you fail in one round, your rating will decline too much(something like -200) and it will make your long-term effort to make your rating increase meaningless.

So we decided to compute your Codeforces' ratings using Atcoder's Rating System! :D

We will try to update the ratings each time the round is over. We welcome your suggestions on comments :D

Some information:

  • [UPDATED] Since Codeforces and Atcoder are different platforms, we applied some tweaks on the rating formula. Is this a reasonable choice?
    • Div.1 & Div.1 + Div.2 rounds: Center = 1600, RATEDBOUND = ∞ (we thought Div.1 is more similar to AGC, not ARC)
    • Div.2 rounds — Center = 1000, RATEDBOUND = 1500 (RATEDBOUND + 400 = 1900)
    • Div.3 rounds — Center = 800, RATEDBOUND = 1200 (same as ABC)
  • We didn't implement the p(0 < p < 1)-rated feature, so the semi-rated round is fully rated here.
 
 
 
 
  • Vote: I like it  
  • +272
  • Vote: I do not like it  

»
10 days ago, # |
  Vote: I like it +22 Vote: I do not like it

So cool!

»
10 days ago, # |
Rev. 2   Vote: I like it +24 Vote: I do not like it

I'm only 1500? I think the f function written in the pdf is too strict... (my first starting rating was 25)

»
10 days ago, # |
  Vote: I like it +30 Vote: I do not like it

Suddenly I'm just 1650 due to AtCoder metrics :(

»
10 days ago, # |
  Vote: I like it +9 Vote: I do not like it

I'm now a "newbie" :(

»
10 days ago, # |
  Vote: I like it +47 Vote: I do not like it

Heh, tourist is still 1st in this universe.

»
9 days ago, # |
  Vote: I like it +26 Vote: I do not like it

We recalculated the ratings with the new rating bounds. Div.2 bound is increased to match with the Codeforces standards, and Div.3 bound is increased to match with ABC. Possibly your rating has been increased, check once more!

Also the ranklist is now separated into two -- just the same as Codeforces.

»
9 days ago, # |
  Vote: I like it +13 Vote: I do not like it

Performance is acting weird. I'd expect 12th place at CROC final to give me much better performance than 2876 and definitely better than in AIM Tech Round 3, where I had 22nd place and performance 2898.

  • »
    »
    9 days ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    Yes right, your performance for CROC final should be 2914, not 2876. For now we don't know why this happened, the same code gives different results.

    For now, the only thing we can imagine is that the ratings wasn't calculated chronologically, so that APerf s were calculated differently. But we calculated the ratings in increasing order of startTimeSeconds, so this wouldn't be the problem. We will definitely investigate, thanks for your comment :D

  • »
    »
    8 days ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    It takes too much time and cost to reproduce the same situation, so we will see if the same bug happens when we compute the new ratings according to the following Div.2 round. Maybe this wouldn't give a nice result (since it's Div.2), in that case we have to wait a little bit more.

  • »
    »
    4 days ago, # ^ |
    Rev. 3   Vote: I like it 0 Vote: I do not like it

    No, your performance was definitely 2876. We mistakenly took into account every contest (until 4 days ago), not before that CROC final. This is how the performance graph looks like: (x-axis is the performance, and y-axis is the corresponding rank — 0.5)

    performance 2800 to 3000

    You can see the whole rating graph here. Maybe it happened because there were too few participants who has too high ratings in the CROC finals?

»
8 days ago, # |
  Vote: I like it +39 Vote: I do not like it

Can someone write a userscript that replaces Codeforces rating with this rating?

»
7 days ago, # |
Rev. 2   Vote: I like it +4 Vote: I do not like it

Thank you!

Note that something like "My real rating is X but now it shows Y, it increased/decreased..." doesn't make any sense because ratings are just relative values. You should compare the rank instead.

EDIT: Do you want rating X in your rating to be as strong as rating X in CF, or rating X in AtCoder? In the former case I think the ratings should be multiplied by a constant less than one (and possibly tweak centers), and in the latter case the centers should be raised.

  • »
    »
    7 days ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    We are not sure. The reason we decided to increased the bounds was it seemed the RATEDBOUND for Div.2 deserved more than 1200, and we thought it would be nice to give some kind of a motivation for low-rated users. And then we didn't adjust anything since we thought, as you mentioned, the absolute values of ratings are not important.

    Anyway, thanks for your suggestion :D

»
4 days ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Sorry for being late, we just updated the ratings for the Educational Codeforces Round 44. printed out all the variables during the computation to see what is going on. We will investigate on them and find out what the problem was (from this comment)~

UPD: for now, it seems everything is fine.