Блог пользователя Christine-

Автор Christine-, история, 4 месяца назад, По-английски
— You know what they call an International Grandmaster in 2026?
— They don't call it an International Grandmaster?
— No, man, they got the AI there, they wouldn't know what International Grandmaster is.
— What'd they call it?
— They call it International Master.

Introduction

There was a heated discussion recently, and I decided to quantify the rating deflation over the recent 1.5 years.

After accounting for natural improvement, I found roughly 150-190 rating points of deflation. The following is the rating gap between AI period and pre-AI period.

Codeforces rating deflation

Background

  • We need to estimate the recent rating dynamics and compare it with pre-AI dynamics.
  • Participants have natural improvement when they train, especially lower rated participants. We need to account for that.
  • We need to somehow restrict the data to likely legitimate users.

Methods

I estimated rating dynamics in two periods:

  1. January 2025 — June 2026. I call it the AI period.
  2. January 2023 — June 2024. I call it the pre-AI period.

For each period I formed 4 cohorts, based on the contestant rating at the start of the period:

  1. rating $$$\ge 2400$$$
  2. rating $$$[2100, 2400)$$$
  3. rating $$$[1900, 2100)$$$
  4. rating $$$[1600, 1900)$$$

I used several simple filtering criteria to increase the probability of legitimacy of sampled contestants. For example, I excluded several regions from sampling.

For each cohort I used all users left after filtering.

For each user, I computed delta as rating at the end of the period minus rating at the start of the period. For each cohort, I computed mean delta and median delta. The gap is AI period delta minus pre-AI period delta. The mean-gap CI is a Welch two-sample 95% confidence interval. The median-gap CI is a 95% bootstrap interval.

Results

The main tables compare raw rating change in the AI period with raw rating change in the pre-AI period.

Cohort by starting rating AI period cohort size Pre-AI period cohort size AI period mean delta Pre-AI period mean delta Mean gap Welch 95% CI
$$$\ge$$$ 2400 94 97 -164 +25 -189 [-236, -142]
$$$[2100, 2400)$$$ 117 113 -96 +84 -180 [-233, -127]
$$$[1900, 2100)$$$ 126 94 -33 +113 -146 [-199, -94]
$$$[1600, 1900)$$$ 258 203 +37 +200 -163 [-202, -124]
Cohort by starting rating AI period cohort size Pre-AI period cohort size AI period median delta Pre-AI period median delta Median gap Bootstrap 95% CI
$$$\ge$$$ 2400 94 97 -172 +17 -189 [-254, -136]
$$$[2100, 2400)$$$ 117 113 -82 +81 -163 [-236, -109]
$$$[1900, 2100)$$$ 126 94 -40 +127 -167 [-235, -103]
$$$[1600, 1900)$$$ 258 203 +18 +182 -164 [-214, -118]

So the pre-AI period had clear natural improvement in the lower three cohorts. In the AI period this improvement disappeared, and the high-rated cohorts lost rating on average.

Sample tables for rating >= 2400
Sample tables for rating [2100, 2400)
Sample tables for rating [1900, 2100)
Sample tables for rating [1600, 1900)

Limitations

  • I didn't check all the sampled users manually, so there could be cheaters among them. That would make the results underestimated.
  • Learning is becoming more effective over time, especially with AI tools. That also makes the results likely underestimated.

Conclusion

The rating deflation for legitimate participants is around 150-190 rating points. But it seems it only gets worse.


P.S. I can't miss an opportunity and mention that I am building Codeforces Community Rating, which uses peer reviews to create a list of users who are more likely to respect sportsmanship. You can join too and help with the reviews.

  • Проголосовать: нравится
  • +202
  • Проголосовать: не нравится

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

maybe you should also keep in account the contest volume i mean the number of contests given by people as i know some people who were frequent contest givers before the ai era and now they only give few contests and less practice and hence mostly getting a negative delta

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

In June 2024 it was when 4o just came out, while models like GPT-4 was not able to solve problems by itself, it already aids in debugging (esp. non-algorithm parts like undefined behaviors), quick gen of templates, etc. So AI already helps contestants somewhat.

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится +24 Проголосовать: не нравится

I think these are some very good methods, most sources of confounding are accounted for. Maybe even better could be having a bunch of people virtual 2022 era vs 2025 era rounds at the same time and run a matched pair t test on the results (it does take a lot of volunteers though)

  • »
    »
    4 месяца назад, скрыть # ^ |
     
    Проголосовать: нравится +4 Проголосовать: не нравится

    Interesting solution. A potential confounding variable is general improvement in pariticpant disreagrding ai entirely tho. Very cool expeirment to run and potentilly see and very glad to see something from ap stats finally in an actual conversation. orz greateric

    • »
      »
      »
      4 месяца назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      Real I love stats lol. My suggestion to mitigate the improvement effect is to have them do the two rounds back to back though, like maybe a few days apart. (You can also randomize which one they do first to be extra sure)

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится +69 Проголосовать: не нравится

I think the methodology is good and I would consider this actual finding. It is just 50 samples may really be too small (might be report a t-stat or other statistical tests as applicable)? Also may be interesting to see a correlated sampling of how the same person rating changed in the two eras, though this definitely biased towards long time competitors.

  • »
    »
    4 месяца назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Thank you. I've added 95% confidence intervals (Welch for the mean gap and bootstraped for the median gap) and removed the weakest filter to allow larger cohorts.

    For the cohort size, they are naturally small (especially $$$\ge 2400$$$ cohort), since I combined multiple simple filters, like region restrictions and some other activity related filters. I believe this also answers t3jtex question.

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

why only 50 users?

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Maybe it could be a good idea to use lists of IOI participants who are also known active Codeforces users for such comparisons, e.g. 6 months before IOI?

As we know, these people are motivated to get better asap, because they have to demonstrate their real skills in person. It doesn't make sense for them to cheat and inflate their ratings, at least in the months leading up to the IOI, as doing so would only increase the pressure to achieve the expected results and would undermine their confidence.

  • »
    »
    4 месяца назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    You can't really use in-person contests for measuring skill against CF rating because:

    • They often follow a different format. IOI has problems with subtasks and no access to the internet/code templates. ICPC has code templates but it's a team competition so individual skill is not possible to deduce

    • In-person competitions are much less frequent than CF so you have less datapoints for each person.

    • The stakes are much higher so you have the effect of stress and extra practivce shortly before the competition.

    Overall these biases might put the validity of any conclusions you make into question.

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Anecdotally, I noticed similar deflation among my friends on Atcoder. However, the situation seems to have improved after they increased the initial rating for new accounts from 800 to 1200 (from roughly 1300 to 1600 in Codeforces ratings) in October last year: https://atcoder.jp/posts/1592 They didn't mention AI cheating in that post, but it's definitely one reason why new accounts are, on average, stronger than in previous years.

Codeforces could consider doing something similar. Although this doesn't fight the root cause, it's a pragmatic approach that would reduce much of the frustration caused by the increase in cheating. It would help prevent legitimate users from becoming demotivated when their rating progression stalls.

  • »
    »
    4 месяца назад, скрыть # ^ |
    ← Rev. 2  
    Проголосовать: нравится 0 Проголосовать: не нравится

    If I understand correctly, the main benefit of increasing the initial rating is reduction of penalty when old users lose to newcomers, since in an Elo system losing to 1200 rated participants is about one magnitude more likely than losing to 800 rated participants.

    While it surely helps to some extent, it feels to me that right now the concentration of bad actors skews the distribution even more, than the increase from 800 to 1200 can absorb. Notably, the Atcoder change was introduced in October 2025, before the agentic boom started in November 2026.

    Also, I think that Codeforces tanks more AI damage by simply being more popular than Atcoder. So if the current 1400 initial rating is increased, the delta should probably be larger than Atcoder's.

    However, I haven't done any research on this topic yet, so take it with a grain of salt.

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится -9 Проголосовать: не нравится

good excuse for not reaching cm :P

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится +15 Проголосовать: не нравится

And I thought I was losing my touch with CP after losing so much rating and not being to go back up again.

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I think the biggest takeaway is not the exact value of 150–190, but that the natural improvement visible in the pre-AI cohorts almost disappears in the AI period. That seems more concerning than the absolute numbers themselves.

»
4 месяца назад, скрыть # |
← Rev. 3  
Проголосовать: нравится +8 Проголосовать: не нравится

Me as an example. You can see my rating charts.

I stays between Candidate Master and Master from 2022 until Jan 2026. Then after Jan 2026, my rating just dropped very big and now I am a expert. I have never reached expert before.

Previously I can solve ~2300 rating problem and ~2500 ancient problem, now a 2000 rating make me headache.

  • »
    »
    4 месяца назад, скрыть # ^ |
     
    Проголосовать: нравится +15 Проголосовать: не нравится

    Same. There have been several contests when I felt I performed 'perfectly', while carrot showed I was going to lose rating. This is extremely frustrating.

    Two years ago I almost reached Grandmaster. After two years' hard training, I can hardly maintain my master color now.

  • »
    »
    4 месяца назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Funny coincidence: I had even had a discussion about your case alongside a few other cases with stolen deflated rating before writing the blog.

»
4 месяца назад, скрыть # |
← Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

AI period, January 2025 — June 2026:

SnowLucario_Z Canada 1987 1877 -110 43

Pre-AI period, January 2023 — June 2024:

SnowLucario_Z Canada 1835 2209 +374 68

I mean if I'm being featured in such a data analysis that is implying a rating change pre AI and during AI large enough to be a public embarrassment, and that I have been doing a Masters in Data Science program for the last 10 months, I have to respond to this because while I can agree somewhat there is some rating deflation there are parts of this study that I have thoughts about.

  • By comparing the rating changes between two periods you are essentially comparing the account rating change for each user from an account that is X to X+1.5 years old to the rating change when the account is X+2 to X+3.5 years old. This comparison is inherently going to favour the pre-AI period as most accounts on Codeforces will a rating progression that resembles a logarithmic curve (steady increases in rating until a certain rating wall is reached in which further concepts need to be learned to progress). It is more effective to determine a large set of legitimate users, randomly divide them into pre AI and post AI groups, and then compare their rating changes there with taking account age as a possible confounder.

  • Frequency of contests is another factor that is associated with practice time, but this is also hard to quantify. Even the difference in contests done on Codeforces does not accurately show the lack of online practice I've done recently compared to my CLIST profile https://clist.by/coder/alxwen711/?upsolving=off; the only account that really has comparable activity recently is Leetcode and that's mostly me just having fun (sometimes) speedrunning the contests. You can look at all other accounts and you'll find there is far more of a practice difference here. Even in 2025 a lot more of this practice was done with a focus on ICPC rather than trying to push rating. And in the cases where I actually lock in to practice on a higher volume such as around Sep-Nov 2025 when it was my last shot at ICPC and getting to NAC it is not surprising I saw a resurgence there. Then afterwards once I had more of a commitment to the Masters program I then started falling off.

  • Given how rating change is variable from contest to contest, why would we not use something more akin to a moving average rather than relying on the snapshots of the rating at each endpoint of a period? There are definitely cases in which the rating difference for individuals will be heavily skewed just because they had an abnormally good/bad contest at a specific time.

  • Pre AI period is defined as Jan 2023 to Jun 2024, but the actuality is that everything before 2024 can be called a Pre AI period. There is certainly an argument that rating deflation has been occurring since Codeforces became a thing in 2010 because the coderbase just naturally got better over time. This is observable through problem ratings which are just a function of who solved the problem during the live contest; https://codeforces.me/contest/4/problem/D from the very first contest is a 1700 rated problem and is basic graph dp, nowadays this would not be a 1700. And this was before ratings were really calibrated; we can find problems in 2011 such as https://codeforces.me/contest/93/problem/D which would absolutely not be a 2500 rated problem in 2023 or 2026.

  • The cohort sizes themselves are fine but what exactly is stopping us from using other lower brackets for comparison? I would assume the point of only going to 1600 was to include mainly coders that have sufficient contest data and are of some competence, but when the rating distribution of active coders (using https://codeforces.me/blog/entry/151862 as reference) is such that the median coder is around 1200, there are sufficient cases of legitimate coders not considered in this study.

Okay now that I've gotten through most of my serious thoughts, I might as well add some less serious thoughts here:

  • There really should be a check to see if coders are just getting more problems on average in contests, whether that be because of actual cheating or problems generally being "easier". I can't be the only one that remembers when 4 problems on Div 2 was pretty much a lock for CM.

  • My pre-AI data gets used for the 1600-1900 group but the AI data gets used for the 1900-2100 group. This feels incorrect in a data science sense. Also it is coming to me now that it is just more inherent that the higher you go, the easier it is to see a rating drop. I mean if you have several contests with favourable problems and end up overrated in the system at a new personal rating high, it should be more likely that the next contest is a rating drop.

  • I'm still irritated that I have to see that I'm this low in rank compared to my peak even with considering I have less time for practice nowadays.

  • I used to like square numbers like 484. This post makes me hate 484.

  • I swear I better wake up for next Saturday's CF round. In fairness I missed the last few due to exhaustive oversleep from grinding through a capstone project the night before. Said capstone is also why I haven't been doing 5AM AtCoder.

  • Anyone blaming cheaters as the main reason for their rating drop are whiny losers that need to genuinely ask how much of their time ranting/witchhunting could have been used to actually maintain and finetune their abilities.

  • Surely there are other people that do competitive programming because it's fun. Obviously the cheaters would not understand and I really have nothing but apathy for them. I do laugh when they claim they put 1400 CF on a resume like asking a LLM for a modest numerical value of programming "thinking ability" is apparently an accomplishment.

  • Um_nik was right

  • »
    »
    4 месяца назад, скрыть # ^ |
     
    Проголосовать: нравится +22 Проголосовать: не нравится

    I'm glad that you were interested enough in the research to write this long comment. However, you seem to have missed many points of my report. I will try to address some of them.

    By comparing the rating changes between two periods you are essentially comparing the account rating change for each user from an account that is X to X+1.5 years old to the rating change when the account is X+2 to X+3.5 years old.

    No, I don't do that. Contestants are split into cohorts based on their starting rating. Some contestants might be in cohorts in both periods, but again, they are assigned to a cohort based on starting rating. Also, most users are not even present in both cohorts: 174 of 595 AI-period users also appear in the pre-AI cohorts.

    This comparison is inherently going to favour the pre-AI period

    Your conclusion is based on a wrong assumption, so it happens to be wrong too.

    It is more effective to determine a large set of legitimate users

    One needs a lot of time to determine this large set. I don't have this time, so I used simple legitimacy filters, which I don't plan to disclose for obvious reasons.

    Given how rating change is variable from contest to contest, why would we not use something more akin to a moving average rather than relying on the snapshots of the rating at each endpoint of a period?

    Rating is already a moving average of performances over contests.

    Pre AI period is defined as Jan 2023 to Jun 2024, but the actuality is that everything before 2024 can be called a Pre AI period. There is certainly an argument that rating deflation has been occurring since Codeforces became a thing in 2010 because the coderbase just naturally got better over time.

    I took two periods of same length.

    The cohort sizes themselves are fine but what exactly is stopping us from using other lower brackets for comparison?

    I didn't have enough time, so I cut some corners.

    There really should be a check to see if coders are just getting more problems on average in contests, whether that be because of actual cheating or problems generally being "easier". I can't be the only one that remembers when 4 problems on Div 2 was pretty much a lock for CM.

    I don't think an Elo rating works this way.

    My pre-AI data gets used for the 1600-1900 group but the AI data gets used for the 1900-2100 group. This feels incorrect in a data science sense.

    It might add some correlation, sure. But it's definitely not "incorrect" in any reasonable sense. We usually don't have iid samples in real life.

    Anyone blaming cheaters as the main reason for their rating drop are whiny losers that need to genuinely ask how much of their time ranting/witchhunting could have been used to actually maintain and finetune their abilities.

    Ok, cherry on top. That's your opinion. My opinion is that people who think this way are temporarily delusional. Once LLMs are good enough to make the comparison between a human CPer and an LLM user close to the comparison between a human runner and a car driver, you might understand. Or might not. Anyway, that's your business and opinion.

    Bonus: fun exercise, ask your question "how much of their time ranting/witchhunting could have been used to actually maintain and finetune their abilities" these contestants from my study:

    Handle Country Jan 2025 rating Jun 2026 rating Delta Rated contests
    Sofapuden Denmark 2564 2058 -506 24
    A_G United States 3147 2696 -451 15
    alireza_kaviani Iran 2916 2481 -435 24
    Endagorion Cyprus 3022 2598 -424 15
    dreamoon_love_AA Taiwan 2772 2352 -420 19
    sansen Japan 2553 2149 -404 29
    LeoPro Russia 2786 2393 -393 17
    MAKMED1337 Ukraine 2449 2057 -392 27
    ecnerwala United States 3525 3146 -379 30
    Rubikun Japan 2919 2542 -377 38

    Also, wery0 and Teja-Smart, already mentioned below, so my tagging isn't unexpected, might englighten us on this matter as well.

    • »
      »
      »
      4 месяца назад, скрыть # ^ |
       
      Проголосовать: нравится +8 Проголосовать: не нравится

      Thanks for replying to my questions, and I apologize for a lot of the wrong interpretations I made on this study and the overall crashout I was initially having. Admittedly not really having the time to really do competitive programming as I liked in recent months, combined with having to see a new set AI cheater posts appear after every contest has gotten to me, but several of my comments were very unnecessary.

      I've thought about the methodology more carefully. It is more logically sound than what I was initially thinking, and stating that there is roughly a 150-190 rating point deflation in between these two periods is valid. The one thought with this method is that suppose we conducted this study over the same periods but 5 years back, so Jan 2018 to Jun 2019 and Jan 2020 to Jun 2021, and found there was also roughly a 150-190 point deflation in between these two periods. There isn't anything explicitly special about these time periods, but if they were to have the same or a similar point deflation occurring, this would bring into question how much of this point deflation found was actually AI related or just a product of time.

      • »
        »
        »
        »
        4 месяца назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится

        suppose we conducted this study over the same periods but 5 years back, so Jan 2018 to Jun 2019 and Jan 2020 to Jun 2021, and found there was also roughly a 150-190 point deflation in between these two periods.

        We could measure it, but I think rating inflation in the past is fairly well known. For example, this, and this, and there has to be another blog in which LGM was changed from 2900 to 3000.

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится -73 Проголосовать: не нравится

"Sun tends to make the sky blue", new study reports.

Did anyone really need your statistical analysis to believe this? At least find a more interesting claim to make than "people are losing rating".

  • »
    »
    4 месяца назад, скрыть # ^ |
     
    Проголосовать: нравится +30 Проголосовать: не нравится

    Yes I found this really interesting. Now that I saw statistical analysis, I believe the claim much more than I did when I only read anecdotes. idk why you're being a hater for no reason.

  • »
    »
    4 месяца назад, скрыть # ^ |
     
    Проголосовать: нравится +19 Проголосовать: не нравится

    "Sun tends to make the sky blue", new study reports.

    You mix up qualitative and quantitative analysis. My research is mostly quantitative.

    Did anyone really need your statistical analysis to believe this?

    I hope that some people did.

    Moreover, there is a popular opinion that says something like "just get good, stop coping, stop caring" in the context of AI cheating. Although I think that people who spread this opinion are either ragebaiting or aren't good at reasoning, and the report is probably of little value to them, there are other people who can reason, and my small research could help them better understand reality.

    Say, a while ago I did another research that debunks another popular delusion that cheaters from certain regions are abundant only because there are so many participants from these regions.

    find a more interesting claim to make than "people are losing rating".

    Again you mix up qualitative "people are losing rating" with quantitative "people are losing X rating".

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится +22 Проголосовать: не нравится

Your conclusion is wrong, rating deflation is around 600 points, just look at my profile.

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I guess that explains why performance according to carrot in virtual participations from old contests seemed to be very inflated compared to my actual contest performance. There is around 300 or 400 difference.

»
3 месяца назад, скрыть # |
← Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Sample size for >=2400 is too small for a range that wide, might be better to just have it for [2400,3000], since LGM ratings have high variance from what I have seen. Also, I think you should compare two pre-AI periods of similar length (2022-2023 vs 2023-2024), so, if there is a bias that isn't time specific then that could be seen as well

  • »
    »
    3 месяца назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    I don't really understand your point about small sample size. The sample size being too small is a relative statement. As you can see, the width of CI for $$$\ge 2400$$$ cohort is already very close to the width of CIs for cohorts $$$[2100, 2400)$$$ and $$$[1900, 2100)$$$. Therefore, I don't think that the sample size of $$$\ge 2400$$$ cohort is too small in particular.

    Also, LGMs can have higher variance, but this variance is smoothed by the moving average (which is how rating works), since I compare not 2 contests but the delta across multiple contests. Moreover, the ratio of LGMs in the cohort isn't very high.

    The comparison of two pre-AI periods can be done, but rating inflation in the past is somewhat well known already. I posted several links above.

»
3 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

i haven't seen more coping than this blog ever. just go solve more problems instead of whining about cheaters and posting useless blogs. why are cyan/green/pupil blogs always like that. maybe you are cyan because you waste time on blogs instead of training???

»
3 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I just used Codex to do a similar analysis for veteran high rated users. Here is my finding:

TL;DR: Among 163 active veteran red users, the mean rating change in 2026 was -86.58 and the median was -80. In the immediately preceding block containing the same number of contests for each user, the mean change was +6.90. The mean within-user difference was therefore -93.48 rating points.

This is evidence of a substantial rating loss inside this cohort. It is not enough, by itself, to prove that the entire Codeforces rating scale is deflating.

1. Sample

I assembled a sampling frame of 757 active users. Here, "active" means having at least one rated contest from January 28 through July 27, 2026. The frame was built from a top-rated-user snapshot together with additional rank-list screenshots, with the goal of covering almost all active users rated at least 2200.

This is not an official census, so "almost all" should be understood as a coverage goal rather than a formally verified claim.

For the main analysis, I call a user trusted (or "veteran red") if:

  1. they first reached rating 2400 before January 1, 2025; and
  2. they completed at least 50 rated contests before January 1, 2026.

I then require at least 3 rated contests between January 1 and July 27, 2026, so that the comparison is not determined by one or two rounds.

Filtering step Users
Active sampling frame 757
Veteran red users with at least one recent rated contest 227
Main matched cohort: at least three contests in 2026 163

2. Matching the number of contests

Simply comparing calendar periods can be misleading: someone who plays 20 rounds has much more opportunity to gain or lose rating than someone who plays five.

For every user, let $$$n$$$ be their number of rated contests in 2026. I compare three consecutive blocks:

  1. their $$$n$$$ contests in 2026;
  2. the immediately preceding $$$n$$$ contests;
  3. the $$$n$$$ contests before that.

Thus, each user's three blocks contain exactly the same number of contests. The reported values are means of these user-level cumulative changes, so every user receives equal weight.

3. Breakdown by pre-2025 peak

The bands below use each user's peak achieved before 2025, rather than a peak that could include the outcome period.

Pre-2025 peak Users Oldest block Previous block 2026 2026 — previous
2400-2599 45 +35.47 +40.71 -21.76 -62.47
2600-2799 37 +32.41 +25.35 -100.38 -125.73
2800-2999 35 +21.60 -34.66 -91.57 -56.91
3000+ 46 -13.72 -9.39 -135.09 -125.70
All 163 +17.91 +6.90 -86.58 -93.48

The loss is visible in every band. The higher-peak groups lost more on average, but this table alone does not establish that peak rating causes a larger decline. Overall, 67.5% of these users lost rating in 2026.

4. What does this mean?

The narrow conclusion is:

Established red users who remained active in 2026 lost much more rating than they did over the immediately preceding equal-contest interval.

However, Codeforces rating is approximately redistributive. Rating lost by this selected group is mostly gained by competitors outside the group. Therefore, a negative mean for veteran reds does not automatically imply that the global rating scale moved downward. It may also reflect:

  • improvement by a newer generation of competitors;
  • skill decline, reduced motivation, or less preparation among veterans;
  • changes in contest selection or participation;
  • regression toward the mean after selecting users who once reached red;
  • changes in the competitive environment.

In particular, this analysis cannot attribute the change to AI use, changes in problem style, or any other single cause.

I would be interested in alternative explanations or better control groups. For example, what would be the best way to distinguish veteran decline from a real shift in the calibration of the global rating scale?