Project 03 · Business · Text analysis
What 751,500 customers say about 12 online stores
An analysis of every review of the apps of Amazon, eBay, Walmart, AliExpress, Shein and seven more stores from 2018 to 2024. For each store: a verdict, the most common complaints and praise, how they change over the years and exactly what to fix.
The idea and the checking are mine. The code and the text were written with AI, and every number in the text is checked automatically against the data.
Overview
First look: what customers complain about and what they praise
Four things the numbers show
The overall share of negative reviews barely moves over the years. What is interesting is what hides under the average.
Walmart turned around: negative reviews fell from 77.4% to 31.9%
The biggest improvement of all 12 stores. App complaints fell from 32.0% to 9.0% of all reviews, and delivery complaints from 21.6% to 9.8%.
Shein collapsed in two years: from 8.8% to 50.7% negative
In 2024 three things that had barely existed before grow all at once: complaints about the app (from 1.3% to 10.0% of all reviews), about prices (from 1.9% to 10.4%) and about scams and blocked accounts (from 0.8% to 8.8%).
Flipkart is last, and its trend is the worst
Negative reviews grow from 50.9% in 2019 to 91.8% in 2023. That year nine out of ten reviews have one or two stars. The main causes are delivery, refunds and customer service.
Replying to reviews does not mean solving the problem
Meesho and Snapdeal reply to 96.9% and 97.7% of reviews, yet they have 63.4% and 68.5% negative. Amazon does not reply to any. How often a store replies says nothing about how satisfied its customers are.
Complaint map
Each row is a store, each column a topic. The number shows what share of the store’s negative reviews mention the topic. Point at a cell for details, and click to open the store’s report. The stores are sorted from best to weakest.
Each store
A report for every store
The verdict comes from Net Sentiment: % positive reviews (4–5★) minus % negative (1–2★). Choose a store.
Comparing the stores
Click a column heading to sort the table.
Service: the balance of reviews that mention customer service (% positive minus % negative). Replies: % of reviews with a reply from the store.
How it was built
Eight steps from the raw files to the report. The whole analysis of 751,500 reviews takes about 10 seconds.
Collecting the data 751,500 reviews
12 files from Google Play: text, stars, date, how many people liked the review and whether the store replied. The period runs from 12 September 2018 to 17 August 2024.
The tone comes from the customer 1–2★ and 4–5★
1–2 stars is a complaint, 4–5 is praise, 3 is neutral. The customer has already said whether they are happy, so there is no need to guess with a model. Compared with human labels, this matches in 94% of cases.
A dictionary of topics
Each topic has a list of phrases. A review falls into a topic if it contains at least one of them. A few examples of each:
Sub-issues inside the topics
“Delivery” is too general to act on. So each complaint is broken down further: delay, parcel never arrived, parcel “delivered” when it was not, delivery fee, the courier. That way the recommendations rest on a specific problem with a number.
A check against people 2,782 reviews
A separate set of Trustpilot reviews for 5 other online stores, where researchers marked the topics by hand. The first version of the dictionary scored 0.60 out of 1 overall. I went through the errors one by one, fixed the phrases and removed the topic that did not work. The second version scored 0.74.
Overall recognition score by topic (0 = none, 1 = perfect) First versionSecond versionThe errors the check caught:
“Package” almost always means a parcel, not packagingThe “Packaging” topic had only 6% correct hits. I removed it, and damaged products went to “Quality”.“Update” caught “tracking update”A parcel update was counted as an app problem. Now only “app update” and “after the update” count.“Paid” caught “paid extra for express delivery”That is a delivery complaint, not a payment one. Now “Payment” looks for specific problems: “charged twice”, “payment failed”.The quotes are real and fairly chosen
For each topic the system takes the most-liked short English review that is mainly about that topic and has not been used for another. The tone of the text, checked with the VADER lexicon, has to match the stars. Otherwise a 5-star “praise” would turn out to be a complaint.
AI writes the report from the numbers
The verdicts, trends and recommendations are written by AI only from the calculated numbers. Nothing is added from outside.
Every number checked automatically 293 numbers, 0 errors
A separate script takes every number from the report text and checks that it exists in the data for the same store. If one does not match, the report does not pass.
“The app” scores low because the Trustpilot reviews are about websites, not apps. “Scams and blocked accounts” is not in the table: in Trustpilot the similar topic is about trust and recommendation, so there is nothing to compare it with.
What you should know
The reviews are of the apps
The data is from Google Play, so some complaints are about the app itself rather than the store. The stores operate in different countries: India, South-East Asia, the US, China.
The years are not equal
The number of reviews per year varies, so the trends are in percentages. 2024 runs to August. For Flipkart and Snapdeal some years have only about a thousand reviews.
The phrases do not catch everything
A review that describes a problem in other words can be missed. The numbers are for comparing stores and years, not an absolute truth.
What I learned
The average hides the story
The overall share of negative reviews is almost stable, yet under it Walmart improves sharply, Flipkart collapses and Shein turns around within a year.
Without a check, errors stay invisible
The dictionary looked sensible until I compared it with human labels. That is when “package”, “update” and “paid” came out.
Every recommendation needs a number
The rule that every recommendation must be tied to a number forced the analysis down to the sub-issues. Without it, it would have said “improve delivery”.
The same analysis works for any company with reviews
Couriers, restaurants, hotels, banks, mobile apps, call centres. It answers three questions: what annoys customers the most, whether the problem is growing, and what to fix first.
Get in touchData: ShoppingAppReviews (Mendeley Data, CC BY-NC 4.0 licence) and Trustpilot reviews with human labels (figshare). Fonts: Unbounded and Golos Text (SIL Open Font License).