App Churn Reason Miner avatar

App Churn Reason Miner

Pricing

from $1.80 / 1,000 negative review mineds

Go to Apify Store
App Churn Reason Miner

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

Michael Olmos

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

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

  1. Normalize review text, ID, rating, date, app version, platform, app name, locale, author, URL, and helpful count.
  2. Reject textless rows and remove exact normalized duplicates.
  3. Keep low-rated rows and reviews containing explicit churn language.
  4. Classify evidence into crashes, performance, access, billing, ads, usability, removed features, notifications, privacy, support, compatibility, or an explicit fallback.
  5. 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 ci
npm run typecheck
npm test
npm run build
npm run benchmark
npm run launch:verify

See launch/OPERATIONS.md for release, monitoring, privacy, and rollback procedures.