Александр Руин

Консультант по проектированию AI‑систем

Александр Руин — консультант по проектированию систем. Помогаю спроектировать архитектуру, оценить риски и выстроить прозрачный процесс — от выбора технологий до сопровождения. Рутину берут на себя AI‑исполнители. Направления: автоматизация, интеграции, AI‑продукты.

Аналитика подписок 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 строками.

Аналитика подписок SaaS дашборд MRR, churn и LTV

Ключевые факты

  • 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.

Смотрите также

Часто задаваемые вопросы

Можно просто взять 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
  • Автоматическое обновление и рассылка отчётов

Для кого подходит:

Руководители малого и среднего бизнеса Маркетологи и аналитики Руководители отделов продаж Финансовые директора Продакт-менеджеры стартапов

Сценарии использования:

💡 Дашборд продаж с воронкой и KPI
💡 Маркетинговая аналитика (трафик, конверсии, ROI)
💡 Финансовый дашборд (выручка, расходы, прогнозы)
💡 Мониторинг операций (заказы, склад, логистика)
💡 CRM-аналитика (лиды, сделки, pipeline)
💡 Управленческие отчёты для руководителя
💡 Воронка продаж — визуализация этапов и конверсий
💡 KPI менеджеров по продажам — план/факт и рейтинг
💡 Сквозная аналитика — от рекламы до сделки
💡 Отчёт менеджера по продажам — ежедневный/недельный
💡 Дашборд отдела продаж — сводка по команде

📰 Промо-статьи наших решений

Изучите детальные обзоры наших технологических решений для различных отраслей:

🚀 Работаю до результата

Работаю до результата и бизнес-ценности, быстро корректирую подходы в процессе. Использую современный стек для качественного и быстрого решения задач.