Что: Нетто выручка = paid + extended − cancelled (возвраты).
Зачем: Главный показатель бизнеса. Доля MRR показывает вес рекуррентных платежей: чем выше, тем сильнее зависимость от автопродлений.
Расчёт: SUM(sub_paid) по user_logs, action IN (paid, extended, cancelled); cancelled хранится с отрицательным sub_paid. Тестовые аккаунты исключены.
| Месяц | Нетто | MoM% | Доля MRR |
|---|---|---|---|
| Янв 26 | 495 117 ₽ | +10.7% | 83.8% |
| Фев 26 | 425 996 ₽ | -14.0% | 84.7% |
| Мар 26 | 534 362 ₽ | +25.4% | 85.6% |
| Апр 26 | 605 580 ₽ | +13.3% | 77.0% |
| Май 26 | 733 272 ₽ | +21.1% | 70.8% |
| Июн 26 | 900 336 ₽ | +22.8% | 67.6% |
Рекордная выручка 900 336 ₽ (+22.8% MoM) — второй месяц подряд исторический максимум. Рост обеспечен обоими источниками: MRR (extended) +17% к маю и новые платежи +38% (300K vs 216K). Доля MRR снизилась до 67.6% — здоровый сигнал диверсификации: бизнес меньше зависит от автопродлений.
| Месяц | MRR (ext) | Новые (paid) | Возвраты | Доля MRR |
|---|---|---|---|---|
| Янв 26 | 415 144 ₽ | 82 070 ₽ | -2 097 ₽ | 83.8% |
| Фев 26 | 360 892 ₽ | 67 692 ₽ | -2 588 ₽ | 84.7% |
| Мар 26 | 457 247 ₽ | 80 402 ₽ | -3 287 ₽ | 85.6% |
| Апр 26 | 466 020 ₽ | 141 657 ₽ | -2 097 ₽ | 77.0% |
| Май 26 | 519 473 ₽ | 216 595 ₽ | -2 796 ₽ | 70.8% |
| Июн 26 | 608 361 ₽ | 300 155 ₽ | -8 180 ₽ | 67.6% |
| Тариф | Кол-во | Выручка (gross) | Доля |
|---|---|---|---|
| 30 дней | 1 029 | 719 071 ₽ | 79.1% |
| 90 дней | 77 | 145 453 ₽ | 16.0% |
| 365 дней | 8 | 43 992 ₽ | 4.8% |
| Итого gross | 1 114 | 908 516 ₽ | 100% |
| Нетто (− возвраты) | — | 900 336 ₽ |
30-дневный тариф (699 ₽) — 79.1% gross выручки (719K). 90-дневный растёт: 145K vs 115K в мае (+26%), доля 16%. Годовой (44K) удвоился к маю, но при 8 платежах колебания нормальны. Нетто ниже gross на 8 180 ₽ возвратов.
| Месяц | Нетто | Плательщики | ARPU |
|---|---|---|---|
| Янв 26 | 495 117 ₽ | 600 | 825 ₽ |
| Фев 26 | 425 996 ₽ | 556 | 766 ₽ |
| Мар 26 | 534 362 ₽ | 661 | 808 ₽ |
| Апр 26 | 605 580 ₽ | 718 | 843 ₽ |
| Май 26 | 733 272 ₽ | 904 | 811 ₽ |
| Июн 26 | 900 336 ₽ | 1 107 | 813 ₽ |
ARPU 813 ₽ — стабилен (+0.2% к маю) несмотря на приток 315 новичков на базовый тариф. Отсутствие разбавления при +22% базы говорит, что часть новых берёт 90-дневный тариф, компенсируя эффект.
Что: Платящая база = уникальные плательщики за месяц; снимок = активные подписки прямо сейчас; новые платящие = первый в жизни платёж.
Зачем: Рост базы и притока новых показывает, перекрывает ли привлечение отток.
Расчёт: DISTINCT telegram_id с paid/extended и expiry_date ≥ начала месяца; новые — месяц, в который попадает MIN(datetime) первого paid.
| Месяц | Платящая база | MoM% |
|---|---|---|
| Янв 26 | 600 | +2.9% |
| Фев 26 | 556 | -7.3% |
| Мар 26 | 661 | +18.9% |
| Апр 26 | 714 | +8.0% |
| Май 26 | 902 | +26.3% |
| Июн 26 | 1 105 | +22.5% |
Текущая база: 1 320 активных подписок. Автопродление вкл (Active): 1 225 (92.8%) — высокая доля, здоровый платёжный профиль. Выкл (Inactive): 65 (4.9%). Без CP-статуса: 30 (2.3%, в основном годовые прямые оплаты).
| Месяц | Новые платящие | MoM% |
|---|---|---|
| Янв 26 | 90 | -3.2% |
| Фев 26 | 78 | -13.3% |
| Мар 26 | 98 | +25.6% |
| Апр 26 | 153 | +56.1% |
| Май 26 | 244 | +59.5% |
| Июн 26 | 315 | +29.1% |
315 новых платящих — максимум с сентября 2025 (382), четвёртый месяц роста подряд. Драйверы: Instagram owner-кампания (insta + insta_est = 159) и nonsub/weekly рассылка (78). Приток стабильно перекрывает отток.
| Источник | Новые | Доля |
|---|---|---|
| insta | 85 | 27.0% |
| nonsub | 78 | 24.8% |
| insta_est | 74 | 23.5% |
| referral | 35 | 11.1% |
| None | 21 | 6.7% |
| 2025 | 6 | 1.9% |
| 2026 | 5 | 1.6% |
| прочие | 11 | 3.5% |
| Источник | Новые | Доля |
|---|---|---|
| owner | 159 | 50.5% |
| weekly | 73 | 23.2% |
| referral | 35 | 11.1% |
| none | 22 | 7.0% |
| kcref | 5 | 1.6% |
| newyear | 5 | 1.6% |
| two_mode | 5 | 1.6% |
| прочие | 11 | 3.5% |
Что: Воронка: старт бота → заполнение анкеты → первый платёж за месяц.
Зачем: Показывает, на каком этапе теряются пользователи — вверху воронки или на оплате.
Расчёт: DISTINCT telegram_id по action started/onboarded и первому paid за месяц. Не когортная: старт и оплата могут быть в разных месяцах, конверсии оценочные.
| Месяц | Старт | Анкета | Оплата | S→O | O→P | S→P |
|---|---|---|---|---|---|---|
| Фев 26 | 314 | 0 | 78 | 0.0% | — | 24.8% |
| Мар 26 | 608 | 623 | 98 | 102.5% | 15.7% | 16.1% |
| Апр 26 | 967 | 576 | 153 | 59.6% | 26.6% | 15.8% |
| Май 26 | 1 604 | 1 405 | 244 | 87.6% | 17.4% | 15.2% |
| Июн 26 | 2 751 | 2 272 | 315 | 82.6% | 13.9% | 11.5% |
Рекордные 2 751 старта (+72% к маю). S→O здоров (82.6%), но узкое место — O→P всего 13.9%: большинство заполняет анкету, но не платит. Сквозная S→P упала до 11.5% (с 15.2%) — рекордный входящий поток разбавил конверсию. Метрика не когортная: старт и оплата могут быть в разных месяцах.
Что: Cohort churn = доля подписок с истёкшим в месяце сроком, которые не продлились (основная метрика); event-based failed-renewal — тот же смысл, но по expired-событиям (лагает); autorenew-off = отключившие автопродление; retention = доля когорты, активная сейчас.
Зачем: Отражает удержание и здоровье платёжного цикла. Declined-driven отделяет технический отвал (реджекты банка) от добровольных уходов.
Расчёт: cohort churn = не продлившие (users.expiry_date в месяце, без renewal после) / (продлившие extended + не продлившие); event-based = expired без recovery в 7-дн grace / (extended ∪ expired); autorenew-off = sub_removed / активная база; declined-driven = был sub_declined за 7 дней до отмены.
Основная метрика оттока. Когорта месяца = подписки, у которых срок (expiry_date) истекал в этом месяце. Не продлившиеся берутся из живой таблицы users, поэтому pending-лапсы конца месяца учитываются сразу и метрика не зависит от лага expired-событий. Свежий месяц слегка консервативен: поздние expiry в пределах 7-дн grace ещё могут восстановиться.
| Месяц | Продлили | Не продлили | Cohort churn |
|---|---|---|---|
| Янв 26 | 511 | 90 | 15.0% |
| Фев 26 | 479 | 90 | 15.8% |
| Мар 26 | 566 | 194 | 25.5% |
| Апр 26 | 566 | 180 | 24.1% |
| Май 26 | 666 | 138 | 17.2% |
| Июн 26 предв.* | 792 | 182 | 18.7% |
Churn июня 18.7% — в русле апреля-мая (24% / 17%), без аномалии. Событийный расчёт (§3.2) давал 3.2% из-за незакрытого grace-окна — это артефакт тайминга, а не реальное улучшение удержания. Финал может немного снизиться, когда поздне-июньские expiry отработают retry.
Событийный расчёт по expired-событиям. Занижается в первые дни после закрытия месяца, пока CloudPayments дорабатывает retry (~неделя): expired конца июня (34 vs 142 в мае) ещё не залогированы. Использовать только как исторический тренд.
| Месяц | Failed-renewal rate |
|---|---|
| Фев 26 | 20.4% |
| Мар 26 | 30.2% |
| Апр 26 | 23.1% |
| Май 26 | 15.7% |
| Июн 26 предв.* | 3.2% |
| Месяц | База | Voluntary | Declined | AR-off total | Voluntary % |
|---|---|---|---|---|---|
| Фев 26 | 2 124 | 129 | 30 | 7.5% | 6.1% |
| Мар 26 | 2 032 | 186 | 48 | 11.5% | 9.2% |
| Апр 26 | 1 837 | 178 | 53 | 12.6% | 9.7% |
| Май 26 | 1 655 | 93 | 107 | 12.1% | 5.6% |
| Июн 26 | 1 517 | 110 | 127 | 15.6% | 7.2% |
Autorenew-off вырос до 15.6% (с 12.0%) — выше порога 15%. Но voluntary-компонент лишь 7.3%; declined-driven (127, 53.6%) — второй месяц на аномально высоком уровне (было ~20% в фев-апр). Больше половины отписок — неуспешные списания (истёкшие карты, банковские реджекты), а не сознательный отказ. Требует разбора на стороне эквайринга.
Из 237 отмен 154 (65%) без указания причины, 127 — declined-driven (технические). Среди явных причин — цена (7) и пауза (6), оба на низком уровне. Массового недовольства продуктом в тексте отмен нет.
| Когорта | Размер | Retention (активны сейчас) |
|---|---|---|
| Ноя 25 | 176 | 27.8% |
| Дек 25 | 93 | 31.2% |
| Янв 26 | 90 | 32.2% |
| Фев 26 | 78 | 46.2% |
| Мар 26 | 98 | 51.0% |
| Апр 26 | 153 | 52.9% |
| Май 26 | 244 | 73.8% |
| Июн 26 | 315 | 97.5% |
Retention свежих когорт высок (май 73.8%, июнь 97.5%), но это возрастной эффект — они ещё не прошли цикл продления. Сравнимые по возрасту когорты H1 2026 (фев-апр: 46-53%) заметно выше H2 2025 (24-31%) — устойчивое улучшение product-market fit.
Что: Атрибуция выручки и новых платящих по источнику (utm_source) и кампании/партнёру (utm_camp).
Зачем: Показывает, какие каналы и партнёры приносят деньги и новых плательщиков.
Расчёт: SUM net по utm на момент платежа; числовые utm_source длиной 5+ цифр → referral. Возвраты (re-subscribed) в UTM почти не атрибутируются.
| Источник | Выручка | Доля |
|---|---|---|
| nonsub | 247 727 ₽ | 27.3% |
| None | 113 105 ₽ | 12.4% |
| referral | 103 000 ₽ | 11.3% |
| insta | 99 598 ₽ | 11.0% |
| insta_est | 86 998 ₽ | 9.6% |
| 2025 | 69 842 ₽ | 7.7% |
| 1111 | 51 801 ₽ | 5.7% |
| portfolio | 20 762 ₽ | 2.3% |
| прочие | 115 683 ₽ | 12.7% |
Топ-3 источника (nonsub 247K + None 113K + referral 103K) = 51% выручки. nonsub/weekly рассылка — крупнейший канал (27%). Instagram (insta 100K + insta_est 87K) = 187K (21%) — сильный платный канал. Доля unknown/None (~12.5%) — зона потери атрибуции.
| Источник | Выручка | Доля |
|---|---|---|
| weekly | 233 464 ₽ | 25.7% |
| owner | 186 596 ₽ | 20.5% |
| referral | 119 077 ₽ | 13.1% |
| None | 97 727 ₽ | 10.8% |
| kcref | 67 753 ₽ | 7.5% |
| newyear | 57 185 ₽ | 6.3% |
| rurikovaref | 26 637 ₽ | 2.9% |
| polovinkinaref | 24 956 ₽ | 2.7% |
| прочие | 95 121 ₽ | 10.5% |
По кампаниям: weekly-рассылка (233K), Instagram owner (186K) и реферальная система (referral 119K + kcref 68K + rurikovaref 27K + polovinkinaref 25K) формируют ядро выручки. Реферальная программа суммарно ~239K (26%) — значимый органический двигатель.
Что: Объём обращений в поддержку по месяцам и разбивка по категориям за месяц.
Зачем: Рост обращений и доминирующая категория сигнализируют о точках трения (биллинг, кастинги, анкета).
Расчёт: action = support с непустым user_msg; категории — ILIKE-эвристика по ключевым словам. Ratio к базе НЕ метрика friction — логируется любой входящий диалог, не только жалобы.
| Месяц | Сообщения | Уникальные |
|---|---|---|
| Фев 26 | 1 036 | 427 |
| Мар 26 | 1 944 | 933 |
| Апр 26 | 1 186 | 551 |
| Май 26 | 1 487 | 695 |
| Июн 26 | 1 614 | 820 |
1 614 обращений, 820 уник. (+18% к маю, пропорционально базе). Доминирует billing (827, 51%) — ожидаемо при росте объёма списаний и новых подписок. Продуктовых жалоб (кастинги) лишь 93 (6%) — качество мэтчинга не вызывает массового трения. Ratio к базе (~74%) не метрика friction: action support логирует любой входящий диалог.
support логирует любой входящий диалог, а не только жалобы. Доминирует биллинг (51% сообщений), что коррелирует с ростом объёма списаний.expiry_date — после отработки, для чистого сравнения с маем.SUM(sub_paid) по action IN ('paid', 'extended', 'cancelled'). Исключены тестовые аккаунты.user_logs — уникальные telegram_id с оплатой и expiry_date >= month_start.extended ∪ expired, числитель = expired без recovery в 7-дневный grace.sub_removed за месяц. ~23% — declined-driven (involuntary). Voluntary-only rate на ~4-5pp ниже.first_paid в данном месяце, retention = expiry_date >= today.action = 'support' с непустым user_msg. Категоризация — ILIKE-эвристика по ключевым словам. Ratio = уникальные обратившиеся / платящая база.utm_source и utm_camp на момент первого paid-события пользователя.