nileq's blog

By nileq, history, 3 months ago, translation, In English

Hi, Codeforces!


Remember this post?

If not, let me remind you. For the last 3–4 days, I have been building a browser extension for Codeforces that shows your pure rank without cheaters.


How does it work?

The idea is simple:

  1. The extension gets the Codeforces contest standings.
  2. It goes through each handle.
  3. It makes a prediction using an ML model based on the user’s performance in previous contests.

Some of the features include: skipped contests, unusually fast rating deltas (+100, +200 after previously gaining only +10 or +20), rating behavior after the first 5 contests when the rating becomes more stable, and other signals. You can check the full list of features in cheating_dataset.csv, which I used to train the classifier.

Interestingly, this extension may also be useful for finding suspicious users after a contest, since the model seems to be fairly accurate.


Examples

Now let me show some examples:

Let’s take a user with a high score. The higher the score, the more confident the model is. For example: studyyyzz.

Let’s check this user:

Maybe the model only catches obvious cases? Let’s take a user with a lower score. For example: HubRis504.

As you can see, it works quite well.


FAQ

  • How can I install this extension?
    To install the extension, check this post.

  • Is the model always correct?
    No. This is an ML model, and ML models cannot be 100% accurate by nature. Please do not accuse people just because the model predicted that they might be suspicious.

  • Can I improve it?
    Yes, of course. It is open-source. You can check the implementation and improve it here: click

Full text and comments »

  • Vote: I like it
  • -16
  • Vote: I do not like it

By nileq, history, 3 months ago, translation, In English

wanna see your place without cheaters?

To solve this problem, i created besterds — extension that shows your pure rank.

How2Install?

  1. Open the GitHub repo: https://github.com/nileqq/besterds

  2. Drop a star if you like the idea, then download the project: Code => Download ZIP

  3. Unpack ZIP

  4. Launch server: python -m src.app.backend.server

  5. enter Google/Firefox:

  • For Google: chrome://extensions => Load unpacked => choose folder ..\besterds\src\app\dist\chrome

  • For Firefox: about:debugging#/runtime/this-firefox => Load Temporary Add-on => ..\besterds\src\app\dist\firefox\manifest.json


❗ Besterds uses an ML model — a binary classifier — so it can make mistakes.

Please don’t blindly trust the extension or accuse someone of cheating just because Besterds marked them as suspicious.

Use it as a fun and helpful tool, not as a final verdict.

Its v1. I'll update it soon.

Full text and comments »

  • Vote: I like it
  • +34
  • Vote: I do not like it