Codechef Rating Predictor is Back

when will the rating predictor start working
@admin
@vijju123

1 Like

The replies in Codechef API not working still hold true.
tl;dr: There is no problem.

2 Likes

Where did you get the API documentation??

Yes no luck. :confused: I’ve implemented OAuth2 as they said in the docs but I’m getting some error(Cannot find module 'request' to be specific) during deployment because of some issue in the code from my side.

5 Likes

any possibility of predictor to start working?

1 Like

Check developers.codechef.com

@kshitij28 Can’t say anything about when it be up again since I’m facing some issues with it.

3 Likes

Is there any way to see predicted ratings ?

1 Like

Will the predictor be restarted during December Long?
It was amazing.

9 Likes

Hope it comes soon!!!

3 Likes

I guess it might be available again after ICPC.
It’s my random guess.

2 Likes

it is stopped working from a long time ago

1 Like

I’m glad you guys liked it. But unfortunately there are very less chances of making it comeback. After the API was restricted, I made changes to access it using OAuth2 via credentials.

But a part of this predictor parses the submissions page of contest to get list of all participants since ranklist doesn’t have participants having zero score. Example - https://www.codechef.com/DEC19B/status/WATSCORE?page=3

Initially it was able to parse all pages. But now after 10-12 requests, the “Hold it Right there sparky” page comes because of which it can’t parse any further.

Moreover, there is an API endpoint for submissions page but you can only request 20 submissions at max per request and in 5 minute you can do max 30 requests(there is a limit from API). So in 5 minutes, you parse at max 20*30=600 submissions which is ofcourse very less considering the amount of submissions that are actually there.

11 Likes

Does it show the sparky page after you are logged in?

might be possible for div1 atleast to some extent

1 Like

what about parsing the submissions parallely using different logins and combining it.might work

Do you need to fetch all submissions, or would the rankings be sufficient? Are they easier to get hold of?

Edit:

Sorry, ignore - missed an important part of your post :slight_smile:

1 Like

@dushsingh1995
I don’t think we do 600 submissions in 5 mins.
600/5 = 120 per min = 2 submissions per second.
We generally have 10 submissions per min in long challenges on an average.
( Considering total submissions in a long challenge as 10^5 => 10^4 per day => 420 per hour => 7 per min )
I understand there are rejudges during long challenges. You can check for them as well parallely as api requests are 12 times than required for one iteration of all solutions.
You can check for rejudges everyday.
It’s okay if it lags in starting of long challenge or maybe during day time.
I think this works in long challenges at least. In fact this is more than enough for long challenges.
Or in worst case it works for div1.
I believe it is required only for long contests.
For short contest they’ll get ratings very soon ( by next morning).
It would be great if you can keep this predictor up for long challenges at least.
Is there anything which I am missing here ?

2 Likes

for short contests i think giving only the seed value(expected rank is enough.I)t doesn’t require so many api requests so if it is given that will be better

2 Likes

if you understand the rating formula then we can host a rating predictor which takes in two parameters current rating and rank of the contest from the user through a html form by anybackend process you can compute the next rating though this is long process but will be feasible for some time temporarily
if you can tell me or explain rating formulas I can make that brother with the help of github.io or heroku

anyone please explain clearly how ratings are calculated,?