Codeforces Future Rating Predictor — Visualize Where You're Headed

Revision en1, by CinCout21, 2025-06-09 12:58:26

What this app does

-> Plots your entire rating history from your very first contest and overlays a fitted regression curve (linear, quadratic, or cubic) to best approximate your rating trend

Projected curve fit into your rating chart

Actual contest rating changes in all the contests a user has participated in so far

Hover over the projected curve to see the predicted ratings at each timestamp/date till December 2025

-> Predicts your future rating month-by-month until December 2025. Future Rating Predictions (Monthly till Dec 2025)

Approach

1. Fetches a user's entire contest history : Codeforces RatingChange API

Each contest entry includes: - contestId: Unique ID of the contest - contestName: Name of the contest - handle: User's Codeforces handle - newRating: Rating after the contest - ratingUpdateTimeSeconds: UNIX timestamp (converted to a readable date)

2. Machine Learning technique — Polynomial Regression : Fits a smooth curve through a user's rating history using polynomial regression.

I tried linear regression, and polynomial regression with degrees 2 and 3 but since most people participated in less than 100 contests, polynomial regression (with degrees 2 and 3) caused overfitting and showed absurd results but it works fine for some users who participated in a large number of contests.

I tried to improve the balance in the dataset before training by sampling some data points for some users with very less number of contests but i suggest most users to use the Linear regression approach (Polynomial Regression with degree 1) in order to obtain smooth and more accurate results but I have given the option to view the results produced by the higher degree polynomials as well in the dropdown in the bottom of the page.

You can access it from here : Codeforces Future rating Predictor

Disclaimer

These predictions are NOT 100% accurate. They are generated using your past contest ratings only. The model does not account for upcoming contest performance, competition difficulty, relative ranking, or rating inflation.

Looking forward for your feedback Thank you!

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en15 English CinCout21 2025-06-26 08:18:50 0 Tiny change: 'chnique** — **Polynom' -> 'chnique** - **Polynom'
en14 English CinCout21 2025-06-09 17:10:50 5 Tiny change: 'aining by sampling s' -> 'aining by over-sampling s'
en13 English CinCout21 2025-06-09 16:31:12 4
en12 English CinCout21 2025-06-09 15:43:03 281
en11 English CinCout21 2025-06-09 14:29:30 92
en10 English CinCout21 2025-06-09 13:15:54 2
en9 English CinCout21 2025-06-09 13:11:40 8
en8 English CinCout21 2025-06-09 13:08:54 12
en7 English CinCout21 2025-06-09 13:05:34 3 Tiny change: '2.png)\n\n-> Predicts y' -> '2.png)\n\nPredicts y'
en6 English CinCout21 2025-06-09 13:03:34 15
en5 English CinCout21 2025-06-09 13:02:50 17
en4 English CinCout21 2025-06-09 13:01:43 5 Tiny change: 'p does**\n------------------\n-> Plots' -> 'p does**\n\n-> Plots'
en3 English CinCout21 2025-06-09 13:01:19 18 Tiny change: 'p does**\n------------------\n-> Plots' -> 'p does**\n\n-> Plots'
en2 English CinCout21 2025-06-09 13:00:46 4 Tiny change: '\n**What thi' -> '**What thi'
en1 English CinCout21 2025-06-09 12:58:26 2672 Initial revision (published)