How to analyze thousands of customer reviews without reading them all
The method is to ask the same four things of every single review — the sentiment, which topics it is actually about, how severe it is, and whether it needs a reply — and then count the answers instead of reading them. Counting is what makes it work: reading a sample tells you what is loud, counting everything tells you what is common, and those are different lists. The rest of this guide is how to define labels that survive contact with real reviews, why the summary has to be computed rather than written, and the mistakes that make the whole exercise useless.
What this comes down to
- Reading a sample tells you what is loud. Counting everything tells you what is common. Those are different lists, and only one of them is actionable.
- Ask the same four things of every review — sentiment, topics, severity, whether it needs a reply — then count the answers instead of reading them.
- Let a review carry more than one topic. Forcing a single topic is the most common mistake in review analysis.
- Compute the summary rather than generating it: a generated paragraph gives you no counts and no way to check whether “some customers” means four or four hundred.
- Include undated reviews in the counts and exclude them from the trend. A guessed date corrupts the only thing the trend is for.
Loud is not the same as common
Read fifty reviews out of three thousand and you will come away with an impression weighted by vividness. The reviewer who wrote four furious paragraphs about the packaging sticks; the two hundred people who mentioned in passing that the sizing runs small do not.
Both facts matter, and they are different decisions. “One customer was very angry” is a support job. “Seven per cent of reviews mention sizing” is a product-page job. The reason to process every review rather than a sample is not thoroughness for its own sake — it is that only the full count separates those two.
Reading a sample tells you what is loud. Counting everything tells you what is common.
Ask four things of every review
The useful unit is not a summary. It is a small set of typed answers per review that you can then count, sort and filter in code. Four cover almost every question a seller actually has:
- Sentiment — positive, neutral, negative or mixed. Mixed needs to be a real option, not a hedge: “lovely mug, arrived smashed” is not a neutral review and calling it one loses both facts.
- Topics, as independent yes/no questions rather than one “category” choice. A review can be about shipping and packaging and customer service, and forcing it into one bucket throws away two thirds of what it said.
- Severity — how bad the problem is for the customer. Judged on the problem, not the tone. A calmly worded “this arrived without the power adapter” outranks an furious complaint about a colour being slightly off.
- Needs a reply — is there something here to do with this specific person? An unresolved problem, a question, a refund owed.
Keep the raw probabilities, not just the yes/no. Storing “shipping: 0.83” instead of “shipping: true” means you can move the threshold later and re-count without re-processing anything, and you can sort by how sure the answer was.
Compute the summary. Do not generate it.
This is the part that decides whether the output is trustworthy. Once every review has its four answers, the summary is arithmetic: count the sentiments, count the reviews per topic, sort the topics by how many negative ones carry each label, take the mean severity.
A generated paragraph — “customers generally love the product but some mention shipping delays” — is unfalsifiable. You cannot check it, you cannot sort by it, and you cannot tell whether “some” is four people or four hundred. A counted summary can be wrong, which is exactly what makes it useful: you can click through to the reviews and see.
Sort topics by negative volume rather than total volume. A topic two hundred happy customers mentioned is not the one to read first, and sorting by raw count buries the one twelve furious customers raised.
Attach three real quotes to every number
A count with no evidence gets argued with. A count with three verbatim excerpts, each with its star rating and date, gets acted on — and if the count is wrong, the quotes are how you find out in ten seconds rather than after a week of work.
Pick the quotes by severity, not by how confident the topic match was. The confidence says how sure you are that the review is about shipping; it says nothing about how badly the shipping went. Three worst cases is what a person wants to read.
Use dates if you have them, and do not invent them if you do not
A monthly breakdown answers the question counts cannot: is this getting better? Twelve per cent of reviews mentioning delivery is a different situation depending on whether it was four per cent last quarter or twenty.
Two rules. Bucket by month, not by day — daily review volumes are usually too thin to read, and a chart of noise looks like a chart of information. And leave undated reviews out of the trend rather than assigning them a plausible date: a fabricated timestamp puts a two-year-old complaint in this month’s bar, which is worse than a shorter chart.
Define your labels, do not just name them
“Shipping” as a bare label counts every review containing the word. Define it — “the reviewer comments on how long delivery took, the carrier, tracking, or the state of the parcel on arrival” — and you count the reviews that are about shipping. The difference on a real dataset is large.
Phrase the definition neutrally. “Mentions sizing” rather than “complains about sizing”: you want the label to count mentions in both directions and let the sentiment answer decide whether it was a complaint. Otherwise your topic counts and your sentiment counts are measuring the same thing twice.
Our Review Analyzer ships two label sets defined this way — one for physical products, one for apps — and takes up to ten of your own on top. The presets are visible on that page, definitions included, so you can see what each one actually counts.
The whole loop, in order
- Get the reviews out. Some platforms make this easy and some make it impossible — platform by platform.
- Pick a label set and add the two or three topics specific to what you sell.
- Run a sample first. Twenty or thirty reviews will tell you whether your labels match your customers’ vocabulary, and that is cheaper to find out before you process three thousand.
- Process everything, keeping the per-review probabilities.
- Read the ranked topic list and the quotes under each one. Then read the needs-a-reply list, which is a different and shorter job.
- Re-run next quarter with the same labels. The comparison is worth more than either run alone.
Questions
How many reviews do I need before this is worth doing?
Around fifty is where reading them all stops being the faster option. Below that the preparation costs more than the reading. Above a few hundred, sampling starts actively misleading you about what is common.
Why not just ask a model to summarise the reviews?
Because you cannot check the answer. A generated paragraph gives you no counts, no way to sort, and no way to tell whether "some customers" means four or four hundred. Judging each review into typed answers and counting them in code gives you numbers you can verify against the reviews that produced them.
Should a review be allowed more than one topic?
Yes, and forcing a single topic is the most common mistake in review analysis. Ask each topic as its own independent question so a review about shipping, packaging and support is counted under all three.
What do I do about reviews with no date?
Include them in the counts and exclude them from the trend. Assigning a guessed date to keep the chart tidy corrupts the only thing the chart is for.
Read next
How to export product reviews
Platform by platform: which stores offer a real review export, which do not, and what to do when there is no official route to your reviews.
App store review analysis for indie developers
Reading App Store and Google Play reviews at volume when you are the whole support team: export, group by topic, and fix the common complaint.