# How to calculate an accurate estimated reading time of text?

I suppose the calculation should not be done by only two factors (average reading speed/words per minute, and word count). But at least by a third parameter, that in my opinion should measure the difficulty of the used vocabulary with some kind of text analysis.

I suppose it would be something like this:

totalWordCount / (avgReadTimePerWord * textDifficulty)


Also I read somewhere that the average reading speed is 120 words per minute. But I have some questions regarding that:

1. Are people known wich existing algorithms that are capable of doing such accurate calculations considering those factors?
2. Is the average reading time equal in all languages and if not, how to add language as a factor also? What study shows average reading times per language?
3. Is it possible to add age as a factor? Or are there known studies on those factors?
4. If someone has dyslexia. Is their some research that suggest for example they take 30% longer to read? And can we just increase it by 30% in such case or are there other factors in such case?

Goal is to implement this as a function in a programming language like Python or PHP and to use the (personalised) result for creating an output like "this article can be read in approximately 12-14 minutes".

It would be nice if such information is publicly available.

• I don't see how this is a question about computer science. Sub-questions 2, 3 and 4 have nothing whatsoever to do with CS and question 1 seems very tenuous: calculating some metric by applying some arithmetic formula is barely an algorithm at all. Sorry, Evander, but I think the Mathematica peeps sent your question to completely the wrong place. May 10, 2016 at 17:11
• @DavidRicherby Thanks for your answer. I started it at StackOverflow since I want to implement it in a programming language like PHP or Python. They send me to Mathematica, and they send me to CS. I have no idea where else it can be discussed and I never had this before in the Stack Exchange. Suggestions anyway? Also the tags seem to fit. May 10, 2016 at 17:15
• @EvanderConsus Sorry -- it sucks when questions get bounced around like this. Actually, I don't think any of the tags fit: I don't see any nontrivial algorithms; natural language processing refers to processing of language by computers, not people; counting refers to algorithms that count solutions to problems; mathematical analysis refers to analysis of computational systems and usually doesn't mean statistics. Unfortunately, I have no suggestions about where your question could go, which is also to some extent a measure of how far off-topic I think it is here. :-( May 10, 2016 at 17:23
• @EvanderConsus My CS point of view is "This is not CS, sorry." May 10, 2016 at 18:28
• I added some books, easy to read. Probably there are some other materials, we shall see. With on-topicness: this is a bit broad/list question. I am sorry for the bouncing between sites. Between SO and CS I think this fits more here from algorithmic point of view. Study about dyslexia is by any means not related to CS. If you try to measure just from computer or change the objective it will be some kind of algorithmic time, but estimator will be poor. Taking 120 words per minute as base is equally good as calculating it, the both will be off. If you narrow down only first Q it might be proper.
– Evil
May 10, 2016 at 18:38

There is a similar question, so I will add a bit over the answer.

There are too many factors independent of language but solely based on individual reading abilities that such estimate would not be possible.
I assume perfect text without spelling errors and unclear grammar.

Giving it a try:
People can read 20, 50, 200, 2000... pages per hour, it depends on reading skills - only prescreening test will give you answer to that: give 2 pages, measure time, or use eye tracker and do the same.

This depends on language used, but the reading speed is measured in native language, so the differences are in the next point as for language (or decrease the speed for non-native by... proficiency at that language).

People use Cohorts imagine that the dictionary forms trie, and the speed of recognizing given word depends on amount of words with the same prefix.
Cognitive Psychology: A Student's Handbook, fifth edition by Michael W. Eysenck,Mark T. Keane, page 347.

For example: "Av..." What are possible words?
Average, Avalanche... Avengers if someone seen the movie, comics or ads.
"Ave.." - word on it's own, Average fits, Avengers also.
But reading continues to the next syllabe.

It depends on mood, recent readings, coherence of text, familiarity with topic, recent topics seen (not only read).

About topic: reading novel is faster than technical text. Technical text for someone proficient will not decrease reading speed.
So the task given is important, if someone is checked for understanding text, reading speed decreases.

The language itself is not a factor, you should not take mean reading speed but median of your target group.
Yes age is factor, but not that usable as it gives fraction of other factors.

With dyslexia the decrease also vary per person, $30%$ decrease is very optimistic case.

Theory and Research in Learning Disabilities by J.P. Das, R.F. Mulcahy and A.E. Wall, page 179.

I would take into account understanding of text, with dyslexia simple, short statements are easier to cope than longer sentences.

In any case taking syllabes count, average sentence length, topic, statistical occurence of word in e.g. books, magazines, movies, spoken language, difficulty of text (taken as topic and uncommon words).

There are a lot more factors, but giving the general idea that it is not sufficient to just calculate it from text is presented.

The best estimate for personalised result - measure per person and store the result, honestly the best you can do.

You can try The Psychology of Reading by K. Rayner and A. Pollatsek.

• Interesting insights. I didn't look at it that way. Thanks, I look forward to the reference papers you mentioned. May 10, 2016 at 17:22
• I got this question a lot (I'll edit when I gather something more): why to use Eye Tracker in such simple case, the timer, even watch is sufficient. Yes it is, for average, but looking at reading patterns from ET gives more confident results about true reading speed, the most important characteristics are: which part of the words are really read like upper half of word, no more than 3/5 of length, and how rapid eye movement is and finally how long it takes to make fixation on the text.
– Evil
May 12, 2016 at 21:32