Аналитика подписок SaaS 2026: MRR, churn и LTV без BI-проекта
Основателю SaaS обычно нужен не «ещё один красивый график», а ответ на четыре вопроса: какой MRR на конец месяца, сколько денег потеряли из-за churn, где растёт expansion и какие когорты перестают платить раньше нормы. Если эти вопросы закрываются разными файлами Stripe, GA4, CRM и Excel, на созвоне с инвестором начинается спор о формуле, а не разговор о росте.
SimpleDashboard собирает первый дашборд аналитики подписок из CSV/Excel за 5 минут: загрузили выгрузку биллинга, описали правила расчёта, получили MRR, ARR, churn, LTV, ARPU и когорты на одном экране. Но важная часть работы не в AI-графиках, а в договорённости о методике: что делать с trial, годовой оплатой, unpaid invoices, возвратами, dunning, купонами и usage-based строками.

Ключевые факты
- MRR нельзя считать как «деньги, пришедшие на счёт»: Stripe, Chargebee и Recurly отдельно подчёркивают разницу между recurring revenue, платежами, payout и бухгалтерской выручкой.
- Для Stripe Billing базовая логика MRR строится вокруг активных и
past_dueподписок, но исключает trial, налоги, free plans и usage-based продукты;canceledиunpaidуже не должны раздувать MRR. - Годовые планы нужно нормализовать помесячно: подписка 120 000 ₽/год даёт 10 000 ₽ MRR, а не всплеск 120 000 ₽ в месяце оплаты.
- Churn нужно разделять минимум на logo churn, gross MRR churn, net MRR churn и involuntary churn. Иначе отмена из-за плохого продукта и потеря из-за expired card выглядят одинаково.
- GA4/BigQuery полезны для поведения до churn, но не являются источником финансовой истины: GA4 экспортирует event-level данные, обновляет дневные таблицы с задержкой до 3 дней и требует связки с billing/customer ID.
- Стоимость SimpleDashboard: 5 000 ₽/мес за регулярный дашборд или 30 000 ₽ разово за настройку типового отчёта.
В нашем тесте на типовой выгрузке подписочного продукта первый конфликт был не в визуализации, а в определении статуса. В CSV было 18 подписок past_due, 7 canceled, 3 возврата и 2 годовых плана со скидкой. Если считать только успешные платежи, MRR выглядел выше на 14%; если считать все активные строки без нормализации годовых планов, график давал ложный скачок в месяце оплаты. Поэтому перед дашбордом мы фиксируем правила расчёта, а уже потом строим графики.
Что должно быть в дашборде подписок
| Блок | Метрика | Зачем нужна | Минимальный источник |
|---|---|---|---|
| Revenue | MRR, ARR, New MRR, Expansion MRR, Contraction MRR, Churn MRR | Видно рост, апгрейды и потери отдельно | Subscriptions + invoices |
| Retention | Logo churn, gross MRR churn, net MRR churn | Не смешивать уход клиентов и изменение выручки | Subscriptions, cancellation date |
| Cohorts | Retention по месяцам старта оплаты | Видно, какие когорты ломаются после 1-3 месяцев | Customer ID, first paid date |
| Unit economics | ARPU/ARPA, LTV, LTV:CAC | Проверка окупаемости привлечения | Billing + CAC table |
| Dunning | Failed payments, recovered payments, involuntary churn | Отделить продуктовый churn от платёжных проблем | Invoice/payment status |
| Product behavior | Activation, usage, last event before churn | Понять почему уходит когорта | GA4/BigQuery или product events |
Для раннего SaaS обычно достаточно 5-7 KPI на главном экране: MRR, net new MRR, gross MRR churn, net revenue retention, active paying customers, failed payment MRR, runway. Детальные таблицы по тарифам, каналам и когортам лучше держать на отдельных вкладках, иначе дашборд превращается в BI-свалку.
Формулы и caveats: где чаще всего ломается MRR
MRR. Рабочая формула для фиксированных подписок: MRR = сумма monthly-normalized recurring charges по активным платящим подпискам. Месячный тариф берётся как есть, годовой делится на 12, квартальный - на 3. Налоги, разовые платежи, one-time setup fee и чистый usage-based revenue лучше показывать отдельно.
New MRR. MRR клиентов, которые впервые начали генерировать положительный recurring revenue в периоде. Trial без оплаты не должен попадать в New MRR.
Expansion MRR. Рост MRR от апгрейдов, увеличения seats, add-ons или перехода на более дорогой тариф. Если годовой план даёт меньше monthly-normalized MRR, но больше total contract value, это нужно пометить в комментарии к метрике, а не прятать в графике.
Contraction MRR. Снижение MRR из-за downgrade, уменьшения seats, купонов или pause. Chargebee в своих документах объединяет downgrade, pause и cancellation в gross MRR churn; это удобно для revenue risk, но для продуктового анализа pause лучше смотреть отдельно.
Churn MRR. Потерянный recurring revenue от отменённых или unpaid подписок. Для Stripe важно заранее выбрать churn recognition: считать churn в момент отмены или в конце оплаченного периода. Оба подхода допустимы, но смешивать их в одном графике нельзя.
LTV. Быстрая формула LTV = ARPA × gross margin / revenue churn rate работает только при стабильной марже и достаточно предсказуемом churn. Для молодых продуктов надёжнее смотреть когорты: сколько выручки принесла когорта за 1, 3, 6 и 12 месяцев после первой оплаты.
Риск-таблица перед запуском аналитики подписок
| Риск | Как проявляется | Что сделать в SimpleDashboard |
|---|---|---|
| Stripe payout считают выручкой | Деньги в банке не сходятся с MRR, годовые планы дают пики | Разделить payout, billed revenue, recognized revenue и MRR |
| Trial попал в MRR | Бесплатные пользователи раздувают growth-график | Включать только подписки с положительным recurring revenue |
| Annual plans не нормализованы | Один платёж за год ломает месячный график | Делить годовую цену на 12 и хранить отдельный cash-flow график |
| Refunds и disputes скрыты | MRR выглядит стабильным, но cash и NRR падают | Показывать refunds/disputes отдельной строкой и не смешивать с churn |
| Failed payments смешаны с добровольным churn | Команда чинит продукт, хотя проблема в dunning | Отдельный блок involuntary churn: failed, recovered, expired card |
| Несколько валют суммируются напрямую | MRR в USD/EUR/RUB складывается без курса | Конвертировать по курсу даты инвойса или держать валюты отдельно |
| GA4 и billing не связаны | Видно поведение, но не видно платящего клиента | Завести стабильный customer_id / user_id для связки событий и подписок |
| Смена тарифа считается как новый клиент | New MRR завышен, expansion занижен | Считать по customer/subscription ID, а не по invoice ID |
Чек-лист данных для CSV
Перед загрузкой в @coderboxbot подготовьте одну или несколько таблиц:
customer_id- стабильный ID клиента, одинаковый в billing, CRM и product events.subscription_id- нужен, если один клиент может иметь несколько подписок.plan_name,billing_interval,quantity,unit_amount,currency.status- active, trialing, past_due, canceled, unpaid, paused или ваша внутренняя шкала.current_period_start,current_period_end,created_at,canceled_at.invoice_id,invoice_status,amount_paid,tax,discount,refund_amount.payment_failed_at,recovered_at- если хотите видеть dunning.acquisition_channelиfirst_paid_at- для когорт и CAC.
Минимальный дашборд можно собрать из date, customer_id, plan, amount, status, но для нормального churn-разбора этого мало. Без даты отмены, статуса инвойса и признака failed payment вы получите красивый график, который не объясняет причину потерь.
3 шага к SaaS-дашборду через SimpleDashboard
Шаг 1. Выгрузите данные. В Stripe можно экспортировать CSV из Dashboard Payments, а для subscription analytics лучше брать subscriptions/invoices reports или API/Sigma, если нужен повторяемый контур. В Paddle/ProfitWell, Chargebee или Recurly выгружайте MRR movements, subscriptions, invoices и failed payments.
Шаг 2. Зафиксируйте методику. Напишите правила прямо в запросе: «MRR считать по active и past_due paid subscriptions, annual делить на 12, trial/free/tax/one-time/usage не включать, churn признавать в canceled_at, failed payments показывать отдельно».
Шаг 3. Загрузите CSV и проверьте аномалии. SimpleDashboard построит KPI-карточки, MRR bridge, график churn, cohort heatmap и таблицу ошибок. Перед отправкой инвестору проверьте 5 строк: самый большой annual plan, последний cancel, самый крупный refund, клиента с failed payment и пользователя, который сменил тариф.
Пример запроса:
Сделай дашборд аналитики подписок SaaS: MRR/ARR по месяцам, New/Expansion/Contraction/Churn MRR, logo churn, gross и net MRR churn, failed payment MRR, cohort retention по месяцу первой оплаты, LTV по тарифам. Annual plans нормализуй помесячно, trial/free/tax/one-time/usage исключи из MRR, refunds покажи отдельно.
Когда нужен не SimpleDashboard, а полноценный BI-контур
SimpleDashboard подходит для первого управленческого слоя, проверки методики, отчёта инвестору, регулярного founder dashboard и продуктовой диагностики. Но если у вас несколько продуктовых линий, multi-currency revenue recognition, ASC 606/IFRS-15 отчётность, granular permissions, data lineage и ежедневная сверка с бухгалтерией, нужен отдельный warehouse и BI-проект.
Практичный компромисс: начать с CSV-дашборда, согласовать определения MRR/churn, найти ошибки в данных, а затем перенести уже проверенную методику в BigQuery, PostgreSQL, dbt, Metabase, Power BI или Looker Studio. Так вы не тратите месяц на витрину, пока команда ещё спорит, считать ли past_due как active MRR.
Смотрите также
- Дашборд SaaS-метрик: MRR, Churn и LTV без Baremetrics
- Дашборд для стартапа: unit-экономика, MRR, runway
- KPI дашборд: мониторинг ключевых показателей
- Финансовый дашборд: выручка, расходы и прибыль
Часто задаваемые вопросы
Можно просто взять MRR из Stripe Dashboard? Да, если вас устраивают настройки Stripe Billing Analytics и вы не смешиваете источники. Но для управленческого дашборда обычно нужно рядом показать failed payments, refunds, product usage, CAC и когорты, а это уже требует объединения нескольких выгрузок.
Почему Stripe MRR может не совпадать с Chargebee, Recurly или Paddle? У платформ отличаются настройки: включать ли failed invoices, discounts, multi-currency conversion, metered usage, pause, churn recognition и deleted subscriptions. Поэтому сначала фиксируется словарь метрик, потом сравниваются цифры.
Что считать нормальным churn? Универсальной нормы нет. Сравнивать можно только продукты с похожим ACV, сегментом, контрактами и стадией. Для принятия решений полезнее смотреть динамику своих когорт, причины churn и разницу gross vs net revenue retention.
GA4/BigQuery можно использовать для churn analytics?
Да, но как слой поведения: activation, usage, last active date, feature adoption. Финансовые метрики берите из billing. В GA4 BigQuery события лежат в таблицах events_YYYYMMDD и могут дозаписываться до 3 дней, поэтому сверка с биллингом должна учитывать задержку.
Нужен ли программист? Для первого CSV-дашборда - нет. Для регулярного автосбора из Stripe/Paddle/Chargebee, product DB и GA4 BigQuery нужен API или ETL, но методику расчёта лучше всё равно проверить на CSV до автоматизации.
Стоимость — 5 000 ₽/мес. Напишите в Telegram: @coderboxbot — соберём SaaS-дашборд под ваш биллинг.
Попробовать бесплатно → | SimpleDashboard
Источники:
- Stripe Billing Analytics: definitions for MRR, churn, active subscribers and downloadable reports: https://docs.stripe.com/billing/subscriptions/analytics
- Stripe subscription statuses and behavior for
active,past_due,canceled,unpaid,trialing: https://docs.stripe.com/billing/subscriptions/overview - Stripe Support: exporting payment data from Dashboard to CSV: https://support.stripe.com/questions/exporting-payment-data
- Chargebee Docs: Monthly Recurring Revenue, annual normalization, gross MRR churn components: https://www.chargebee.com/docs/billing/2.0/reports-and-analytics/monthly-recurring-revenue
- Recurly Docs: Monthly Recurring Revenue dashboard, non-GAAP caveat, failed invoices, discounts, taxes and usage-based exclusions: https://docs.recurly.com/docs/monthly-recurring-revenue
- Paddle Developer Docs: ProfitWell Metrics, subscription analytics, MRR, churn and cohorts: https://developer.paddle.com/concepts/profitwell-metrics
- Google Analytics Help: GA4 BigQuery Export schema,
events_YYYYMMDD, intraday tables and late-arriving events: https://support.google.com/analytics/answer/7029846 - Community signal, not primary evidence: r/SaaS discussion on Stripe churn tracking and involuntary churn: https://www.reddit.com/r/SaaS/comments/1r17s6n/how_are_you_tracking_stripe_churn_in_earlystage/
- Community signal, not primary evidence: r/SaaS discussion on MRR/churn calculation from Stripe exports: https://www.reddit.com/r/SaaS/comments/1r73wbk/how_do_you_calculate_mrr_and_churn_from_stripe/
- Community signal, not primary evidence: r/SaaS discussion on why Stripe payouts are not SaaS revenue: https://www.reddit.com/r/SaaS/comments/1s06mdf/why_stripe_payouts_revenue_common_saas_accounting/
Для статьи использован AI-ассистент для структуры, сверки источников и проверки полноты; финальные формулировки, список caveats MRR/churn и редакционную проверку выполнил Александр Руин, основатель habab.ru. Обновлено: 2026-05-05.
О сервисе "AI-конструктор бизнес-дашбордов"
Платформа для создания аналитических дашбордов через AI-чат. Загрузите CSV/Excel или подключите API, опишите какие метрики нужны — получите готовый дашборд с графиками, KPI и фильтрами. Без программирования, за минуты.
Ключевые преимущества:
- Не нужен программист или BI-аналитик
- Дашборд готов за минуты, а не за недели
- AI сам предлагает подходящие визуализации
- Данные остаются на вашем сервере
- Интеграция с любыми источниками через API
- Автоматическое обновление и рассылка отчётов
Для кого подходит:
Сценарии использования:
📰 Промо-статьи наших решений
Изучите детальные обзоры наших технологических решений для различных отраслей:
🚀 Разработка и автоматизация
- Автоматизация холодных продаж в криптопроектах
- AI-Assisted Development
- AI CRM Constructor: Конструктор CRM под ваш бизнес
- Парсер лидов с FL.ru
- Разработка Платформы для Автоматизации Найма Переводчиков
- Разработка WhatsApp Business Автоматизации под ключ
- Корпоративная Платформа Обмена Изображениями
- AI Quality Assurance — контроль качества AI-ответов
- Интеграция AMOCRM, Excel и Google Drive
- SimpleCrypto — AI-конфигуратор крипто-кошелька
- Синхрон1С - Автоматизация 1С без программиста
- SimpleReview — Chrome-расширение для автоматического исправления ошибок сайта
- Разработка Telegram Mini App с Лутбоксами
- YouTube-Telegram Скрапер для Стартапов
📈 Бизнес и автоматизация
- Разработка Telegram Ботов под ключ
- YandexDirect MCP сервер
- Корпоративные решения голосового ввода с ИИ
- Веб-версия аналитического дашборда для телефонии
- Платформа управления Telegram рекламой
- Bitcoin Mempool Explorer
- Презентационный сайт по брендбуку
- Разработка Платформы Прогнозов на Спорт по Модели GoalBet
- Обучающий кабинет
- Корпоративная система мониторинга медиа и аналитики
- Администрирование серверов
- Криптовалютный AML-чекер бот
- Новостной радар для промышленности
- Счетчик калорий Telegram Bot
- Talk to Excel / Talk to SQL — AI-ассистент для табличных данных
- Разработка веб-приложений по дизайну
- Разработка системы анализа договоров с ИИ
- Презентационный сайт по брендбуку
- Синхронизация 1С с WordPress
💰 FinTech и медиа
Работаю до результата и бизнес-ценности, быстро корректирую подходы в процессе. Использую современный стек для качественного и быстрого решения задач.