A better typing accuracy format
Published onI was playing the demo of Final Sentence, which is a last man standing typing game. The game shows you some of your statistics like WPM (words per minute) and your accuracy. Accuracy tells you what percentage of your keystrokes was correct. This got me thinking about accuracy and made me realize that it is not always a very useful metric in its usual form.
When it comes to typing accuracy it is more useful to display accuracy as how many keystrokes somebody types correctly before making a mistake. So, 1 error per N keystrokes.
Below I have listed a few accuracy values and their equivalents in this alternative format, so you can get a feeling for it.
- 50% accuracy is 1 error per 2 keystrokes.
- 75% accuracy is 1 error per 4 keystrokes.
- 90% accuracy is 1 error per 10 keystrokes.
- 95% accuracy is 1 error per 20 keystrokes.
- 99% accuracy is 1 error per 100 keystrokes.
The differences in the accuracies presented do not intuitively reflect the differences in performance; improving by 2 keystrokes can mean a big 25% accuracy improvement, but improving by 80 keystrokes can also mean a measly 4% accuracy improvement. At least half (and I am being generous here) of the available range is useless; nobody is going to be hitting more incorrect keys than correct keys. On top of that, the better you become, the harder it is to track your improvements since they translate into increasingly smaller percentage differences.
The reason for this behavior is that accuracy is the inverse of what you actually want. Let be the total number of keystrokes (both correct and incorrect) and the number of incorrect keystrokes. Accuracy is is then , and the of our format is : basically the inverse.
Another situtation where an inverse is more useful is the usage of fps (frames per second) for tracking video game performance. If you are tasked with optimizing a game you want to track the frame time, not fps. Similar to the typing accuracy where improving by 1 keystroke does not always result in the same accuracy percentage improvement, shaving 1ms of your frame time does not always result in the same fps increase. As an example, we start with a frame time of 100ms = 10fps. We manage to shave of 40ms, giving us a frame time of 60ms = 16.7fps; a difference of 6.7fps. But, if we started with a frame time of 50ms = 20fps and we shave the same 40ms we get 10ms = 100fps; a difference of 80fps!