RaccoonType — Minimalist, High-Performance Typing Platform
A minimalistic, high-performance customizable typing platform. Measure your WPM, race friends live in multiplayer lobbies, compete on ranked ELO ladders, and master programming syntax.
RaccoonType — Minimalist, High-Performance Typing Platform
A minimalistic, high-performance customizable typing platform. Measure your WPM, race friends live in multiplayer lobbies, compete on ranked ELO ladders, and master programming syntax.
How the RaccoonType WPM percentile benchmarks are collected, filtered, aggregated, and validated.
All benchmark data comes from completed typing tests on RaccoonType. Every test result is recorded with the following metrics:
Not all test results are included in the benchmark. Results must pass these filters:
| Criterion | Requirement | Reason |
|---|---|---|
| Source | sync | Authenticated submissions only |
| Net WPM | 0 – 400 | Exclude implausible values |
| Raw WPM | 0 – 500 | Sanity bound |
| Accuracy | 0 – 100% | Valid range |
| Consistency | 0 – 100% | Valid range |
| Duration | ≥ 10 seconds | Exclude very short tests |
The percentile calculation uses the empirical CDF with mid-rank method. This is a standard statistical approach for computing percentile ranks from a sample.
percentile(WPM) = (count of results ≤ WPM + 0.5 × count of results = WPM) / total results × 100
For display, percentile values are rounded to the nearest integer. The benchmark table uses 8 anchor points: P5, P10, P25, P50 (median), P75, P90, P95, P99. Intermediate values are computed via linear interpolation between anchors.
The WPM distribution is presented in 5-WPM-wide buckets. Each bucket shows the number of observations falling within that range. The sum of all bucket counts must equal the eligible sample size.
Results are grouped by 20-WPM-wide speed buckets. For each bucket, the median and mean accuracy are computed. This shows the relationship between typing speed and accuracy in the dataset.
Results are grouped by test duration (15s, 30s, 60s, 2min, 3min, 5min, 10min, 10min+). For each duration group, the median WPM and median accuracy are computed. This shows how typing speed varies with test length.
Before publication, every benchmark snapshot passes automated validation:
If any check fails, the snapshot is marked as FAILED and the previous READY snapshot remains active.
The benchmark only publishes aggregate statistics. Individual user data is never exposed. Percentile values are rounded to integers. WPM values in the distribution are bucketed. No personally identifiable information is included in any published benchmark.
The benchmark snapshot is regenerated periodically via an automated pipeline. The date range of included data and the publication timestamp are displayed on the calculator page. Each snapshot is versioned and immutable — historical snapshots can be compared.
| Version | Description |
|---|---|
| methodology v1.0.0 | Initial percentile methodology: empirical CDF with mid-rank |
| filtering v1.0.0 | Eligibility: sync source, WPM 0–400, accuracy 0–100, duration ≥ 10s |