We get asked a lot how Solo Ranked actually decides how many points you gain or lose. Not "you win, you gain points" - the real mechanism. Here's the full picture, because we think a scoring system you understand is more motivating than a black box.
The core idea: you're not racing other players, you're racing an expectation
Solo Ranked doesn't put you in a live match against another person. Instead, every rank tier has an expected WPM range attached to it, and your score for a run is based on how you performed relative to what's expected at your current tier. This is deliberate: it means a Rookie beating their tier's expectation and a Legend beating theirs are both making real progress, instead of a flat leaderboard where only raw speed matters.
The scoring formula
Points gained or lost per run:
points = (your_WPM - expected_WPM) × 2 × accuracy_modifier
That's it at the core - it's a linear function of how far above or below your tier's benchmark you land, scaled by how clean your run was.
Accuracy modifiers: why sloppy speed is punished
Raw speed above expectation doesn't count fully unless your accuracy backs it up:
| Accuracy | Modifier |
|---|---|
| ≥ 95% | ×1.0 (full value) |
| ≥ 90% | ×0.8 |
| ≥ 85% | ×0.6 |
| ≥ 80% | ×0.4 |
| < 80% | ×-0.5 (works against you) |
This exists because WPM alone is trivially gameable - anyone can type fast if they don't care about correctness. Below 80% accuracy, the modifier actually flips negative, meaning a fast-but-sloppy run can cost you points even if your raw WPM beat the expected value. This is the single biggest lever in the formula for most players: fixing accuracy from "mid-80s" to "95%+" often changes your point trajectory more than a few extra WPM does.
Floors
There are guardrails on both ends: a minimum gain of 3 points on a positive run and a minimum loss of 5 points on a negative one, so the system never rewards or punishes a run with a near-zero number that feels meaningless.
Win streak bonuses
Consecutive wins add flat bonus points on top of the formula above:
- 3-win streak: +5 bonus points
- 5-win streak: +10 bonus points
- 10-win streak: +20 bonus points This is a small design choice with an outsized effect on how ranked feels - it rewards consistency, not just isolated great runs, which is closer to what actually indicates skill.
The rank ladder
Points map to eleven tiers, each with its own expected-WPM band:
| Tier | Points | Expected WPM |
|---|---|---|
| Rookie | 0-300 | 5-15 |
| Bronze | 301-700 | 16-25 |
| Silver | 701-1,200 | 26-35 |
| Gold | 1,201-1,800 | 36-45 |
| Platinum | 1,801-2,500 | 46-55 |
| Diamond | 2,501-3,400 | 56-65 |
| Master | 3,401-4,500 | 66-75 |
| Legend | 4,501-6,000 | 76-85 |
| Godlike | 6,001-8,000 | 86-110 |
| Transcendent | 8,001-11,000 | 111-150 |
| Mythical | 11,001+ | 151-320 |
Notice the WPM bands widen as tiers go up - the jump from Rookie to Bronze is 10 WPM, but Godlike to Transcendent spans 25 WPM to Mythical's 170+ WPM range. That's intentional: the highest tiers separate an extremely small, extremely fast group, so the system doesn't need fine-grained bands up there.
Why we built it this way
A pure win/loss ladder rewards whoever happens to be naturally fastest. An expected-WPM system rewards improvement relative to where you are - which is closer to what actually keeps people engaged in a skill-building tool rather than a pure leaderboard. If you've been climbing steadily and hit a wall, the accuracy modifier table above is usually the first place to look.