The Client
A skincare D2C brand with a hero product — a moisturiser that had launched strongly, built a loyal base, and then, quietly, stopped growing. The product sold across Nykaa, Amazon, and the brand's own site.
Client details are anonymised. Figures are representative of the engagement.
The Problem: A Bestseller Losing Its Base, for Reasons Nobody Could Name
The moisturiser was still the brand's top seller, but the trend underneath the headline was worsening. Repeat purchase was softening. The average rating had drifted down over several quarters — not collapsed, drifted — and new competitor products were pulling attention the brand used to own.
The team knew that it was happening. It could not say why. The reviews existed — thousands of them, across Nykaa and Amazon — but nobody had a way to read thousands of reviews systematically. The team read a handful, formed impressions, and argued from them. One person was sure it was the fragrance. Another was sure it was the price. A third blamed the packaging. Everyone had an anecdote and nobody had the distribution.
The product lead's summary: we have thousands of customers telling us exactly what's wrong, and we're guessing.
Why Reading Reviews by Hand Could Not Work
Reviews are the richest voice-of-customer data a brand has, and they are almost useless read one at a time.
Volume defeats manual reading. Thousands of reviews across two marketplaces cannot be read, categorised, and counted by a person. Whoever tries reads the most recent or the most extreme and mistakes them for the whole.
Anecdote beats data in the room. Without a distribution, the loudest voice wins the meeting. A single vivid one-star review about fragrance can drive a reformulation decision that the actual data would not support — and the team has no way to check.
The signal is in the themes, not the stars. A four-star average hides its own explanation. The useful information is what the four-star and three-star reviewers consistently complain about — the specific attribute dragging the rating — and a star average, by definition, cannot tell you.
The Solution: Aspect-Based Skincare Review Sentiment Analysis
Product Data Scrape built a skincare review sentiment analysis pipeline across the product's Nykaa and Amazon reviews.
- Full review capture. Every review for the hero product was captured across both marketplaces — rating, text, date, and verified-purchase status — so the analysis ran on the whole corpus, not a sample.
- Aspect extraction. Each review was decomposed into the specific product aspects it mentioned — hydration, texture, absorption, fragrance, packaging, price, breakouts, longevity — because a single review often praised one aspect and criticised another, and a whole-review sentiment score would have blurred the two.
- Aspect-level sentiment. Sentiment was scored per aspect, not per review, so the output was "how do customers feel about the texture?" rather than "is this review positive?"
- Frequency and trend. Each aspect was counted and tracked over time, so the brand could see which complaints were rising and whether a criticism was a persistent theme or a recent spike.
- Competitor comparison. The same analysis was run on the leading competitor products, so the brand could see which aspects customers praised in rivals that they criticised in the brand.
Sample Data: The Aspect Breakdown
An illustrative aspect-based sentiment summary for the hero product.
| Aspect |
Mentions |
Positive |
Negative |
Trend |
| Hydration |
High |
82% |
18% |
Stable |
| Absorption |
High |
41% |
59% |
Worsening |
| Texture (greasiness) |
High |
38% |
62% |
Worsening |
| Fragrance |
Medium |
71% |
29% |
Stable |
| Packaging |
Medium |
64% |
36% |
Stable |
| Price |
Medium |
58% |
42% |
Stable |
| Breakouts |
Low |
76% |
24% |
Stable |
Illustrative figures.
The structured record:
{
"product_id": "SKN-MOIST-HERO",
"reviews_analysed": 4180,
"sources": ["nykaa", "amazon_in"],
"average_rating": 4.1,
"aspect_sentiment": [
{"aspect": "hydration", "mentions": 1620, "positive_pct": 82, "trend": "stable"},
{"aspect": "absorption", "mentions": 1370, "positive_pct": 41, "trend": "worsening"},
{"aspect": "texture", "mentions": 1510, "positive_pct": 38, "trend": "worsening"},
{"aspect": "fragrance", "mentions": 890, "positive_pct": 71, "trend": "stable"},
{"aspect": "price", "mentions": 760, "positive_pct": 58, "trend": "stable"}
],
"top_negative_theme": "greasy_texture_slow_absorption",
"competitor_contrast": "leading rival scores 79% positive on absorption"
}
The finding settled the argument the team had been having for months. The problem was not fragrance, price, or packaging — all of which scored fine. It was texture and absorption: customers found the moisturiser greasy and slow to absorb, that specific complaint was rising, and the leading competitor scored nearly twice as well on exactly that aspect. Nobody's anecdote had identified it, because the greasy-texture reviews were spread across three- and four-star ratings, not concentrated in the one-star reviews the team had been reading.
What the Brand Did
Reformulated the one attribute the data pointed to. The brand reworked the formulation specifically for a lighter texture and faster absorption — leaving the hydration performance that customers loved untouched, because the data was equally clear that hydration was a strength to protect, not change.
Ignored the false leads. The fragrance was not changed. The price was not cut. The packaging was not redesigned. Each had been someone's confident theory, and the data showed each was fine — so the brand spent its reformulation effort on the one thing that mattered instead of diffusing it across four.
Updated the listing language. The product copy was rewritten to lead with "lightweight, fast-absorbing," directly answering the objection the reviews had surfaced.
Kept monitoring. Aspect sentiment is now tracked continuously, so the reformulation's reception could be measured on the same axis it was designed against.
The Results (Two Quarters Post-Reformulation)
| Metric |
Before |
After Reformulation |
| Positive sentiment on absorption |
41% |
74% |
| Positive sentiment on texture |
38% |
70% |
| Positive sentiment on hydration (protected) |
82% |
81% (held) |
| Average rating |
4.1 |
4.5 |
| Repeat purchase rate, indexed |
100 |
127 |
| Hero product revenue, indexed |
100 |
133 |
Figures are representative of the engagement outcome.
The product lead's follow-up: the customers had been telling us the answer for two years. We just needed to count what they were saying instead of reacting to the loudest ones.
The Lesson
Reviews are the most honest and most detailed product feedback a brand ever receives, given freely by the people who actually use the product. And most brands waste them, because reviews are unreadable at volume by hand — so decisions get made on the handful someone happened to read, weighted by whichever was most vivid rather than most representative.
The greasy-texture problem was hiding in plain sight, distributed across thousands of three- and four-star reviews that no manual reading would ever have aggregated. Aspect-based sentiment analysis did not discover anything the customers had not already said. It counted what they said, at scale, and turned a two-year argument into a single, correct reformulation decision.
Work With Product Data Scrape
Product Data Scrape delivers skincare review sentiment analysis across Nykaa, Amazon, and any marketplace: full review capture, aspect-level extraction and sentiment, frequency and trend tracking, and competitor contrast — so product decisions are driven by what all your customers say, not the few you happened to read.
We capture publicly available review content only, structured for analysis.
Ask us for a sentiment breakdown on your hero product — we will show you which single attribute is quietly costing you your loyal base.
Product Data Scrape — turning marketplace complexity into decision-ready data.