WasylF's blog

By WasylF, history, 8 years ago, In English
UPD 2 Sep 2018

Hi guys! As I mentioned on previous contest I'm working on tool that predicts rating changes. I'm happy to present it now!

A huge amount of your nerve cells die every time when you wait for a rating update on Codeforces. Stop this! From now you could use this service, it calculates approximate rating changes for every contestant.

The most interested thing for you is extension. It partly modifies the contest standings page and shows approximate rating changes for every contestant. It is available for three browsers:

Extension in work:

Also you could find more detailed information (seed, rank, expected delta, etc.) here.

A project still in beta, so predictions are not very accurate. Average mistake around 5 points, but for the contestants at the back of standings it could be greater up to a few hundreds.

Tech details

I'd like to thank Rubanenko and all other members of NBHEXT developers team for your shared sources and MikeMirzayanov for the great Codeforces platforms with shared API & ratings formulas.

AWESOME UPD

Prediction for todays contest (cf #399) is absolutely matching real rating changes! Thanks for riadwaw! He was close to find my bug in rating calculation:)

UPD

Thanking KieranHorgan now CF-Predictor has a new design. Check it out:)

  • Vote: I like it
  • +187
  • Vote: I do not like it

| Write comment?
»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Maybe I miss something but why use this, when there is NBHEXT? Did you overcome some of its bugs? Please, give more information on how this differs from NBHEXT :)

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

    NBHEXT not working

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

    NBHEXT predicts rating changes using your browser (did you notice that your browser works slowly and is lagging while doing predictions?) CF-Predictor extension get prediction from own server, so all calculation are made on serverside. And yes, NBHEXT is not working now :(

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Not for Mozilla? Please make it for Mozilla too.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    It is on validation now. I hope, it doesn't take lot of time:)

»
8 years ago, # |
Rev. 3   Vote: I like it -7 Vote: I do not like it

deleted.

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

    You know, browser extensions work that way that you can enable and disable them whenever you want.

»
8 years ago, # |
  Vote: I like it +13 Vote: I do not like it

Funny, on attached screen all but one prediciton were good with tolerance of two points, but tourist's prediciton was way off (by 46 points). Probably there is a bug that comes to light only when we are dealing with very high rated users. Maybe you did same bug as original bug thanks to which tourist once exceeded 4000 points :)?

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

    Maybe I did not understand bug correctly, but wasn't the rating change caused by tourist beating himself? If it's the same bug, wouldn't the prediction show him as losing more rating, because he lost to himself instead?

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Please make it for Mozilla too.****

»
8 years ago, # |
Rev. 3   Vote: I like it +9 Vote: I do not like it

It seems the variance of the tool is quite high. Last contest I got an expected change of +22 (which seemed way off) and the real change was -63. I also saw people with similar results and similar starting rating getting a negative expected rating change.

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

    This was prediction before system tests. It caused because server gets to many request and have no time to calculate new rating prediction. I will fix this prior next round.

    If you a curious about prediction after system tests you could see it at static page here.

    It predicts to you -65, 2 point lower than actual results.

    sorry for my bugs

    • »
      »
      »
      8 years ago, # ^ |
      Rev. 2   Vote: I like it +5 Vote: I do not like it

      What about showing the last update time of the prediction so that people can know more about it, and also how the prediction should be considered as accurate.

      For instance, from the last update time shown, people can know if the prediction is about middle of the contest, end of contest but before systest, or after systest. So it is much more clear.

      I hope you can consider adding something like this. Thanks for such a great tool anyway:)

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by WasylF (previous revision, new revision, compare).

»
8 years ago, # |
  Vote: I like it +1 Vote: I do not like it

Apparently, the rating site is down (at least for me). Any ideas why?

»
8 years ago, # |
  Vote: I like it +1 Vote: I do not like it

The site is up now. But when I try to select a contest and click "Get rating prediction", the results won't display at all. The browser seems to load infinitely instead.

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I think I found a bug. See this —

He is in my starred user list, He submitted A and got WA on pretest 1 [skipped]. But will this even happen? He will get near +77? o.O

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yeah, you are right this is bug. mdshs.shanto has a quite low rating (887) and my program calculated his seed as 2922. He took place much higher, so his rating should increase. But official cf rating works somehow different, and I don't know where my mistake((

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

      Maybe in case of several people on the same place from A to B, you consider their rank to be A, while it's probably considered as (A + B)/ 2;

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        I will check this, but in the official shared code rank calculates as in standings:

            private void reassignRanks(List<Contestant> contestants) {
                sortByPointsDesc(contestants);
        
                for (Contestant contestant : contestants) {
                    contestant.rank = 0;
                    contestant.delta = 0;
                }
        
                int first = 0;
                double points = contestants.get(0).points;
                for (int i = 1; i < contestants.size(); i++) {
                    if (contestants.get(i).points < points) {
                        for (int j = first; j < i; j++) {
                            contestants.get(j).rank = i;
                        }
                        first = i;
                        points = contestants.get(i).points;
                    }
                }
        
                {
                    double rank = contestants.size();
                    for (int j = first; j < contestants.size(); j++) {
                        contestants.get(j).rank = rank;
                    }
                }
            }
        
        • »
          »
          »
          »
          »
          8 years ago, # ^ |
          Rev. 2   Vote: I like it +5 Vote: I do not like it

          If all people get same number of points, this code will return contestants.size() as far as I understand the code. In standings everybody would be first

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

Excellent Work! Forked it as Well :)

»
8 years ago, # |
  Vote: I like it +11 Vote: I do not like it

Your tool was perfectly worked yesterday! Thanks man!

»
8 years ago, # |
  Vote: I like it +13 Vote: I do not like it

I suggest to add a Disable/Enable button for the extension as sometimes i wanna to hide it during the contest

»
7 years ago, # |
  Vote: I like it +3 Vote: I do not like it

Site is down.I am unable to open it

»
7 years ago, # |
  Vote: I like it +13 Vote: I do not like it

Shows 0 to me ?

»
7 years ago, # |
  Vote: I like it +10 Vote: I do not like it

It's still not working!!!

»
7 years ago, # |
  Vote: I like it 0 Vote: I do not like it

CF-Predictor seems to be working now but rating change for #431 Div.2 is wrong. Why?

»
7 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Can sombody help me set this extension up...I added it to chrome extentions...but dont know how it works

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    You should just open standings page of active or recently ended contest. You will see a rating change in the last column.

    For example: last contest here

    PS Probably you have a slow internet connection, in this case downloading data could take a while.

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Thats an amazing extension...Almost accurate it showed +20 and I got +21...You did an amazing job

»
7 years ago, # |
Rev. 3   Vote: I like it +18 Vote: I do not like it

I think the web interface is really ugly now...

UPD: Great interface now.

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

    I'm sorry, I'm 100% noob in the frontend. Do you have any better proposal for start page design?

»
7 years ago, # |
  Vote: I like it +3 Vote: I do not like it

Auto comment: topic has been updated by WasylF (previous revision, new revision, compare).

»
7 years ago, # |
  Vote: I like it +5 Vote: I do not like it

Please predict the Good Bye 2017 round's ratings, taking into account the changed ratings due to the last Educational round.

»
7 years ago, # |
  Vote: I like it +71 Vote: I do not like it

Please update it to the new rating system.

  • »
    »
    7 years ago, # ^ |
    Rev. 2   Vote: I like it +28 Vote: I do not like it

    I think they have updated it for Div.2 and Div.3 according to the new rating system, but forgot educational rounds :(

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Isn't it the first educational round since new rating was introduced?

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it +11 Vote: I do not like it

      Hi! Could you please tell more specific, what doesn't work?

      • »
        »
        »
        »
        7 years ago, # ^ |
          Vote: I like it +11 Vote: I do not like it

        In educational rounds rating changes for purple users aren't shown.

»
7 years ago, # |
  Vote: I like it +13 Vote: I do not like it

WasylF, it seems that the extension doesn't work for HTTPS version of Codeforces. Please fix.

  • »
    »
    7 years ago, # ^ |
    Rev. 2   Vote: I like it +22 Vote: I do not like it

    Thank you! Updated for Chrome & FireFox! There is some issues with opera. I don't know how soon it be solved.

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it +6 Vote: I do not like it

      Thanks for the fast update, it works now. Tested on Firefox 60.

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

      WasylF, It's still not working on my chrome for HTTPS version :(

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

        skmonir, could you please check version of extension? It should be 1.2.3

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

          WasylF, yes. It's 1.2.3. In fact, when it wasn't working, I removed it and added again from the chrome web store. So it's latest version.

  • »
    »
    7 years ago, # ^ |
    Rev. 2   Vote: I like it +9 Vote: I do not like it

    You are right. But we can visited this url to find our rating changes.

»
6 years ago, # |
  Vote: I like it +4 Vote: I do not like it

It can't work now.

  • »
    »
    6 years ago, # ^ |
      Vote: I like it +10 Vote: I do not like it

    Do not worry, everything is fine :) I'll turn it on before the next contest. Free heroku account gives you a limited amount of free hours per month, so I need to spend them wisely :)

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Have you considered Azure Web Services? Don't know if it would work for you, they offer a 1 year free license for students, with a variety of services

»
6 years ago, # |
  Vote: I like it +1 Vote: I do not like it

What about Microsoft Edge user???

»
6 years ago, # |
  Vote: I like it +3 Vote: I do not like it

Auto comment: topic has been updated by WasylF (previous revision, new revision, compare).

»
6 years ago, # |
  Vote: I like it -9 Vote: I do not like it

Why not for safari...???

»
6 years ago, # |
  Vote: I like it +1 Vote: I do not like it

In case the post is too long and it's hard to find links, this is a summary:

»
6 years ago, # |
  Vote: I like it 0 Vote: I do not like it

The predictor was working fine till yesterday. However, today I updated my Firefox web browser and it's not working anymore. I am running Firefox Quantum (64.0) in Ubuntu 18.04.

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

    no, that's just because the server for cf predictor crashed

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

      Phew... I thought the newer version is not supported and so I have to reinstall the outdated one.

»
6 years ago, # |
  Vote: I like it +7 Vote: I do not like it

Got Safari and want to stick with it....

»
6 years ago, # |
  Vote: I like it +3 Vote: I do not like it

Extensions, get you out of "tension".

»
6 years ago, # |
Rev. 3   Vote: I like it +1 Vote: I do not like it

WasylF has the CF rating system is being changed.In last contest predictor showed -7 rating change.But it was actually -23

»
6 years ago, # |
  Vote: I like it +4 Vote: I do not like it

WasylF CF-Predictor hasn't been working for me lately(it doesn't display the delta column)

I'm using Google Chrome and I tried uninstalling and installing it back, but still no success.

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I have the same problem with chrome. I have downloaded the Mozila Firefox, where the predictor works.

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    yeah, me too!

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I guess we'll have to go back to the tried-and-true method of "Look at your rank and guess the expected delta and then pray you get high rating"

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

      I like your approach! suffering is madatory party of competitive programming :D But if you like, website with predictions still works.

  • »
    »
    6 years ago, # ^ |
    Rev. 2   Vote: I like it +8 Vote: I do not like it

    Thank you for reporting, I'll look on this.

    UPD I've found the reason of issue. In last chrome update they changed Cross-Origin Read Blocking policy. And the actual problem is that I can't update code ASAP. I recently started working in Google and they have pretty strict policy about open source projects. I'll try to come up with some solution, but sorry, no promises.

    Current solution is to use website.

    • »
      »
      »
      6 years ago, # ^ |
      Rev. 3   Vote: I like it +12 Vote: I do not like it

      Hi WasylF, I have fixed the CF-Predictor Chrome extensions and it is working on Chrome 73. I am sending you a PR, please review it and if possible update the Extension as soon as possible.

      UDP1

      YOU SHOULD REALLY WAIT FOR OFFICIAL RELEASE

      For those who want to test it now, Download this, Uninstall the old version as they are signed with different keys. Follow this tutorial on how to manually install chrome extensions. (It's easy).

      UDP2

      To install official extension again, you must remove this

      UDP3

      The new extension is available in the chrome store. Update now

      • »
        »
        »
        »
        6 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Thank you a lot! Extension has been updated (version 1.2.4) and now it works fine!

»
6 years ago, # |
  Vote: I like it 0 Vote: I do not like it

The add-on used to work on Firefox Android but now I can't even download it!

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Excuse me,can anyone tell me the exact rating calculation formula?

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I have a suggestion to improve CF predictor. First of all thank you for the amazing extenion.

Feature: Add rating change for virtual contest. you could color the rating with red or any color to show that it is virtual

»
5 years ago, # |
  Vote: I like it +34 Vote: I do not like it

In the recent contest Codeforces Global Round 5, the rating prediction is wrong for a user with negative rating. (predicted -48, real -4)

Possible reason: the binary search algorithm (getRatingToRank function) in the official code initialize the left variable to 1, so the result is incorrect for values < 1.

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I'm having some problems in the extension, its not working in Opera but works in Chrome. Can someone help me more with opera?

»
5 years ago, # |
  Vote: I like it +57 Vote: I do not like it

I think that something is broken :(

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

It doesnt work in virtual participant. Can you help me ?

  • »
    »
    5 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Sorry, but it doesn't suppose to work for virtual contests because it would generate additional load on the server.

    • »
      »
      »
      5 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Ok

    • »
      »
      »
      18 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Can you please make it do client side calculations for that one, a lot of people would really appreciate it!

      Thanks ahead :D

»
5 years ago, # |
  Vote: I like it +23 Vote: I do not like it

How is it possible that this post isn't +1000?

»
5 years ago, # |
  Vote: I like it +3 Vote: I do not like it

I've edited the JS File a bit so that it works in Safari ( macOS Catalina ). See the full details here

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I did all steps that are mentioned there, but I'm not able to see rating changes prediction in a past contest in Safari.

    Isn't there a button like in other web browsers?

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Sorry but can it predict at the moment we chose ?

»
5 years ago, # |
  Vote: I like it +10 Vote: I do not like it

What happen to me ;-; It doesnt show anymore ;-;

  • »
    »
    5 years ago, # ^ |
      Vote: I like it +6 Vote: I do not like it

    i suppose all profiles are temporary blocked and cfpr needs ratings to work?

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

      Oh, maybe it is. I use this a lot and get confused when it doesnt work haha ~~

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

      Your rating change is a function of the ratings of the participants in the contest you did. It follows that the predictor needs ratings to operate, which, among other cf features were not present during the contest.

»
5 years ago, # |
  Vote: I like it +5 Vote: I do not like it

It showed -48 for me and -62 for my friend but we both got -16

»
5 years ago, # |
  Vote: I like it +34 Vote: I do not like it

Hey, the rating predictor isn't predicting correct delta. Can you please fix it. Thanks.

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Can anyone please explain how the seed of a coder is calculated?

  • »
    »
    4 years ago, # ^ |
      Vote: I like it -8 Vote: I do not like it

    Pretty sure the seed is the rank of the competitor before the contest compared to the other competitors. So the top rated participant gets seed 1, second most rated gets seed 2, etc.

»
4 years ago, # |
  Vote: I like it +17 Vote: I do not like it

BUG: Rating predictions for today's contest were based on the ratings before yesterday's contest so they are inaccurate.

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

How to add this extension for Micorsoft Edge?

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    As far as I know new chromium based microsoft edge supports chrome extensions. U can add it by clicking on chrome extension of it.

»
4 years ago, # |
  Vote: I like it +6 Vote: I do not like it

Similar to this issue, deltas today were calculated using ratings from 2 contests ago.

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

CF-predictor is down now and the addon is not working. Is there any alternative?

UPD it seems, there were some problems with Heroku. Works now.

»
4 years ago, # |
  Vote: I like it +26 Vote: I do not like it

extension is not working now

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

    From what I have observed in past 2-3 contest, it doesn't work during the 12-hour hacking phase.

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Is it just me or is the extension not working?

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

It predicts wrong delta for those who have changed their handle using magic . My handle was previously taken by someone who had not participated. CF predictor is calculating delta using that rating. WasylF Please look into this.

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I used safari-web-extension-converter to let it and competitive companion run on Safari(>14.0),It is now available on the AppStore,but unfortunately,According to CORS I cannot send the request to CF-Predictor ,so you need to disable Cross-Origin Restrictions before use.

»
3 years ago, # |
  Vote: I like it 0 Vote: I do not like it

After I updated my username, it is not predicting my rating change

»
3 years ago, # |
Rev. 8   Vote: I like it -7 Vote: I do not like it

I have been using your tool for a long time. In Codeforces Round 799 (Div. 4) contest held yesterday, the tool showed an expected +17 points rating-change by the end of the system test. Nonetheless, the actual rating-change made by the CF system was -8 points!

What would be a plausible reason for this large inaccuracy in predicting the rate change?

Is it possible to update the tool so as to make it more accurate?

P.S. I have not updated my CF username since joining the site.

»
2 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Maybe, you should add an auto-update feature, which automatically updates the delta when the real rating changes occur.

»
2 years ago, # |
  Vote: I like it 0 Vote: I do not like it

The CF-predictor is not working, please help if anyone knows any other tool/extension to predict rating changes

  • »
    »
    2 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Neither this nor Carrot is working at the moment because the Codeforces API is down, once that issue is fixed my guess is that both extensions will go back to working just fine.

»
2 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Great Extension! And thank you WasylF!

»
17 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Is it possible to share the source please...

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Why I've download the extension but it doesn't

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

This doesn't seems to be working, neither does carrot. Is there any other tool to compute individual elo performance?