Back to projects
AI/MLProductData PipelineFintech

App Review Insights Analyser

August 2026

Turns a week of Groww's App Store and Play Store reviews into a 250-word note a PM can act on. Found that 88% of app reviews carry no actionable signal.

App Review Insights Analyser

The problem

Groww receives roughly 1,500 app store reviews a week across iOS and Android. Nobody reads them. The ones that matter — a ₹50 fee to change an email ID, MTF positions silently drawing from regular holdings, WhatsApp messages continuing after opt-out — are buried under thousands of reviews that say "good".

I built a pipeline that ingests both stores weekly, classifies each review into one of five themes, and produces a one-page note: top three themes, three real user quotes, three action ideas, under 250 words, delivered as an email.

What I found

88.3% of reviews carry no actionable signal. Across 5,791 reviews, only 11.7% contained an identifiable issue or request — about 130 a week. That reframed the problem from "summarise reviews" to "find the small fraction worth a PM's attention."

A quarter of the signal is feature requests, not complaints. In one week, 20 of the 44 "App Experience" reviews were people asking for features. Without separating those, a PM reads 44 problems and prioritises the wrong work. I added a second axis — theme plus complaint/request — specifically for this.

Apple's public feed only reaches back 9 days. At ~62 iOS reviews/day, the 500-review cap is exhausted in a week and a half, so the 8–12 weeks of history the brief asked for is unreachable from it. I documented the ceiling and sourced trend history from Play instead of claiming coverage I didn't have.

How I worked

Four phases, each with pass/fail exit criteria and committed evidence — no phase closed on a claim, only on an artifact. I hand-labeled 100 reviews blind to validate the classifier rather than trusting its own report.

What failed

One exit criterion failed and I shipped it failing. The classifier mislabels a dashboard-regression review as no-signal. I traced it to batch-composition sensitivity — a review's label isn't fully independent of its neighbours — and measured the effect at ~4% of labels. I didn't tune the prompt to fix it, because the five test cases were what I derived the classification rules from, so passing them would have been tuning on the test set.

Stack

Python, Groq (gpt-oss-120b) for classification only. The note itself is deterministic — counts, trends, quote selection and actions are all code, so it can't hallucinate a statistic or invent a recommendation.

Videos