Word frequency and readability scores: what they tell you

How word counts, keyword density and Flesch scores are calculated, a worked example, and what these numbers cannot see, especially for Vietnamese.

On this page

Paste a text into an analyser and you get a dozen numbers in a second: words, sentences, reading time, the most frequent words, a keyword density and a readability score. Each one is easy to compute and easy to misread. This article works through a real example with our text analyzer, shows exactly how each figure is produced, and is honest about what the numbers cannot tell you.

The example

We used two short paragraphs (the analyzer's built-in example):

Good writing is easy to read. Short sentences help, and so do common words. A reader who meets a long sentence full of abstract nouns has to hold every part of it in mind before the meaning arrives, which is tiring. Readability formulas count what they can: words per sentence and syllables per word. They cannot tell whether a text is clear, accurate or kind. Use them as a rough check, then read the text aloud.

The analyzer reports 76 words, 61 different words, 6 sentences and 2 paragraphs. At 238 words a minute (the average silent reading rate for English non-fiction in Marc Brysbaert's 2019 review of 190 studies) it takes 19 seconds to read; at 150 words a minute it takes 30 seconds to say.

Counting words is a decision, not a fact

"76 words" depends on rules. Ours: a word is a run of letters or digits, and an apostrophe or hyphen inside it keeps it whole, so "don't" and "e-mail" are one word each, while "9:30" is two. Microsoft Word, Google Docs and online counters each make slightly different choices about numbers, dashes and URLs, so the same text can differ by a few words per thousand. That never matters for an essay limit of 1,500 words; it matters when a form allows exactly 280 characters, which is why counters for social posts count differently again.

Word frequency and stop words

The most frequent words of the example, counted plainly, are "a" (4 times), "is" (3), then "and", "of", "per" and "read" (2 each). That tells you nothing about the subject: function words top every frequency list in every language. Leaving out stop words (a list of articles, pronouns, prepositions and auxiliaries) the top of the list becomes "per", "read", "sentence", "text" and "words": much closer to what the text is about.

For phrases the analyzer counts n-grams, runs of two or three words. With stop words filtered, a phrase that begins or ends with one is dropped ("of the" disappears) but one that only contains one in the middle survives ("state of the art"). Three-word phrases are the best way to find your own habits: "it is important", "in order to", "as well as".

Keyword density

Keyword density is the share of a text taken by a word or phrase. The analyzer uses count × words in the phrase ÷ all words × 100. In our example "read" appears twice in 76 words: 2 ÷ 76 = 2.63%. A two-word phrase used 3 times in 200 words takes 3 × 2 ÷ 200 = 3% of the text.

There is no magic number. Search engines stopped rewarding repetition long ago, and a density above roughly 3% usually reads as repetitive to people, which is the real reason to check it. Use the table to spot accidental repetition, not to hit a target.

The Flesch formulas, by hand

Rudolf Flesch's 1948 Reading Ease score and the Flesch-Kincaid grade use just two averages:

  • Reading Ease = 206.835 − 1.015 × (words ÷ sentences) − 84.6 × (syllables ÷ words)
  • Grade = 0.39 × (words ÷ sentences) + 11.8 × (syllables ÷ words) − 15.59

The first paragraph of the example has 41 words, 3 sentences and an estimated 55 syllables. So words per sentence = 13.67 and syllables per word = 1.341, giving 206.835 − 13.87 − 113.49 = 79.5 ("fairly easy") and grade 5.6. The second paragraph scores 79.0 and grade 5.1.

Now a test of what the formula sees. "Read it. Fix it. Ship it. Then read it again. It is good." has 13 words, 5 sentences and 14 syllables: 206.835 − 1.015 × 2.6 − 84.6 × 14 ÷ 13 = 113.1. Scramble the same words into nonsense, "Ship it. Again it. Fix read. Good it is. Then it read.", and it scores 112.7. The formula cannot tell sense from nonsense, because it only measures length.

Where the syllable count comes from

English spelling does not mark syllables, so every tool estimates them. Ours counts groups of vowels after removing endings that are usually silent ("make" has one, "baked" one, "wanted" two). Against dictionary counts for a mixed list of 51 words it was right for 45, about 88%. Typical misses: "idea" and "area" (vowels spoken separately), "science", "quiet", "created" and "business". Over a paragraph the errors partly cancel; for a single sentence they can move the score by ten points.

Why there is no Flesch score for Vietnamese

The constants 206.835, 1.015 and 84.6 were fitted to English readers and English text. Vietnamese is written one syllable at a time: "Hôm nay tôi đi chợ mua rau" is seven syllables separated by spaces, and the dictionary words are "hôm nay" (today), "tôi", "đi", "chợ", "mua", "rau". Every space-based counter, including ours, Word and Google Docs, counts these as seven "words". Syllables per word would always be 1, and the formula's main term would be meaningless.

So for Vietnamese the analyzer shows syllables instead, and lists the most frequent two-syllable pairs, which are usually compound words. For "Hôm nay tôi đi chợ mua rau. Chợ hôm nay đông người. Người bán rau ở chợ rất vui vẻ, rau tươi và rẻ." it finds 24 syllables, 17 different ones, and "hôm nay" as the top pair (twice). Proper Vietnamese word segmentation needs a dictionary and a trained model; a pair list is a useful hint, not a segmentation.

Common mistakes

  • Treating a readability score as a quality grade. It measures sentence and word length only. A clear explanation with one necessary long word can score worse than a vague one.
  • Writing to a keyword density target. Repeating a phrase to reach 2% makes text worse for readers.
  • Comparing word counts between tools and assuming one is wrong. They define words differently.
  • Running English formulas on other languages. Spanish, Indonesian and Vietnamese need their own formulas, and Vietnamese needs word segmentation first.
  • Forgetting the denominator. A density of 5% in a 60-word product blurb is three uses; in a 2,000-word article it is a hundred.

For plain counts and case conversion the text toolkit is quicker; the analyzer is for when you want to know what the words are doing.

Tools mentioned in this article

Back to the blog