юнит-экономикаLTVCACSaaSкогортный анализметрики

LTV / CAC / Payback Period: юнит-экономика SaaS пошагово с SQL

2026-06-02 14 мин

Если CAC у тебя больше LTV — бизнес умирает медленно. Если payback period 36 месяцев — venture-инвестор не глянет. Эти три метрики (LTV, CAC, Payback) — core юнит-экономики SaaS. На собесах в Yandex Cloud, Wildberries B2B, Tinkoff Business их спрашивают первым делом.

Этот гайд — практическое разложение трёх метрик с формулами, бенчмарками и SQL-запросами для cohort-расчёта.


Что такое юнит-экономика и зачем она аналитику

Юнит-экономика — это разложение выручки и расходов на единицу клиента (или подписки). Главный вопрос: «зарабатываем мы на одном клиенте или теряем?»

Если на одного клиента в среднем зарабатываем больше, чем тратим на его привлечение и обслуживание — бизнес масштабируется. Если меньше — каждый новый клиент углубляет яму.

Для SaaS три метрики критичны:


CAC — Customer Acquisition Cost

Формула:

CAC = (Marketing Spend + Sales Spend) / New Customers Acquired

Период расчёта: обычно квартал или месяц. Месяц шумнее, квартал стабильнее.

Что включаем в spend:

Что НЕ включаем:

Пример SQL для blended CAC (PostgreSQL):

WITH spend_q AS (
  SELECT
    DATE_TRUNC('quarter', spend_date) AS q,
    SUM(amount) AS total_spend
  FROM marketing_spend
  WHERE channel IN ('paid_ads', 'sales_salary', 'tools')
  GROUP BY 1
),
new_customers_q AS (
  SELECT
    DATE_TRUNC('quarter', signup_date) AS q,
    COUNT(DISTINCT customer_id) AS new_customers
  FROM customers
  WHERE plan_after_signup != 'free'
  GROUP BY 1
)
SELECT
  s.q,
  s.total_spend,
  c.new_customers,
  ROUND(s.total_spend / NULLIF(c.new_customers, 0), 2) AS cac
FROM spend_q s
JOIN new_customers_q c USING (q)
ORDER BY s.q;

Где аналитики косячат

1. Считают CAC только по paid traffic. Если 60% клиентов приходят organic — CAC по paid сильно завышен относительно реальности.

2. Не разделяют по сегментам. Enterprise CAC может быть 50k₽, а SMB — 500₽. Усреднение скрывает проблемы.

3. Используют разную базу. Sales включают зарплаты в Q1, но не в Q2 — числа не сравнимы.


LTV — Lifetime Value

Простая формула (для подписочной модели):

LTV = ARPU × Gross Margin × (1 / Monthly Churn Rate)

Где:

Что значит «1 / churn»?

Это математическое ожидание срока жизни. Если churn = 5%/мес, среднее время жизни = 1 / 0.05 = 20 месяцев.

Пример SQL для LTV в ClickHouse:

WITH
  -- ARPU за период (3 месяца, чтобы сгладить)
  arpu_calc AS (
    SELECT
      avg(monthly_revenue) AS arpu
    FROM subscriptions_monthly
    WHERE month >= today() - INTERVAL 3 MONTH
  ),
  -- Monthly churn rate за тот же период
  churn_calc AS (
    SELECT
      sum(churned) / sum(active_start) AS monthly_churn
    FROM cohort_monthly
    WHERE month >= today() - INTERVAL 3 MONTH
  )
SELECT
  arpu.arpu AS arpu_rub,
  0.78 AS gross_margin,           -- из P&L
  churn.monthly_churn AS churn,
  ROUND(arpu.arpu * 0.78 / churn.monthly_churn, 0) AS ltv_rub,
  ROUND(1 / churn.monthly_churn, 1) AS lifetime_months
FROM arpu_calc arpu
CROSS JOIN churn_calc churn;

LTV pitfalls

1. Игнорируют gross margin. Считают LTV = ARPU / churn без учёта COGS. Для cloud-SaaS COGS может быть 30% (хостинг, инфра) — LTV без margin завышен.

2. Берут общий churn вместо когортного. Cohort-churn (доля ушедших из конкретной когорты за N месяцев) надёжнее, чем blended churn.

3. Не разделяют voluntary vs involuntary. Voluntary = клиент сам ушёл (продукт не понравился). Involuntary = карта истекла (тех. проблема). Влияют на разные команды.


Payback Period

Формула:

Payback Period = CAC / (ARPU × Gross Margin)

Это сколько месяцев нужно, чтобы клиент окупил расходы на своё привлечение.

Бенчмарки 2026 (источники: SaaSCapital, Bessemer State of SaaS):

КатегорияХорошоНормаПлохо
SMB SaaS<12 мес12–18>18 мес
Mid-market<18 мес18–24>24
Enterprise<24 мес24–36>36

Связь с венчурным финансированием

Investors смотрят payback потому, что он = чистый сигнал sustainability. Если payback > 24 месяцев для SMB, нужно либо снижать CAC (better targeting), либо растить ARPU (price increases, expansion), либо это nice-to-have бизнес, а не venture-scale.


Шаг 1: Посчитать CAC за последние 3 квартала

Возьми SQL выше, прогони по своим данным. Получи 3 числа.

Шаг 2: Посчитать LTV в той же когорте

ARPU × Gross Margin × (1 / Churn). Будь честным с churn — берёт средний за 6 месяцев, не за последний месяц.

Шаг 3: Соотнести

Шаг 4: Разрезать по сегментам

CAC и LTV сильно зависят от канала / сегмента / плана. Делай drill-down — где LTV/CAC лучшее? Туда направляй спенд.

Шаг 5: Защитить перед CFO

CFO спросит: «откуда брал ARPU?», «какой период churn'а?», «почему не считал organic?». Готовь ответы — это про честность методики, не про красивые цифры.


Главные ошибки (anti-patterns)

1. «Один LTV на всех». Реальный LTV сильно зависит от сегмента, тарифа, канала привлечения. Считай по cohort'ам и сравнивай.

2. «Payback < 6 месяцев — отлично». Возможно — но проверь, не слишком ли низкий CAC означает, что недоинвестируешь в рост. Иногда лучше payback 18 мес с большой growth-машиной, чем 3 мес с маленькой.

3. «Не учитывают expansion revenue». Если клиент тратит больше со временем (upsells, seats, usage) — LTV растёт нелинейно. Учитывай в формуле через NRR > 100%.


Частые вопросы

Какой LTV:CAC хороший?

3:1 — приемлемо. 4:1 и выше — отлично. <1:1 — ты сжигаешь деньги. >5:1 — возможно недоинвестируешь в growth (мог бы расти быстрее).

Как считать LTV когда есть expansion revenue?

Заменить ARPU на expanded ARPU = ARPU × NRR. Если NRR = 110% (классный SaaS), expanded ARPU = ARPU × 1.10 → LTV растёт пропорционально.

Что делать если payback period 30 месяцев?

Три рычага: (1) снижай CAC — better targeting, более узкие каналы; (2) расти ARPU — pricing увеличения, upsells, нерасполагающие плюшки; (3) снижай churn — onboarding, customer success, product улучшения.

Можно ли LTV считать просто как «средний месячный доход × средний срок жизни»?

Можно, но это gross LTV. Реальная экономика требует учёта gross margin — иначе ты завысишь LTV в 1.3–1.5×, что приведёт к плохим decisions по budget'у на CAC.

Что считать сначала — LTV или CAC?

CAC проще — спенд / клиенты. Начни с него, посчитай за квартал, сравни сегменты. LTV сложнее (надо знать churn, ARPU, margin) — но он критичнее для долгосрочных решений.


Связанные ресурсы

Источники

Готов считать unit economics на своих данных? Открой /metrics — там 368 метрик с формулами + примерами SQL. Или /sandboxes/bi — собери дашборд по LTV/CAC, AI оценит подход.

Метрики SaaS — практика
368 метрик с формулами + примерами SQL. 8 датасетов в BI-песочнице для тренировки расчётов unit economics.
Открыть метрики →