App Churn Reason Miner
Pricing
from $1.80 / 1,000 negative review mineds
App Churn Reason Miner
Find why users may leave: turn App Store, Google Play, and support reviews into version-aware churn reasons, evidence, priority scores, and fixes.
Pricing
from $1.80 / 1,000 negative review mineds
Rating
0.0
(0)
Developer
Michael Olmos
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Turn App Store, Google Play, Trustpilot, support, or survey review datasets into version-aware churn reasons with severity, recurrence, quoted evidence, confidence, and a recommended fix. No AI key or third-party enrichment service is required.
What you get
The default dataset contains two record types:
review-analysis— one successfully mined unique negative review, including its primary reason, version, severity, confidence, matched phrases, and evidence snippet. This is the primary pay-per-event unit.churn-reason— an uncharged aggregate with review frequency, affected versions, top version, recency, confidence, priority score, evidence examples, and recommended fix.
The OUTPUT key-value-store record is an uncharged run summary covering invalid, duplicate, non-negative, processed, and budget-limited counts.
Quick start
Run with no input to use the built-in sample, or paste reviews:
{"reviews": [{"id": "r-1","text": "Since version 4.1 the app crashes every time I open a saved project.","rating": 1,"version": "4.1.0","appName": "Northstar Notes","date": "2026-08-01"}]}
For an upstream Actor, choose its dataset in Review dataset. Inline and dataset records can be combined. Common snake_case, camelCase, nested author, timestamp, and rating formats are normalized automatically; fieldMap supports dot paths for custom sources.
How the deterministic analysis works
- Normalize review text, ID, rating, date, app version, platform, app name, locale, author, URL, and helpful count.
- Reject textless rows and remove exact normalized duplicates.
- Keep low-rated rows and reviews containing explicit churn language.
- Classify evidence into crashes, performance, access, billing, ads, usability, removed features, notifications, privacy, support, compatibility, or an explicit fallback.
- Group by app and reason, then rank using recurrence (42%), severity (33%), recency (15%), and confidence (10%).
Scoring is deterministic and reproducible. It does not call an LLM, send review text to an external API, or fabricate evidence.
Charging and budgets
The primary value event is negative-review-mined. Invalid rows, exact duplicates, positive/non-negative rows, and rows that do not produce a successful result are not charged as mined reviews. Aggregated reason rows and the OUTPUT summary are uncharged. The Actor checks the run's maximum charge limit before writing each paid batch and stops cleanly when the remaining event budget is exhausted.
The one-time $0.0003 Actor-start event covers measured startup overhead, including invalid-input runs. Set an Apify maximum total charge when testing unfamiliar datasets.
Privacy and limitations
includeOriginalReview defaults to false; only canonical fields are included by default. Reviews can contain personal data, so retain only what your purpose and policy permit.
Review text is directional evidence. A matched phrase does not prove why an individual churned, sarcasm and multilingual text can be misread, and Store reviews are not a representative retention cohort. Verify high-priority findings against cancellation, retention, support, and product telemetry before consequential decisions.
Development
npm cinpm run typechecknpm testnpm run buildnpm run benchmarknpm run launch:verify
See launch/OPERATIONS.md for release, monitoring, privacy, and rollback procedures.