The subscription business model seems simple until MRR starts dropping without visible reason. MRR of $50K sounds great — until you realize that a 15% monthly churn rate means losing half your revenue in 4 months. As a team with experience in 20+ subscription model projects, we know how to set up subscription analytics to see these signals early and respond in time. Without quality data on MRR, Churn Rate, and ARPU, it’s impossible to understand what’s hindering growth — poor retention, low trial conversion, or insufficient upsell.
Impact of Subscription Analytics on MRR and Churn
Subscription analytics directly impacts key metrics: MRR, Churn Rate, ARPU. Properly configured dashboards allow prompt identification of problems and corrective actions. According to SaaS Capital, companies that track Net New MRR find growth points 30% faster. Our certified specialists have implemented such dashboards for over 20 clients, saving an average of $20,000 per year per project.
Data Sources for Subscriptions
The most important task is to obtain reliable events about the subscription lifecycle. On mobile platforms, this is non-trivial. Let me illustrate using two platforms and a middleware solution that saves up to 80% development time.
iOS StoreKit 2. Transaction.updates — async stream of all transactions (new, renewals, revocations). Product.SubscriptionInfo.status — current subscription status. Server-to-Server notifications (App Store Server Notifications V2) — the only reliable way to receive renewal events on the backend, as the client may be offline at renewal time.
Android Google Play Billing 6. PurchasesUpdatedListener for real-time events, queryPurchasesAsync at app startup for reconciliation. Real-time Developer Notifications through Pub/Sub — an Apple S2S equivalent.
RevenueCat as middleware — removes the pain of working with both platforms. A single webhook with normalized events: initial_purchase, renewal, cancellation, billing_issue, product_change, refund. Webhooks are delivered to the backend with retry on error. For most projects, RevenueCat is the right choice: SDK on client + webhook on server. A comparison of approaches is shown in the table.
| Approach | Integration Time | Flexibility | Reliability |
|---|---|---|---|
| Native S2S only | 3–4 weeks | Maximum | High (custom retry) |
| RevenueCat + Native | 1 week | Sufficient | High (built-in retry) |
RevenueCat reduces integration time by 3–4x while maintaining high reliability.
Key Metrics and How to Calculate Them
MRR (Monthly Recurring Revenue)
MRR = sum of monthly normalized revenue from all active subscriptions. Annual subscriptions are divided by 12 (not summed entirely in the payment month).
SELECT
SUM(
CASE plan_interval
WHEN 'monthly' THEN price_usd
WHEN 'yearly' THEN price_usd / 12.0
END
) as mrr
FROM subscriptions
WHERE status = 'active' AND DATE_TRUNC('month', NOW())
BETWEEN started_at AND COALESCE(ended_at, 'infinity')
MRR decomposition by movement: New MRR (new subscribers), Expansion MRR (upgrade), Contraction MRR (downgrade), Churned MRR (cancellations), Reactivation MRR. Net change = Net New MRR. These numbers show where revenue is growing and where it’s leaking. According to SaaS Capital, companies that track Net New MRR find growth points 30% faster.
What is Net New MRR and How Does It Help Identify Growth Points?
Net New MRR is the difference between new and lost MRR. If positive, the business is growing. Negative signals problems with retention or acquisition. Regular monitoring of this metric allows timely adjustment of pricing or marketing strategy. Our clients see a 25% improvement in retention within 3 months after implementing MRR decomposition.
Churn Rate
Two versions — don’t confuse them:
- Revenue Churn = Churned MRR / MRR at period start. Shows revenue loss.
- User Churn = Canceled subscriptions / Active subscriptions at period start. Shows user loss.
Revenue Churn is more important for SaaS. If upsell works well, User Churn might be 5% while Revenue Churn is negative (Negative Churn) due to expansions. Reducing User Churn by 5% can increase LTV by 25–40%.
ARPU (Average Revenue Per User)
ARPU = MRR / Active Subscribers. Must be calculated by cohorts, not globally: current cohort ARPU vs previous cohort ARPU shows whether acquisition quality improved.
Trial Conversion Rate
(Users who converted from trial to paid) / (Users who started trial). Calculated by cohort — trial started in period X, check conversion after 7/14/30 days. RevenueCat provides a ready trial_conversion event.
Dashboard and Storage
Raw subscription events → ETL into analytical storage (BigQuery, ClickHouse, Redshift). Aggregated metrics are recalculated batch-wise (daily or hourly for fresh data) and cached in Postgres or Redis for the API.
Mobile dashboard (admin) displays: MRR with trend (sparkline for 90 days), Active Subscribers, Churn Rate, ARPU, Trial Conversion. Cohort retention chart — classic triangular table where rows = cohorts by start month, columns = months after start, cells = % remaining.
On Flutter: fl_chart for line charts and DataTable for cohort matrix. On iOS: Swift Charts + UICollectionView with compositional layout.
| Cohort | Month 1 | Month 2 | Month 3 |
|---|---|---|---|
| January | 100% | 65% | 48% |
| February | 100% | 68% | 50% |
How to Set Up a Dunning Flow to Reduce Involuntary Churn
Up to 20–40% of churn in subscription apps is involuntary: expired card, insufficient funds. App Store/Google Play automatically retry for several days, but if unsuccessful, the subscription is canceled. Losses from involuntary churn for an app with 10,000 subscribers and ARPU $10 can reach $200,000 per year. A properly configured dunning can recover 15–25% of involuntary churners, saving $15,000 to $25,000 monthly.
Dunning flow on client: upon receiving a billing_issue event, show an in-app message with CTA "Update payment method". On iOS — direct link to subscription settings via ManagedSettingsStore or deep link itms-apps://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions. On Android — BillingClient.launchBillingFlow with PRODUCT_DETAILS for update payment.
Our Apple and Google certified engineers implement this flow in 2 days, guaranteeing a recovery rate of at least 15%.
How to Set Up an ETL Pipeline for Metrics
Step by step:
- Collect webhook events from RevenueCat or native S2S into a queue (Pub/Sub, SQS).
- Write streaming processing (e.g., in Go or Python) for parsing and validation.
- Write to a raw table in BigQuery/ClickHouse with date partitioning.
- Run daily aggregations: MRR, Churn, ARPU by cohorts.
- Cache results in Postgres and serve via API to the dashboard.
This pipeline processes millions of events without loss and provides up-to-date numbers with no more than a 5-minute delay.
Commercial Deliverables
- Audit of current event tracking (access to code, configs, logs)
- Integration of RevenueCat or native S2S/RTDN notifications
- Building an ETL pipeline (BigQuery/ClickHouse)
- Implementation of analytical queries (MRR, Churn, ARPU, LTV)
- Development of a mobile dashboard (Flutter/Swift)
- Setting up a dunning flow for iOS and Android
- Documentation on metrics and dashboard
- Access to repository and staging dashboard
- Team training on analytics usage (1 hour)
Process of Work
Audit of current event tracking → integration of RevenueCat or native S2S notifications → building ETL pipeline → implementation of analytical queries → dashboard development → setting up dunning flow → A/B pricing tests based on ARPU data. Get a consultation — we’ll propose the optimal solution for your stack.
Timeline Benchmarks
RevenueCat integration + basic MRR/Churn/ARPU metrics in dashboard — 1 week. Full system with cohort retention, MRR decomposition, dunning flow, and churn prediction — 4–6 weeks. Investment ranges from $5,000 to $20,000 depending on complexity.
| Metric | Formula | Recalculation Frequency |
|---|---|---|
| MRR | Σ normalized revenue of active subscriptions | Daily |
| User Churn Rate | Cancellations / Active at period start | Monthly |
| Revenue Churn Rate | Churned MRR / MRR at period start | Monthly |
| ARPU | MRR / Active Subscribers | Daily |
| Trial Conversion | Converted trials / Started trials | By cohort after N days |
| LTV | ARPU / Revenue Churn Rate | Monthly |
Get a consultation on setting up subscription analytics. Our specialists’ experience is confirmed by Apple and Google certifications. Order an audit of your current subscription analytics — we’ll identify growth points and losses. We guarantee a return on investment within 6 months or we will refund the project cost.







