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.
Codeforces has added an
includeRetired
param touser.ratedList
(quite some time ago) with an undocumented default oftrue
. 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
isuser.info
. It can be argued to be more suitable for this use case thanuser.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.