The ACD Ladders (version 1) was welcomed by the community and got a much better response than what I anticipated. As nothing is perfect and everything can be improved hence we made some changes to the algorithm responsible for recommending the problems for the ladders! Before explaining the algorithm in detail, I would like to thank Monogon for his suggestions (although it came up in a random conversation but this helped improving the algorithm). so let's dive into the algorithm responsible for populating the problems!
Get all active users from codeforces (there were 61k users this time, this is almost a 50% increase in the data we used for v1)
Check the past 16 months data for all these users, this encompasses the problems they solved and the rating increase they saw in contests during this time period.
- For each of those users divide the time into 4 buckets of 4 months each, these buckets are individually analysed. Each bucket for each user is required to possess the following to be considered as valid buckets (A,B,C are predetermined thresholds)
- rating growth greater than A
- problems solved greater than B
- number of contests greater than C
Each valid bucket is then used for checking which all problems user has "upsolved" (contests solves are filtered out in this version of the algorithm). The upsolves are now given score according to the level at which the user was when he solved this problem (This is specifically because solving a 1000 rated problem might not add much value to a Master, but solving 2100-2500 probably would). The more the correlation b/w the solved problems and the current rating (skewed slightly towards right), the more is the score assigned. The score is now added to the problem.
Step 3 & 4 are executed for all the users!
There it is! I would like to thank manishjha91 and shubhamjr1729 for helping with the development and deployment! You can check out the website here. Feel free to join our discord community for the hard75 challenge, free teaching sessions and lot more! Please feel free to comment down your suggestions for further improvements! Happy coding!
Some more facts (you might wanna skip)
The ladders was visited 2,00,000+ times by coders!
It served 4000+ coders!
It takes 2-3 days to update the ladders, need to graciously ping codeforces for all the data.
UPDATE 1: The older version of the ladders can be accessed at link