TL;DR
Export your 1- and 2-star reviews to plain text, paste them into a long-context model (Claude Opus 4.7, Gemini 3.1 Pro, or GPT-5.5 Thinking all swallow 500 reviews easily), and ask for themes ranked by impact on average rating, not by complaint count. A 12-review crash cluster outranks a 25-review “I want dark mode” cluster every time. The output you actually want is a one-sprint fix list plus a “do NOT build this” column — half the value is knowing what to refuse.
The task
You have 60+ 1- and 2-star reviews from the last 90 days. Reading them one by one crushes morale and produces nothing actionable. You want AI to cluster them into themes, sort by impact on rating, correlate spikes to recent releases, and hand you what to fix this sprint — plus a short list of complaints to refuse.
When this is the right job for AI
- You have 30+ reviews to analyze. Below that you have anecdotes, not patterns, and clustering overfits.
- You can export the review text. Screenshots work but slow you down; plain text is far cleaner.
- You want fixable patterns, not a sentiment score. If all you need is “are people mad: yes/no,” skip the AI.
How to export the reviews
You can paste reviews straight from your dashboard, but bulk export is faster once you cross ~40 reviews. The catch: neither store gives you a clean one-click “all reviews” button, and Apple caps you hard.
| Platform | How to export | Limit / gotcha (as of June 2026) |
|---|---|---|
| App Store | App Store Connect → Ratings and Reviews; or pull the public RSS feed | Apple’s RSS feed returns at most 500 reviews (10 pages × 50) per country store, and only reviews with text — star-only ratings are excluded. Export per country and merge. |
| Google Play | Play Console → Download reports → Reviews (monthly CSV from Google Cloud Storage) | Reviews accumulate into monthly CSV files; you can pull every text review since launch, but only reviews with comments appear. |
| Both | Third-party tools (Appbot, AppFollow, free CSV exporters) | Some lift the cap to ~10,000 reviews per app and merge stores into one CSV. Useful if you’re past Apple’s 500 limit. |
Once exported, keep only the 1- and 2-star rows, strip everything except the review text, and you have your paste block.
What to feed the AI
- All 1- and 2-star reviews from the last 60–90 days as plain text, one per line.
- App context in one line: e.g. “one-tap habit tracker for ADHD adults.”
- Current average rating, review count, and the target (“4.3 → 4.5”).
- Recent releases with dates, so the model can correlate “this complaint started after v1.4.0.”
500 plain-text reviews is roughly 30–60K tokens — well inside the in-app context window of every current flagship (Claude Opus 4.7 holds 500K tokens in chat, Gemini 3.1 Pro and the GPT-5.5 API reach ~1M). You will not hit a context ceiling; you’ll hit a quality ceiling if your prompt doesn’t force impact-ranking.
Copy-ready prompt
You are analyzing negative reviews to produce a fix list.
App: one-tap habit tracker for ADHD adults.
Current avg rating: 4.3 across 2,400 reviews. Goal: 4.5.
Recent releases:
- v1.4.0 (3 weeks ago): introduced streak freeze
- v1.3.5 (8 weeks ago): added widget v1
Reviews (negative only, last 90 days), one per line:
[paste all reviews here]
Output:
1. Cluster into themes. Each cluster: name, count, two representative quotes.
2. Sort clusters by likely impact on average rating if fixed (NOT by count alone:
a small cluster of "app crashes" beats a large cluster of "want more widgets").
3. For each top-3 cluster: the one fix to ship this sprint, AND one easy/cosmetic
fix NOT to do because it won't move the rating.
4. Correlate any cluster to a recent release ("X cluster started after v1.4.0").
5. Flag any cluster that is structurally not fixable (e.g. a feature we have
explicitly decided not to build). These go into reply templates, not the sprint.
6. Draft a one-paragraph public App Store reply to the top cluster (not an email).
Use Claude Opus 4.7 or GPT-5.5 in Thinking mode for this — the ranking step is reasoning-heavy, and the faster “instant” tiers tend to sort by raw count no matter what you tell them. See our Claude vs ChatGPT for long documents breakdown if you’re picking a model.
What good output looks like
Clusters (sorted by rating impact):
- Crash on launch after streak freeze (12 reviews, 1.0 avg)
- “App won’t open since the update.”
- “Lost everything, please fix.”
- Started after v1.4.0 — this is a regression.
- Ship this sprint: hotfix the crash. One engineer, max 2 days.
- Don’t do: redesign the streak UI (won’t move the rating).
- Notifications can’t be muted in one tap (14 reviews, 1.4 avg)
- “Notifications shame me; I want them off without digging into settings.”
- “Can’t mute the daily one.”
- Ship this sprint: one-tap mute from the notification itself.
- Don’t do: rewrite notification copy.
- Widget showing wrong data (8 reviews, 1.6 avg)
- “Widget says 0 streak even when I have 12.”
- Started after v1.3.5 — widget v1 bug.
- Ship this sprint: fix the widget data-sync bug.
- Don’t do: build widget v2.
Structurally not fixable (reply templates only):
- “Add a streaks-only mode with no off-ramp” (5 reviews) — explicitly out of scope; the off-ramp is the product wedge.
- “Add a leaderboard” (3 reviews) — same.
Suggested App Store reply for cluster 1:
“Thanks for flagging this. The crash after the v1.4.0 streak-freeze update is a regression, and a hotfix is in App Review now. We can restore your streak history — reach us through Settings → Help and we’ll sort it out. — Team”
Why rank by rating impact, not count
Google Play and the App Store both reweight ratings toward recent activity — as of 2026, Google Play uses a recency-weighted model where recent ratings count more heavily than your 2022 history, so a fresh wave of 1-stars from a regression drags your displayed score down fast (and a fixed quarter recovers it). That makes severity, not volume, the thing to chase: a crash cluster of twelve 1.0-star reviews this month moves your number more than two dozen old 3-star “wish it had more themes” gripes. Tell the model to rank by count × severity, where a crash or data-loss bug always outranks a feature request.
How to refine the output
- Sorts only by count → require “rank by likely rating impact = count × severity, where a crash beats a feature request.”
- Clusters too coarse → “give me at least 5 clusters; merge two only if their quotes overlap by more than 70%.”
- Ignores releases → “for each cluster, check whether it started within 2 weeks of a release I listed.”
- Suggests cosmetic fixes → “do NOT recommend UI rewrites that won’t move the rating; cosmetic fixes go in the
don't docolumn.”
Replying without making it worse
If the analysis surfaces a reply-worthy cluster, keep the public response factual and short. As of June 2026, App Store Connect gives you up to 5,970 characters per developer response, and your reply won’t appear publicly for up to 24 hours, so don’t promise “fixed today” if review is still pending. Only an Account Holder, Admin, or Customer Support role can post responses. When a fix actually ships, go back and reply to the older reviews that complained about it — Apple lets you re-engage those users, and an edited response is marked as edited.
Common mistakes
- Treating all negative reviews equally. 12 crash reports outweigh 25 cosmetic complaints.
- Ignoring the structurally-not-fixable cluster. These need a reply template, not a sprint slot.
- Letting one loud reviewer dominate. The model de-weights outliers fine if you tell it to; left alone it over-indexes on the angriest 400-word rant.
- Skipping the “don’t do” column. Half the value is knowing what to refuse.
- Replying without fixing. A public reply with no follow-through erodes trust faster than silence.
FAQ
What about positive reviews? Run that separately. The question there is “what’s the moat to defend?” not “what to fix.” Mixing them dilutes both analyses.
How many reviews do I actually need? 30+ to cluster reliably. Below that the model invents themes from noise, and one outlier skews the whole map.
Can AI scrape App Store reviews directly? No. Export from App Store Connect or pull the RSS feed (capped at 500 text reviews per country store as of June 2026), or use a CSV tool, then paste the text. The model can’t reach the store itself.
Which model should I use? Any current flagship handles the volume; the ranking is what varies. Use a reasoning tier — Claude Opus 4.7 or GPT-5.5 Thinking — because the impact-sort is where cheaper “instant” modes fall back to counting.
Should I reply to every negative review? No. Reply publicly to the top 1–2 clusters; reply privately to individual high-signal reviews only when you have a way to reach the user.
Related
- AI user feedback clustering
- AI app review reply
- AI feature prioritization
- AI bug report
- Negative App Review Analysis Prompts for Root-Cause Themes
External references: Apple — Respond to reviews · Google Play — Download and export reports
Tags: #AI writing #User feedback #Review reply #App Store #Ops