carrot
carrot copied to clipboard
Consider using user.info to get ratings
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.
Same