Підписна бізнес-модель здається простою, поки MRR не починає падати без видимих причин. MRR у $50K звучить добре — до моменту, коли з'ясовується, що churn rate 15% на місяць означає втрату $7.5K щомісяця. Ми, як команда з досвідом у 20+ проєктів підписної моделі, знаємо, як налаштувати subscription analytics, щоб бачити ці сигнали заздалегідь і своєчасно реагувати. Без якісних даних про MRR, Churn Rate та ARPU неможливо зрозуміти, що саме гальмує зростання — погане утримання, низька конверсія тріалу чи недостатній upsell.
Як впливає dunning flow на involuntary churn?
Підписна аналітика безпосередньо впливає на ключові метрики: MRR, Churn Rate, ARPU. Правильно налаштовані дашборди дозволяють оперативно виявляти проблеми та вживати заходів.
Джерела даних про підписки
Найважливіше завдання — отримувати надійні події про життєвий цикл підписки. На мобільних платформах це нетривіально. Розповім на прикладі двох платформ і middleware-рішення, яке економить до 80% часу розробки.
iOS StoreKit 2. Transaction.updates — async stream усіх транзакцій (нові, renewals, revocations). Product.SubscriptionInfo.status — поточний статус підписки. Server-to-Server notifications (App Store Server Notifications V2) — єдиний надійний спосіб отримувати renewal події на бекенд, оскільки клієнт може бути offline у момент renewal.
Android Google Play Billing 6. PurchasesUpdatedListener для realtime-подій, queryPurchasesAsync при старті додатку для reconciliation. Real-time Developer Notifications через Pub/Sub — аналог Apple S2S notifications.
RevenueCat як middleware — знімає біль роботи з обома платформами. Єдиний webhook з нормалізованими подіями: initial_purchase, renewal, cancellation, billing_issue, product_change, refund. Webhooks доставляються на бекенд з retry при помилці. Для більшості проєктів RevenueCat — правильний вибір: SDK на клієнті + webhook на сервері. Порівняння підходів представлено в таблиці.
| Підхід | Час інтеграції | Гнучкість | Надійність |
|---|---|---|---|
| Тільки нативні S2S | 3–4 тижні | Максимальна | Висока (власний retry) |
| RevenueCat + нативні | 1 тиждень | Достатня | Висока (вбудований retry) |
RevenueCat інтеграція займає в 3–4 рази менше часу, ніж нативна, що підтверджено на 20+ проєктах.
Чому важлива декомпозиція MRR?
MRR (Monthly Recurring Revenue)
MRR = сума щомісячної нормалізованої виручки від усіх активних підписок. Річні підписки діляться на 12 (не сумуються цілком у місяць оплати).
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 за рухом: New MRR (нові підписники), Expansion MRR (upgrade), Contraction MRR (downgrade), Churned MRR (скасування), Reactivation MRR. Сумарна зміна = Net New MRR. Ці цифри говорять, звідки росте і куди витікає виручка. За даними SaaS Capital, компанії, що відстежують Net New MRR, в 1.3 рази швидше знаходять точки зростання.
Net New MRR — різниця між новим і втраченим MRR. Позитивне значення свідчить про зростання, негативне — про проблеми з утриманням або залученням. Регулярний моніторинг цієї метрики дозволяє вчасно скоригувати стратегію ціноутворення чи маркетингу.
Churn Rate
Дві версії — не плутай їх:
Revenue Churn = Churned MRR / MRR початок періоду. Показує втрату виручки. User Churn = Скасовані підписки / Активні підписки початок періоду. Показує втрату користувачів.
Revenue Churn важливіший для SaaS. Якщо upsell працює добре, User Churn може бути 5%, а Revenue Churn — від'ємним (Negative Churn) за рахунок expansions. Зниження User Churn на 5% може збільшити LTV до 1.6 рази.
ARPU (Average Revenue Per User)
ARPU = MRR / Активні підписники. Рахувати потрібно за когортами, не глобально: ARPU когорти поточного періоду vs ARPU попередньої когорти покаже, чи покращилася якість залучення.
Trial Conversion Rate
(Користувачі, які перейшли з trial на платний) / (Користувачі, які почали trial). Рахуємо за когортою — trial почався в період X, через 7/14/30 днів перевіряємо conversion. RevenueCat дає готовий trial_conversion event.
Дашборд і сховище
Сировинні події підписок → ETL в аналітичне сховище (BigQuery, ClickHouse, Redshift). Агреговані метрики перераховуються батчем (щоденно або щогодини для свіжих даних) і кешуються в Postgres або Redis для API.
Мобільний дашборд (admin) відображає: MRR з трендом (спарклайн за 90 днів), Active Subscribers, Churn Rate, ARPU, Trial Conversion. Cohort retention chart — класична трикутна таблиця, де рядки = когорти за місяць старту, стовпці = місяці після старту, комірки = % тих, хто залишився.
На Flutter: fl_chart для лінійних графіків і DataTable для когортної матриці. На iOS: Swift Charts + UICollectionView з compositional layout.
| Когорта | Місяць 1 | Місяць 2 | Місяць 3 |
|---|---|---|---|
| Січень | 100% | 65% | 48% |
| Лютий | 100% | 68% | 50% |
Dunning flow для зниження involuntary churn
До 20–40% churn у підписних додатках — involuntary: карта прострочена, недостатньо коштів. App Store/Google Play автоматично повторюють спроби кілька днів, але якщо не конвертувало — підписка скасовується. Втрати від involuntary churn для додатку з 10 000 підписників і ARPU $10 можуть досягати $200 000 на рік.
Dunning flow на клієнті: при отриманні billing_issue event показуємо in-app повідомлення з CTA «Оновити спосіб оплати». На iOS — пряме посилання в налаштування підписки через ManagedSettingsStore або deep link itms-apps://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions. На Android — BillingClient.launchBillingFlow з PRODUCT_DETAILS для update payment.
Правильно налаштований dunning може повернути 15–25% involuntary churners. Для додатку з 10 000 підписників і ARPU $10 це економія від $15 000 до $25 000 щомісячно.
ETL pipeline для метрик
Покроково:
- Збираємо webhook-події від RevenueCat або нативних S2S у чергу (Pub/Sub, SQS).
- Пишемо стрімінгову обробку (наприклад, на Go або Python) для парсингу та валідації.
- Записуємо в сиру таблицю BigQuery/ClickHouse з партиціонуванням за датою.
- Щоденно запускаємо агрегації: MRR, Churn, ARPU за когортами.
- Кешуємо результати в Postgres і віддаємо через API дашборду.
Цей пайплайн обробляє мільйони подій без втрат і дає актуальні цифри із затримкою не більше 5 хвилин.
Що входить в роботу: deliverables
Повний перелік робіт
- Аудит поточного event tracking (доступ до коду, конфігів, логів)
- Інтеграція RevenueCat або нативних S2S/RTDN сповіщень
- Побудова ETL pipeline (BigQuery/ClickHouse)
- Реалізація аналітичних запитів (MRR, Churn, ARPU, LTV)
- Розробка мобільного дашборду (Flutter/Swift)
- Налаштування dunning flow для iOS та Android
- Документація по метриках і дашборду
- Доступ до репозиторію та дашборду на staging
- Навчання команди роботі з аналітикою (1 година)
Процес роботи
Аудит поточного event tracking → інтеграція RevenueCat або нативних S2S notifications → побудова ETL pipeline → реалізація аналітичних запитів → розробка дашборду → налаштування dunning flow → A/B тести ціноутворення на основі ARPU-даних. Отримайте консультацію — ми запропонуємо оптимальне рішення під ваш стек.
Орієнтири за термінами
RevenueCat інтеграція + базові метрики MRR/Churn/ARPU в дашборді — 1 тиждень. Повна система з cohort retention, декомпозицією MRR, dunning flow та передбаченням churn — 4–6 тижнів. Вартість розраховується індивідуально після аналізу вимог.
| Метрика | Формула | Періодичність перерахунку |
|---|---|---|
| MRR | Σ нормалізованої виручки активних підписок | Щоденно |
| User Churn Rate | Скасування / Активні початок періоду | Щомісячно |
| Revenue Churn Rate | Churned MRR / MRR початок періоду | Щомісячно |
| ARPU | MRR / Активні підписники | Щоденно |
| Trial Conversion | Конвертували trial / Почали trial | За когортою через N днів |
| LTV | ARPU / Revenue Churn Rate | Щомісячно |
Аналіз виручки від підписок — основа для прийняття рішень. Отримайте консультацію з налаштування аналітики підписок. Наші сертифіковані фахівці (сертифікати Apple та Google) мають понад 8 років досвіду у підписних моделях, гарантуючи якість та точність даних. Замовте аудит вашої поточної аналітики підписок — ми виявимо точки зростання та втрат.







