Skip to content

Typing Metrics

Konstantine edited this page Jul 29, 2026 · 3 revisions

Speed

  1. WPM (Words Per Minute) - the standard speed metric. One "word" = 5 characters (including spaces), not a literal dictionary word. WPM = (characters typed / 5) / minutes elapsed

  2. CPM (Characters Per Minute) - the same idea, but counting raw characters instead of standardized "words." Roughly CPM ≈ WPM x 5. CPM = characters typed / minutes elapsed

  3. Gross WPM - raw speed, counting everything typed, including mistakes. Gross WPM = (total keystrokes, excluding backspaces / 5) / minutes elapsed

  4. Net WPM - gross WPM with a penalty subtracted for errors. Net WPM = Gross WPM − (uncorrected errors / minutes elapsed)

Accuracy

  1. Accuracy - percentage of characters typed correctly. Accuracy = (correct keystrokes / total keystrokes attempted) × 100

  2. Uncorrected errors - mistakes still present in the final text. count of incorrect characters remaining at finish

  3. Corrected errors - mistakes made but fixed (e.g. via backspace) before finishing. count of incorrect keystrokes that were later backspaced before finishing

  4. KSPC (Keystrokes Per Character) - This requires example, it's hard to describe in words alone. KSPC = total keystrokes / length of final correct text Ex: Say you want to type the word "the" (3 characters). Perfect run: you press t, h, e - 3 keystrokes for 3 characters. KSPC = 3/3 = 1.0 Non-perfect run: you press t, h, x (oops), backspace, e - 5 keystrokes for the same 3-character result. KSPC = 5/3 ≈ 1.67

Consistency

  1. Consistency - how steady your typing speed is over time, versus bursts and slowdowns. Consistency = 100 - (standard deviation of WPM across time buckets, normalized to 0–100)

  2. Burst/Peak WPM - the fastest momentary speed within a short window of a longer test. Burst WPM = max(WPM computed over any sliding N-second window)

  3. Dwell time - how long a key is physically held down before release. Dwell time = keyupTimestamp - keydownTimestamp (per keystroke)

  4. Flight time - the gap between releasing one key and pressing the next. Flight time = next keydownTimestamp - previous keyupTimestamp (per consecutive pair)

  5. Digraph/bigram speed - how fast specific two-letter combinations (like "th") are typed - useful for spotting which letter pairs slow someone down. Digraph speed(pair) = average(keydownTimestamp[i] - keydownTimestamp[i-1]) across all occurrences of that letter pair

Clone this wiki locally