Elo system
Mathleagues treats a submission as a match between a user and a problem. Both ratings react to the result.
the formula
R is the user rating, R_p is the problem rating, and S is marks awarded divided by marks available.user K-factors
| user Elo | K | purpose |
|---|---|---|
| below 1400 | 32 | Faster calibration for developing ratings. |
| 1400–2000 | 20 | Standard competitive volatility. |
| above 2000 | 12 | More stable expert ratings. |
partial credit and re-attempts
A score of 4/6 is S = 0.667, not a binary loss. When a user submits a problem they have attempted before, their K-factor is halved. The problem uses a fixed K-factor of 10 and updates from 1 − S.
worked example
user Elo = 1200 problem Elo = 1333 score = 4 / 6 = 0.667 K = 32 user delta ≈ +11 problem delta ≈ -4
when Elo applies
Deterministic auto-graded results and non-flagged ai-graded results can update both ratings. Flagged work and manual review defer the Elo change until the review workflow resolves.
rating bounds
User Elo is clamped between
100 and 3000. New users start at 1200.