Условие
В B2B-продукте есть «активные» (заходят 5+ раз в неделю) и «отписавшиеся». Кто-то говорит «у нас churn 5%/мес». Что упускается?
Решение
Три состояния, а не два
| Состояние | Признак | Что делать |
|---|---|---|
| Active | заходит регулярно, использует core | удерживать, продавать upsell |
| Disengaged | подписка платится, но активности мало | health score → CSM работает с risk |
| Churn (hard) | отменил подписку / не оплатил | win-back или goodbye |
| Churn (soft) | давно не заходил, но подписка ещё активна | критичный сегмент для PLG |
Disengaged — будущий churn. Видеть их сейчас = успеть удержать.
Health score
Композитный сигнал, обычно из 4-6 факторов:
health = w1 × login_frequency
+ w2 × core_action_count
+ w3 × team_size_growth
+ w4 × NPS
− w5 × support_tickets
− w6 × failed_payments
Веса калибруют против исторического churn — какие факторы предсказывают.
SQL: scoring
WITH metrics AS (
SELECT
account_id,
SUM(login_days_l28) AS logins,
SUM(core_action_l28) AS actions,
MAX(seats) - MIN(seats) AS seat_delta_30d,
COUNT(*) FILTER (WHERE event = 'support_ticket') AS tickets
FROM ...
GROUP BY account_id
)
SELECT
account_id,
CASE
WHEN logins >= 20 AND actions >= 50 THEN 'green'
WHEN logins >= 5 OR actions >= 10 THEN 'yellow'
ELSE 'red' -- disengaged
END AS health
FROM metrics;Что делать с disengaged
- Outreach от CSM.
- Re-onboarding emails.
- In-app prompts на core action.
- В крайнем случае — proactive discount.
Подводные камни
- Churn 5%/мес может скрывать 15% disengaged, которые уйдут через 2 месяца — следить за leading indicator (engagement) а не lagging (churn).
- Health score на пороге (зелёный/жёлтый/красный) теряет информацию. Хранить как continuous, выводить как сегмент.
- В B2B account-level и user-level метрики разные. «Account active» = «хотя бы один user активен».
- Failed payment ≠ churn — иногда просто истекла карта. Различать involuntary и voluntary churn.
- Reactivation: после churn вернувшийся юзер — это новый или старый? Решить заранее.
Эталонный ответ
Churn — это не два состояния «active/churned», а минимум четыре: active, disengaged, soft churn, hard churn. Health score из engagement-метрик предсказывает будущий churn — работать с disengaged до того, как ушли.