Today I surpassed 4000 races on Typeracer 🎉
I wanted to celebrate this milestone by sharing some of my stats (Note: WPM = Words Per Minute, a measurement of typing speed):
Now, that's just the boring summary statistics. Let's dig in a bit further and see what really happened.
4000 typing races looks like a lot of noise. You can definitely see a minimum and a maximum, but overall it's a pretty messy graph.
Let's smooth that data out a little and see what it looks like. Here's a 30 Race moving average:
Ah much better! There's a trend hidden beneath all of that mess!
Here's a good summary of my improvement:
And how long did it take to do those 4000 races?
I don't have exact data on how long each race took (Typeracer doesn't provide that), but anecdotally, races seem to take about: 30-60 seconds, skewed towards 30 seconds. Between each race there's also about 15 seconds of downtime (waiting for opponents, reviewing your own stats, giving yourself a little pep talk, and so on). A good estimate is that it takes less than a minute per race, so let's just call that 50 seconds.
If we use that in our estimation, that means it took 4000 races x 50 seconds/race = 200,000 seconds to do all of these races. That's 3,333 minutes or 55.5 hours.
Let's just call that 60 hours.
With an improvement of about 20 WPM, that means it took me 3 hours to increase my WPM by 1. Mantas Donelavicius recorded his progress as well and found that it took him on average 2 hours and 40 minutes to increase his typing speed by 1 WPM.
I think it's pretty safe to say that over the long run, you'll be able to see pretty consistent improvement over time. I wouldn't be surprised if some people improve much faster (I'm looking at you piano players), and others improved more slowly. But it'll probably be within the bound of 2-4 hours per 1 WPM increase.
While it's nice to be able to say "on average, you'll improve around 1 WPM every 2-4" hours that's not how it will feel. Every day will feel like a roller coaster.
Let's look at some data again.
Here's a graph of the 30 day moving average (in blue), this time starting from race 1000. I've also plotted the 100 day moving average (in red):
As you can see, the march to the top is not linear.
The reason I used a 30 race average (again, in blue) is because that's how many races I often do in a day. And as you can see from the data, there were days where I felt that I was actually regressing. That felt terrible. Sometimes, I'd be in a slump for multiple days.
If you look at the red line (100 race average) it's pretty clear that from race 1000 to 2000, it consistently felt like I was about to "break out", only for it not to happen. That was a pretty bad time.
Now, let's layer on some more moving averages: the 250 (yellow) and 1000 (green).
250 races is about how many races I could do in a week (if I was practicing every day) - so this represents "thinking in weeks". The 250 race moving average (yellow line) is a bit more forgiving, but it still has ups and downs.
1000 races is about how many races I could do in a month (if I was racing every day, which I didn't). This approximates "thinking in months and longer".
It's really with the 1000 race moving average (green line) where you can start seeing the linear improvement that everyone wants to have.
This was interesting for me to see because it shows how much variance there is in a given day or even a week. However, once we shift our perspective to thinking in months, a lot of the noise gets eliminated.
So, what's the lesson here? Progess might look linear from the outside, but you'll experience it as a series of ups and downs - where the crashes are far more memorable than the improvements. They will make you want to quit, and you probably will need to take some extended "vacations" as a result. It's only when you zoom out into the long run, that you'll get the motivation to continue.
This is a lesson you can learn from anything, but I'm just excited I can visualize it.
I've learned quite a bit from doing these races. Some of them have to do with typing. Others have nothing to do with it.
There's so much more to say about Typeracer. It's truly given me a quantifiable skill that I can work on, has nice secondary benefits in all of the work that I do, but most importantly, has taught me that skill acquisition is not a linear process. It's one thing to know this in the abstract, it's another to see it in the data.
Hope you enjoyed this post! Happy typing!