Hello, Codeforces !
I'm excited to share my first contribution to the community: a complete analysis of Codeforces rating distributions, as the last one I know about is this one from 2024.
After several days of collecting and processing data through the Codeforces API, I built a set of analytics covering user rating brackets, average time needed to reach specific rating milestones, and other interesting insights about progression on the platform.
I’m also looking to build a community around future projects, learning programming, and helping each other improve. No matter your current rank on Codeforces, you’re welcome to join our newly created Discord server ! Now let's get started with the data. I collected information only for users who have participated in at least 6 contests. I also categorized them based on their recent activity: 6 months, 1 year, 3 years, and all time.
If interested in what scripts did I use to make everything, here is the link
Users Active In The Last 6 Months

Click for high quality image
The majority of users are concentrated roughly between 800 and 1400 rating, which mostly corresponds to the Newbie and Pupil ranks. This is where the distribution reaches its peak. After that point, the number of users slowly starts to decrease as the rating increases.
The Specialist and Expert ranges still contain a significant number of users, but the drop becomes more visible once we move past Candidate Master (1900+). From there, the number of users in each bracket gets smaller quite quickly.
Ranks such as Master, Grandmaster, and Legendary Grandmaster make up only a small part of the total active user base, which is also reflected by the long tail on the right side of the distribution.
Overall, the shape of the distribution is fairly expected, but it still gives a useful overview of where most active users currently stand in terms of rating.
How many years does it typically take users to reach each rating since starting?

Click for high quality image
More detailed statistics also including the top %
Top % meaning for example that if you are top 13% then you are better than 87% of users on Codeforces.
| Rating Bracket | Users Count | Top % | Median Years To Get It | Average Years To Get It |
| -100- -1 | 13 | 100.0 | 1.53 | 1.534 |
| 0-99 | 6 | 99.986 | 1.399 | 1.683 |
| 100-199 | 4 | 99.979 | 1.291 | 1.532 |
| 200-299 | 18 | 99.975 | 1.124 | 1.49 |
| 300-399 | 39 | 99.955 | 1.09 | 1.386 |
| 400-499 | 111 | 99.913 | 0.919 | 1.265 |
| 500-599 | 462 | 99.791 | 0.851 | 1.131 |
| 600-699 | 1599 | 99.286 | 0.748 | 1.003 |
| 700-799 | 4215 | 97.538 | 0.659 | 0.913 |
| 800-899 | 8037 | 92.929 | 0.618 | 0.878 |
| 900-999 | 10345 | 84.141 | 0.642 | 0.914 |
| 1000-1099 | 10868 | 72.829 | 0.72 | 0.985 |
| 1100-1199 | 10290 | 60.946 | 0.795 | 1.069 |
| 1200-1299 | 11410 | 49.694 | 0.885 | 1.159 |
| 1300-1399 | 8333 | 37.218 | 0.979 | 1.268 |
| 1400-1499 | 8141 | 28.107 | 1.066 | 1.365 |
| 1500-1599 | 4795 | 19.205 | 1.159 | 1.466 |
| 1600-1699 | 4421 | 13.962 | 1.258 | 1.588 |
| 1700-1799 | 2414 | 9.128 | 1.4 | 1.737 |
| 1800-1899 | 1595 | 6.488 | 1.55 | 1.891 |
| 1900-1999 | 1324 | 4.744 | 1.674 | 2.03 |
| 2000-2099 | 780 | 3.297 | 1.826 | 2.174 |
| 2100-2199 | 895 | 2.444 | 2.019 | 2.314 |
| 2200-2299 | 444 | 1.465 | 2.382 | 2.655 |
| 2300-2399 | 262 | 0.98 | 2.696 | 2.91 |
| 2400-2499 | 254 | 0.693 | 2.916 | 3.161 |
| 2500-2599 | 121 | 0.416 | 3.269 | 3.504 |
| 2600-2699 | 80 | 0.283 | 3.49 | 3.768 |
| 2700-2799 | 60 | 0.196 | 3.599 | 4.043 |
| 2800-2899 | 40 | 0.13 | 3.921 | 4.259 |
| 2900-2999 | 26 | 0.086 | 4.283 | 4.464 |
| 3000-3099 | 17 | 0.058 | 4.697 | 4.862 |
| 3100-3199 | 8 | 0.039 | 4.927 | 5.181 |
| 3200-3299 | 8 | 0.031 | 5.105 | 5.782 |
| 3300-3399 | 9 | 0.022 | 5.381 | 5.82 |
| 3400-3499 | 4 | 0.012 | 5.429 | 5.851 |
| 3500-3599 | 3 | 0.008 | 5.673 | 6.031 |
| 3600-3699 | 2 | 0.004 | 6.176 | 6.586 |
| 3700-3799 | 2 | 0.002 | 6.929 | 8.22 |
Now, the same data classified by rank:
| Rank | Users Count | Top % | Median Years To Get It | Average Years To Get It |
| Newbie | 46007 | 100.0 | — | — |
| Pupil | 19743 | 49.694 | 0.885 | 1.159 |
| Specialist | 12936 | 28.107 | 1.066 | 1.365 |
| Expert | 8430 | 13.962 | 1.258 | 1.588 |
| Candidate Master | 2104 | 4.744 | 1.674 | 2.03 |
| Master | 1339 | 2.444 | 2.019 | 2.314 |
| International Master | 262 | 0.98 | 2.696 | 2.91 |
| Grandmaster | 375 | 0.693 | 2.916 | 3.161 |
| International Grandmaster | 206 | 0.283 | 3.49 | 3.768 |
| Legendary Grandmaster | 53 | 0.058 | 4.697 | 4.862 |
Users Active In The Last Year
Click for data
Click for high quality image
How many years does it typically take users to reach each rating since starting?

Click for high quality image
More detailed statistics also including the top %
| Rating Bracket | Users | Top % | Median Years To Get It | Average Years To Get It |
| -100- -1 | 18 | 100.0 | 1.609 | 1.838 |
| 0-99 | 9 | 99.986 | 1.307 | 1.745 |
| 100-199 | 7 | 99.979 | 1.155 | 1.559 |
| 200-299 | 26 | 99.974 | 1.079 | 1.443 |
| 300-399 | 70 | 99.954 | 1.006 | 1.328 |
| 400-499 | 194 | 99.901 | 0.899 | 1.226 |
| 500-599 | 795 | 99.754 | 0.839 | 1.128 |
| 600-699 | 2568 | 99.149 | 0.75 | 1.005 |
| 700-799 | 6577 | 97.197 | 0.664 | 0.921 |
| 800-899 | 12335 | 92.196 | 0.625 | 0.891 |
| 900-999 | 15535 | 82.818 | 0.649 | 0.926 |
| 1000-1099 | 15570 | 71.007 | 0.727 | 1.002 |
| 1100-1199 | 14538 | 59.169 | 0.801 | 1.078 |
| 1200-1299 | 15694 | 48.116 | 0.887 | 1.163 |
| 1300-1399 | 11480 | 36.184 | 0.979 | 1.269 |
| 1400-1499 | 11477 | 27.456 | 1.064 | 1.358 |
| 1500-1599 | 6526 | 18.73 | 1.151 | 1.459 |
| 1600-1699 | 6670 | 13.768 | 1.25 | 1.575 |
| 1700-1799 | 3446 | 8.697 | 1.389 | 1.736 |
| 1800-1899 | 2099 | 6.077 | 1.518 | 1.873 |
| 1900-1999 | 1830 | 4.481 | 1.645 | 2.019 |
| 2000-2099 | 1029 | 3.09 | 1.809 | 2.165 |
| 2100-2199 | 1301 | 2.307 | 1.996 | 2.306 |
| 2200-2299 | 597 | 1.318 | 2.366 | 2.646 |
| 2300-2399 | 336 | 0.864 | 2.704 | 2.907 |
| 2400-2499 | 323 | 0.609 | 2.914 | 3.141 |
| 2500-2599 | 160 | 0.363 | 3.212 | 3.454 |
| 2600-2699 | 98 | 0.242 | 3.412 | 3.716 |
| 2700-2799 | 71 | 0.167 | 3.599 | 3.996 |
| 2800-2899 | 49 | 0.113 | 3.953 | 4.216 |
| 2900-2999 | 30 | 0.076 | 4.292 | 4.43 |
| 3000-3099 | 27 | 0.053 | 4.697 | 4.803 |
| 3100-3199 | 11 | 0.033 | 4.927 | 5.165 |
| 3200-3299 | 9 | 0.024 | 5.34 | 5.719 |
| 3300-3399 | 9 | 0.017 | 5.486 | 5.823 |
| 3400-3499 | 6 | 0.011 | 5.489 | 5.781 |
| 3500-3599 | 3 | 0.006 | 5.673 | 5.912 |
| 3600-3699 | 3 | 0.004 | 6.176 | 6.351 |
| 3700-3799 | 2 | 0.002 | 6.713 | 7.784 |
Now, the same data classified by rank:
| Rank | Users | Top % | Median Years To Get It | Average Years To Get It |
| Newbie | 68242 | 100.0 | — | — |
| Pupil | 27174 | 48.116 | 0.887 | 1.163 |
| Specialist | 18003 | 27.456 | 1.064 | 1.358 |
| Expert | 12215 | 13.768 | 1.25 | 1.575 |
| Candidate Master | 2859 | 4.481 | 1.645 | 2.019 |
| Master | 1898 | 2.307 | 1.996 | 2.306 |
| International Master | 336 | 0.864 | 2.704 | 2.907 |
| Grandmaster | 483 | 0.609 | 2.914 | 3.141 |
| International Grandmaster | 248 | 0.242 | 3.412 | 3.716 |
| Legendary Grandmaster | 70 | 0.053 | 4.697 | 4.803 |
Users Active In The 3 Years
Click for data
Click for high quality image
How many years does it typically take users to reach each rating since starting?

Click for high quality image
More detailed statistics also including the top %
| Rating Bracket | Users | Top % | Median Years To Get It | Average Years To Get It |
| -100- -1 | 48 | 100.0 | 1.384 | 1.656 |
| 0-99 | 30 | 99.981 | 1.147 | 1.525 |
| 100-199 | 43 | 99.97 | 1.034 | 1.356 |
| 200-299 | 104 | 99.953 | 0.983 | 1.273 |
| 300-399 | 284 | 99.912 | 0.927 | 1.209 |
| 400-499 | 814 | 99.802 | 0.877 | 1.15 |
| 500-599 | 2643 | 99.485 | 0.836 | 1.083 |
| 600-699 | 7405 | 98.455 | 0.761 | 0.996 |
| 700-799 | 16384 | 95.57 | 0.686 | 0.926 |
| 800-899 | 26378 | 89.187 | 0.652 | 0.91 |
| 900-999 | 30799 | 78.91 | 0.67 | 0.944 |
| 1000-1099 | 30097 | 66.911 | 0.73 | 1.006 |
| 1100-1199 | 26913 | 55.185 | 0.798 | 1.076 |
| 1200-1299 | 28367 | 44.7 | 0.875 | 1.15 |
| 1300-1399 | 19726 | 33.649 | 0.959 | 1.246 |
| 1400-1499 | 20682 | 25.963 | 1.037 | 1.333 |
| 1500-1599 | 11220 | 17.906 | 1.123 | 1.433 |
| 1600-1699 | 13131 | 13.535 | 1.219 | 1.541 |
| 1700-1799 | 6276 | 8.419 | 1.343 | 1.682 |
| 1800-1899 | 3677 | 5.974 | 1.48 | 1.827 |
| 1900-1999 | 3589 | 4.541 | 1.583 | 1.958 |
| 2000-2099 | 1817 | 3.143 | 1.765 | 2.129 |
| 2100-2199 | 2948 | 2.435 | 1.946 | 2.271 |
| 2200-2299 | 1200 | 1.286 | 2.287 | 2.583 |
| 2300-2399 | 585 | 0.819 | 2.556 | 2.836 |
| 2400-2499 | 641 | 0.591 | 2.821 | 3.071 |
| 2500-2599 | 289 | 0.341 | 3.138 | 3.33 |
| 2600-2699 | 213 | 0.229 | 3.319 | 3.561 |
| 2700-2799 | 131 | 0.146 | 3.546 | 3.837 |
| 2800-2899 | 79 | 0.095 | 3.82 | 4.083 |
| 2900-2999 | 48 | 0.064 | 4.168 | 4.308 |
| 3000-3099 | 55 | 0.045 | 4.462 | 4.572 |
| 3100-3199 | 19 | 0.024 | 4.686 | 4.934 |
| 3200-3299 | 12 | 0.016 | 4.785 | 5.343 |
| 3300-3399 | 11 | 0.012 | 5.265 | 5.559 |
| 3400-3499 | 8 | 0.007 | 5.482 | 5.705 |
| 3500-3599 | 5 | 0.004 | 5.887 | 6.074 |
| 3600-3699 | 4 | 0.002 | 6.269 | 6.52 |
| 3700-3799 | 2 | 0.001 | 6.713 | 7.784 |
Now, the same data classified by rank:
| Rank | Users | Top % | Median Years To Get It | Average Years To Get It |
| Newbie | 141942 | 100.0 | — | — |
| Pupil | 48093 | 44.7 | 0.875 | 1.15 |
| Specialist | 31902 | 25.963 | 1.037 | 1.333 |
| Expert | 23084 | 13.535 | 1.219 | 1.541 |
| Candidate Master | 5406 | 4.541 | 1.583 | 1.958 |
| Master | 4148 | 2.435 | 1.946 | 2.271 |
| International Master | 585 | 0.819 | 2.556 | 2.836 |
| Grandmaster | 930 | 0.591 | 2.821 | 3.071 |
| International Grandmaster | 471 | 0.229 | 3.319 | 3.561 |
| Legendary Grandmaster | 116 | 0.045 | 4.462 | 4.572 |
All Users Registered on Codeforces
Includes also a max rating statistic
Click for data
Click for high quality image
How many years does it typically take users to reach each rating since starting?

Click for high quality image
More detailed statistics also including the top %
| Rating Bracket | Users | Top % | Median Years To Get It | Average Years To Get It |
| -100- -1 | 91 | 100.0 | 1.089 | 1.386 |
| 0-99 | 51 | 99.978 | 0.936 | 1.312 |
| 100-199 | 76 | 99.966 | 0.942 | 1.23 |
| 200-299 | 176 | 99.948 | 0.933 | 1.184 |
| 300-399 | 447 | 99.907 | 0.905 | 1.158 |
| 400-499 | 1248 | 99.801 | 0.869 | 1.12 |
| 500-599 | 3770 | 99.505 | 0.82 | 1.059 |
| 600-699 | 10486 | 98.611 | 0.751 | 0.981 |
| 700-799 | 22996 | 96.126 | 0.68 | 0.918 |
| 800-899 | 37076 | 90.676 | 0.65 | 0.905 |
| 900-999 | 44675 | 81.889 | 0.663 | 0.933 |
| 1000-1099 | 46174 | 71.3 | 0.705 | 0.979 |
| 1100-1199 | 43227 | 60.357 | 0.75 | 1.028 |
| 1200-1299 | 45976 | 50.112 | 0.804 | 1.08 |
| 1300-1399 | 34563 | 39.215 | 0.864 | 1.147 |
| 1400-1499 | 35869 | 31.023 | 0.934 | 1.215 |
| 1500-1599 | 21856 | 22.522 | 0.998 | 1.288 |
| 1600-1699 | 25630 | 17.342 | 1.091 | 1.392 |
| 1700-1799 | 14168 | 11.268 | 1.204 | 1.52 |
| 1800-1899 | 7647 | 7.91 | 1.378 | 1.703 |
| 1900-1999 | 8686 | 6.097 | 1.496 | 1.845 |
| 2000-2099 | 4148 | 4.039 | 1.674 | 2.018 |
| 2100-2199 | 6484 | 3.055 | 1.866 | 2.198 |
| 2200-2299 | 2581 | 1.519 | 2.159 | 2.467 |
| 2300-2399 | 1162 | 0.907 | 2.454 | 2.747 |
| 2400-2499 | 1238 | 0.632 | 2.75 | 2.995 |
| 2500-2599 | 495 | 0.338 | 3.093 | 3.273 |
| 2600-2699 | 371 | 0.221 | 3.26 | 3.534 |
| 2700-2799 | 205 | 0.133 | 3.483 | 3.784 |
| 2800-2899 | 117 | 0.084 | 3.783 | 4.005 |
| 2900-2999 | 73 | 0.057 | 4.003 | 4.233 |
| 3000-3099 | 83 | 0.039 | 4.189 | 4.53 |
| 3100-3199 | 32 | 0.02 | 4.588 | 4.777 |
| 3200-3299 | 20 | 0.012 | 4.754 | 5.081 |
| 3300-3399 | 12 | 0.007 | 5.265 | 5.492 |
| 3400-3499 | 8 | 0.005 | 5.429 | 5.645 |
| 3500-3599 | 5 | 0.003 | 6.102 | 6.086 |
| 3600-3699 | 4 | 0.001 | 6.269 | 6.52 |
| 3700-3799 | 2 | 0.0 | 6.713 | 7.784 |
Now, the same data classified by rank:
| Rank | Users | Top % | Median Years To Get It | Average Years To Get It |
| Newbie | 210493 | 100.0 | — | — |
| Pupil | 80539 | 50.112 | 0.804 | 1.08 |
| Specialist | 57725 | 31.023 | 0.934 | 1.215 |
| Expert | 47445 | 17.342 | 1.091 | 1.392 |
| Candidate Master | 12834 | 6.097 | 1.496 | 1.845 |
| Master | 9065 | 3.055 | 1.866 | 2.198 |
| International Master | 1162 | 0.907 | 2.454 | 2.747 |
| Grandmaster | 1733 | 0.632 | 2.75 | 2.995 |
| International Grandmaster | 766 | 0.221 | 3.26 | 3.534 |
| Legendary Grandmaster | 166 | 0.039 | 4.189 | 4.53 |
And finally, a all time max rating distribution:
| Rating Bracket | Users | Top % | Median Years To Get It | Average Years To Get It |
| 400-499 | 1 | 100.0 | 0.869 | 1.12 |
| 500-599 | 1 | 100.0 | 0.82 | 1.059 |
| 600-699 | 627 | 100.0 | 0.751 | 0.981 |
| 700-799 | 11322 | 99.851 | 0.68 | 0.918 |
| 800-899 | 30572 | 97.168 | 0.65 | 0.905 |
| 900-999 | 42624 | 89.922 | 0.663 | 0.933 |
| 1000-1099 | 46432 | 79.82 | 0.705 | 0.979 |
| 1100-1199 | 44851 | 68.815 | 0.75 | 1.028 |
| 1200-1299 | 48048 | 58.185 | 0.804 | 1.08 |
| 1300-1399 | 38771 | 46.797 | 0.864 | 1.147 |
| 1400-1499 | 39354 | 37.608 | 0.934 | 1.215 |
| 1500-1599 | 27418 | 28.281 | 0.998 | 1.288 |
| 1600-1699 | 29184 | 21.783 | 1.091 | 1.392 |
| 1700-1799 | 18718 | 14.866 | 1.204 | 1.52 |
| 1800-1899 | 11068 | 10.43 | 1.378 | 1.703 |
| 1900-1999 | 10480 | 7.806 | 1.496 | 1.845 |
| 2000-2099 | 6396 | 5.322 | 1.674 | 2.018 |
| 2100-2199 | 7020 | 3.807 | 1.866 | 2.198 |
| 2200-2299 | 3725 | 2.143 | 2.159 | 2.467 |
| 2300-2399 | 1851 | 1.26 | 2.454 | 2.747 |
| 2400-2499 | 1424 | 0.821 | 2.75 | 2.995 |
| 2500-2599 | 693 | 0.484 | 3.093 | 3.273 |
| 2600-2699 | 477 | 0.319 | 3.26 | 3.534 |
| 2700-2799 | 300 | 0.206 | 3.483 | 3.784 |
| 2800-2899 | 190 | 0.135 | 3.783 | 4.005 |
| 2900-2999 | 130 | 0.09 | 4.003 | 4.233 |
| 3000-3099 | 102 | 0.059 | 4.189 | 4.53 |
| 3100-3199 | 58 | 0.035 | 4.588 | 4.777 |
| 3200-3299 | 30 | 0.022 | 4.754 | 5.081 |
| 3300-3399 | 22 | 0.014 | 5.265 | 5.492 |
| 3400-3499 | 18 | 0.009 | 5.429 | 5.645 |
| 3500-3599 | 7 | 0.005 | 6.102 | 6.086 |
| 3600-3699 | 6 | 0.003 | 6.269 | 6.52 |
| 3700-3799 | 3 | 0.002 | 6.713 | 7.784 |
| 3800-3899 | 3 | 0.001 | 6.529 | 6.894 |
| 4000-4099 | 2 | 0.0 | 10.281 | 10.281 |
Probability to reach next rank

Click for high quality image
| From | To | Probability |
| Newbie | Pupil | 58.18% |
| Pupil | Specialist | 64.64% |
| Specialist | Expert | 57.92% |
| Expert | Candidate Master | 35.84% |
| Candidate Master | Master | 48.76% |
| Master | International Master | 33.10% |
| International Master | Grandmaster | 65.18% |
| Grandmaster | International Grandmaster | 38.90% |
| International Grandmaster | Legendary Grandmaster | 18.62% |
I hope this analysis gave you a clearer picture of the Codeforces rating situation and how user progression generally looks on the platform. Rating growth is never linear: consistency, practice, and learning from each contest matter much more than short-term gains.
If you found this analysis interesting, feel free to share your thoughts, feedback, or ideas for future data explorations. Good luck and happy coding!