# How does the Kindle's reading rate algorithm work?

One of the Kindle Touch updates included a "Time-to-Read" feature. It seems to be based loosely on how fast I turn the page. I usually turn back to the cover when I start reading a new book and flip back to the start of the introduction or first chapter. So the status usually says `1 min left in chapter` for a chapter or two. I'm guessing the algorithm has determined that I have super-human reading speed. Once I prove I don't, it becomes fairly accurate.

But other times I sit on a page for several minutes when distracted by other things. I would have assumed the calculation would show me taking much longer to finish chapters after doing that. However, the reading time seems to be stable and fairly accurate after the initial weirdness.

How does the algorithm work and why does each book have its own estimate?

## 2 Answers

I realize this is quite an old question, but I can provide some more detailed information. My source of this information is a combination of Kindle log files and de-compiled Java classes for the ReadingTimer package.

There is a lot of detail behind the statistical methods they use to avoid incorporating outliers into their calculations that I have uncovered - but I won't go into that detail here.

Basically, every time that you turn a "page" on a kindle, they capture the time you spent on the page (in milliseconds), and the number of words on each page. They call this an "Interval".

They calculate an Interval words per minute (WPM), and if that calculated WPM is > 900, they exclude that observation from the sampling methodology they use. If the WPM value is < 900 - well then it gets complicated. It's nowhere near as simple as just averaging together all of the IntervalWPM observations. There are outlier discovery, normal distribution, z-score testing and other statistical methods utilized.

But, from a drastically oversimplified perspective, those Interval WPM's are used to construct a statistically robust TotalWPM. That TotalWPM is, roughly, the average (but not really the average) WPM for the specific book you are reading.

So, bottom line, they do actually have a limit on how fast someone could read: 900 WPM - which is about 3.5 times more than the commonly recognized average reading rate of a random individual (native English speaker reading English).

And on the flipside, they do not technically have a limit on how slow someone could read. What they have is a limit on how much slower someone reads any specific page relative to their normal reading rate (which is tracked across books by using something called the GlobalWPM). So - if you start with a fresh kindle and only read 2 words per minute, that will be your acceptable baseline rate.

I have, of course, drastically oversimplified what's going on behind the scenes. The ReadingTimer code is fairly complex, and with how much information is lost between a decompiled Java class and the original Java code - figuring out what its doing is quite time consuming.

Hope that helps.

• That's fascinating! Thanks for digging through this to satisfy my curiosity. ;-) Commented Aug 31, 2022 at 17:31

Basically, they have no limit on how fast someone could actually read (supporting speed readers) but they do have a limit on how slow someone can read. That is, if someone takes 30 seconds to read a page, they will add that to their calculations, but if someone takes 5 minutes to read a page but only 20 seconds to read other pages then ignore the 5 minute exception.

This is not surprising since people will often put a book (electronic or paper) down while they do something else, then return to it. For this reason, they really need a maximum time per page.

As far as different books requiring different estimates, different books have different readability levels. If I read a book on leadership, I tend to read it quite quickly because I've already digested so much content on the topic. However, when I read a book on coding neural networks, I read much more slowly. My slowness on complex topics which I have little experience with does not mean that I am slower at reading other books/topics.

• This is a plausible answer. Do you happen to have an sources for the limit on slow reading? I was hoping for something like an official source. Commented Dec 19, 2013 at 0:21
• No official source. I figured it out through my own testing.
– John
Commented Dec 19, 2013 at 2:41
• If you feel like doing timing measurements to test the theory, I found an easy way to reset the data. If you are correct, it should be possible to reverse engineer the basic algorithm. Commented Dec 19, 2013 at 4:46