carrot icon indicating copy to clipboard operation
carrot copied to clipboard

Consider using user.info to get ratings

Open meooow25 opened this issue 2 years ago • 1 comments

Codeforces has added an includeRetired param to user.ratedList (quite some time ago) with an undocumented default of true. This means that any user who hasn't been online in the last month but participates in a contest after Carrot has cached ratings (which within 1hr of a contest start by default) will appear to Carrot as a new user.

It's understandable that they might want to add a filter since the number of users on CF has grown rapidly and every request would a huge amount of data if all users were returned. I wish they wouldn't change things silently without any announcement or changelog, but that's a different matter.

I do not want to set includeRetired to true in Carrot because, as mentioned, it would be a huge amount of data. But keeping it false means worse predictions (perfect prediction is impossible due to fake ratings anyway).

An endpoint that can used instead of user.ratedList is user.info. It can be argued to be more suitable for this use case than user.ratedList. When this extension was written, however, it was unusable. But CF has added support for POST requests so it is usable now. This would mean more number of requests as opposed to one large request upfront. But it would only be the user info of the participants, so amount of data should be smaller.

meooow25 avatar Nov 28 '22 20:11 meooow25

Same

image

CroMarmot avatar Dec 17 '22 19:12 CroMarmot