How an Elo-inspired rating works for debugging practice
DoesItHold borrows Elo's expected-score shape without pretending that a coding drill is a human opponent.
DoesItHold Editorial · · reviewed · progression-elo-001
Direct answer
Start at 1000, compare the solved result with the expected score for challenge difficulty, apply K 32/24/16 and a bounded speed bonus, then enforce a floor of 100.
At rating 1000, a difficulty 0.5 challenge maps to challenge rating 1500. The expected score is about 0.053. Solving in the expected 150 seconds adds no time bonus, so round(32 × (1 − 0.053)) = 30 and the new rating is 1030.
This is a practice signal, not a competitive title. It does not compare two people directly and it does not select adaptive difficulty; those systems deliberately remain separate.
- 01Startrating 1000, K = 32
- 02Challengedifficulty 0.5 implies rating 1500
- 03Resultsolved in the expected 150 seconds
- 04Update1000 becomes 1030
Minimal example
Scrollable code region
rating = 1000 + solvedCount * 32expected = 1 / (1 + 10 ** ((challenge - rating) / 400))
rating += round(K * (result - expected + timeBonus))What changes: Harder solved challenges can move rating more, while the floor and lower K tiers keep later movement bounded.
Debugging method
Check the current K tier, normalize difficulty, calculate the expected score, add only the bounded solved-time bonus and round once at the final delta.
- Start a new profile at exactly 1000.
- Verify K changes at ratings 1200 and 1800.
- Compare a solved and unsolved result at the same difficulty.
- Confirm no sequence can push rating below 100.
Common wrong fix
Calling the number Elo without explaining the missing opponent suggests head-to-head competition. Using it to choose difficulty would also collapse two separate product signals.
Limits and edge cases
The number summarizes performance under this product's challenge and timing model. It does not measure employability, complete debugging ability or rank against a human opponent.