Туториалы Финансы

Sensitivity Analysis с AI: какой рычаг сильнее сдвигает runway стартапа — Churn или CAC?

Что такое sensitivity analysis?

Sensitivity analysis (анализ чувствительности) — количественный метод оценки того, как изменение одного входного параметра влияет на целевую выходную метрику при фиксации всех остальных переменных. В финансовом моделировании SaaS выходная метрика — это runway (месяцы до исчерпания денег), а входные параметры: churn rate, CAC, ARPU, burn rate, темп привлечения новых клиентов. Анализ строит рейтинг эластичности — tornado-диаграмму — показывающую, какой параметр имеет наибольший рычаг влияния на выживаемость бизнеса и заслуживает наиболее приоритетных инвестиций.

TL;DR

  • -Снижение месячного churn с 7% до 5% увеличивает LTV клиента на 40% — то же процентное снижение CAC даёт линейный, а не экспоненциальный эффект
  • -В модельном примере (B2B SaaS, MRR $45K, runway 14 месяцев) churn rate имеет размах 15+ месяцев против 7 месяцев у CAC при отклонении ±40%
  • -Churn действует через два механизма одновременно: прямые потери выручки плюс компаундинг сокращения базы — у CAC компаундинг-эффекта нет
  • -Monte Carlo симуляция на 10 000 прогонов показывает 28% вероятности runway < 12 месяцев даже при медианных базовых параметрах — этот риск невидим в single-point прогнозе
  • -Стратегия A (снижение churn 6%→4% через customer success) превосходит снижение CAC и рост привлечения: +6 месяцев runway, LTV/CAC ratio 1.95→3.51 к 12 месяцу

Снижение месячного churn с 7% до 5% увеличивает LTV клиента на 40%. Снижение CAC на те же 28% увеличивает LTV/CAC ratio линейно. Churn влияет на revenue экспоненциально, CAC — линейно. Sensitivity analysis показывает эту разницу в числах и помогает принять решение: куда направить ограниченный бюджет.

Статья разбирает методологию sensitivity analysis для SaaS-стартапа, даёт формулы, готовые промпты для AI-моделирования и таблицы сценариев. Всё на конкретном примере: B2B SaaS с MRR $45K, 320 клиентами, runway 14 месяцев.

Что такое sensitivity analysis и зачем он стартапу

Sensitivity analysis — метод оценки того, как изменение одного входного параметра влияет на выходную метрику при фиксации остальных. В контексте стартапа выходная метрика — runway (количество месяцев до исчерпания денег). Входные параметры — churn rate, CAC, ARPU, burn rate, конверсия.

Стартап оперирует в условиях неопределённости. Финансовая модель строится на допущениях: «churn будет 5%», «CAC снизим до $800». Sensitivity analysis проверяет, что произойдёт, если допущения окажутся неверными. Какой параметр при отклонении на 20% убивает runway быстрее всего?

Три практических применения:

Приоритизация инвестиций. Бюджет ограничен. Вложить $50K в снижение churn (улучшение onboarding, customer success) или в снижение CAC (оптимизация воронки, новые каналы)? Sensitivity analysis даёт количественный ответ.

Stress-тестирование модели. Инвестор спрашивает: «Что будет, если churn вырастет в полтора раза?» Вместо интуитивного ответа — таблица с точными цифрами по runway, MRR, cash balance.

Определение точек невозврата. При каком значении churn runway падает ниже 6 месяцев (критический порог для привлечения следующего раунда)?

Базовая модель: входные параметры и формулы

Для sensitivity analysis нужна работающая финансовая модель. Возьмём типичный B2B SaaS на ранней стадии.

Входные параметры

ПараметрЗначениеОписание
MRR$45,000Monthly Recurring Revenue
Клиенты320Активная база
ARPU$140.63MRR / Клиенты
Monthly Churn6%Доля уходящих клиентов в месяц
CAC$1,200Cost of Acquisition
Новые клиенты/мес25Органика + платные каналы
Monthly Burn$72,000Операционные расходы
Cash Balance$520,000Остаток на счёте

Формулы расчёта runway

Runway в простейшей форме:

Runway = Cash Balance / Net Burn
Net Burn = Monthly Burn - MRR

Для статической модели (MRR не меняется): $520,000 / ($72,000 - $45,000) = 19.3 месяца.

Но MRR меняется каждый месяц. Динамическая модель учитывает рост и отток:

MRR(t+1) = MRR(t) × (1 - Churn) + New_Customers × ARPU
Net_New_MRR = New_Customers × ARPU - MRR(t) × Churn
Cash(t+1) = Cash(t) + MRR(t) - Burn - New_Customers × CAC

Runway — номер месяца, в котором Cash(t) впервые становится отрицательным.

При базовых параметрах динамическая модель даёт runway 14 месяцев. Отличие от статической (19.3) объясняется расходами на привлечение: 25 клиентов × $1,200 = $30,000/мес дополнительного burn.

Промпт для построения базовой модели

Промпт для Claude или другой LLM, который генерирует помесячную финансовую модель:

Построй помесячную финансовую модель SaaS-стартапа на 24 месяца.

Входные параметры:
- Текущий MRR: $45,000
- Количество клиентов: 320
- ARPU: $140.63
- Monthly churn rate: 6%
- CAC: $1,200
- Новые клиенты в месяц: 25 (постоянно)
- Monthly burn rate: $72,000 (фиксированный)
- Cash balance: $520,000
- Marketing spend включён в burn rate

Для каждого месяца рассчитай:
1. Клиенты на начало месяца
2. Ушедшие клиенты (Churn × база)
3. Новые клиенты
4. Клиенты на конец месяца
5. MRR
6. Revenue - Burn - (New_Customers × CAC) = Net Cash Flow
7. Cash Balance (нарастающим итогом)

Определи месяц, когда Cash Balance станет отрицательным (runway).

Формат: таблица, округление до целых долларов.

Результат — таблица из 24 строк с помесячной детализацией. Runway при базовых параметрах: месяц 14.

One-way sensitivity analysis: один параметр за раз

One-way analysis варьирует один параметр, фиксируя остальные. Цель — измерить эластичность runway к каждому параметру.

Промпт для one-way sensitivity analysis

На основе базовой модели проведи one-way sensitivity analysis.

Варьируй каждый параметр отдельно, фиксируя остальные на базовых значениях.
Диапазон: от -40% до +40% с шагом 10%.

Параметры для анализа:
1. Monthly Churn Rate (базовое: 6%)
2. CAC (базовое: $1,200)
3. ARPU (базовое: $140.63)
4. New Customers per Month (базовое: 25)
5. Monthly Burn Rate (базовое: $72,000)

Для каждой комбинации рассчитай runway (месяц, когда cash = 0).

Формат: таблица с параметрами по строкам и отклонениями по столбцам.
Добавь колонку "Δ Runway" — разницу с базовым сценарием (14 мес).

Результаты: таблица эластичности runway

Параметр-40%-20%Base+20%+40%Размах
Churn Rate24+181411915+
CAC18161412117
ARPU91114172112
New Customers11121416187
Burn Rate211714121011

Размах (spread) — разница между runway при -40% и +40%. Чем больше размах, тем сильнее параметр влияет на runway.

Churn rate лидирует с размахом 15+ месяцев. При снижении churn на 40% (с 6% до 3.6%) runway превышает 24 месяца. При росте на 40% (до 8.4%) runway сокращается до 9 месяцев. CAC занимает последнее место с размахом 7 месяцев.

Почему churn влияет нелинейно

Churn действует через два механизма одновременно:

  1. Прямой эффект на revenue. Каждый ушедший клиент уносит ARPU навсегда. При churn 6% и 320 клиентах уходят 19 клиентов/мес ($2,672 MRR). При churn 8.4% — уходят 27 ($3,797 MRR).

  2. Компаундинг-эффект на базу. Потерянные клиенты уменьшают базу, из которой считается отток в следующем месяце. При высоком churn база сокращается быстрее, чем пополняется, создавая отрицательный Net New MRR.

Формула зависимости размера базы от времени:

Customers(t) = Customers(0) × (1 - Churn)^t + New/Churn × (1 - (1 - Churn)^t)

При Churn < New/Customers(0) база растёт. При Churn > New/Customers(0) — сокращается. Пороговое значение для нашей модели: 25/320 = 7.8%. Текущий churn 6% ниже порога, база медленно растёт. Но запас минимален.

CAC, напротив, влияет линейно: каждый дополнительный доллар в CAC увеличивает ежемесячный burn на фиксированную сумму (New_Customers × ΔCAC). Нет компаундинга, нет нелинейности.

Two-way sensitivity analysis: Churn × CAC

Two-way analysis варьирует два параметра одновременно. Результат — матрица, где каждая ячейка содержит runway для конкретной комбинации.

Промпт для two-way sensitivity analysis

Построй two-way sensitivity analysis: Churn Rate × CAC.

Значения Churn Rate (строки): 3%, 4%, 5%, 6%, 7%, 8%, 9%
Значения CAC (столбцы): $600, $800, $1,000, $1,200, $1,400, $1,600

Остальные параметры фиксированы на базовых значениях.
Для каждой комбинации рассчитай runway (месяцев до cash = 0).

Формат: матрица. Выдели зоны:
- Зелёная: runway > 18 месяцев
- Жёлтая: 12-18 месяцев
- Красная: < 12 месяцев

Матрица Churn × CAC

Churn \ CAC$600$800$1,000$1,200$1,400$1,600
3%24+24+24+24+2219
4%24+24+22191715
5%24+2118161413
6%201715141211
7%16141311109
8%1312111098
9%11109887

Базовый сценарий (Churn 6%, CAC $1,200) выделен жирным: 14 месяцев.

Паттерн: движение вверх по таблице (снижение churn) даёт больший прирост runway, чем движение влево (снижение CAC). Переход от Churn 6% к 4% при CAC $1,200 добавляет 5 месяцев. Переход от CAC $1,200 к $600 при Churn 6% добавляет 6 месяцев. Но снижение CAC вдвое — нереалистичный сценарий, тогда как снижение churn на 2 п.п. достижимо через улучшение продукта.

Tornado-диаграмма: визуализация влияния параметров

Tornado-диаграмма ранжирует параметры по силе влияния. Каждый параметр представлен горизонтальной полосой: левый край — runway при -20%, правый — при +20%.

Промпт для генерации tornado-диаграммы

На основе результатов one-way sensitivity analysis построй данные
для tornado-диаграммы.

Для каждого параметра при отклонении ±20% от базового значения
укажи:
- Runway при -20%
- Runway при +20%
- Абсолютный размах (разница)

Отсортируй по убыванию размаха.

Затем сгенерируй Python-код (matplotlib) для построения
tornado-диаграммы с:
- Горизонтальными полосами для каждого параметра
- Вертикальной линией на базовом значении (14 мес)
- Подписями значений на концах полос
- Цветовым кодированием: синий (благоприятное отклонение),
  красный (неблагоприятное)

Данные tornado-диаграммы

РангПараметрRunway при -20%Runway при +20%Размах
1Churn Rate18117
2Burn Rate17125
3ARPU11176
4New Customers12164
5CAC16124

Churn Rate — параметр №1. При отклонении всего на 20% runway меняется на 7 месяцев. У CAC размах 4 месяца при том же отклонении. Разница почти вдвое.

Python-код для tornado-диаграммы

import matplotlib.pyplot as plt
import numpy as np

params = ['CAC', 'New Customers', 'ARPU', 'Burn Rate', 'Churn Rate']
low = [16, 12, 11, 17, 18]   # runway при благоприятном отклонении
high = [12, 16, 17, 12, 11]  # runway при неблагоприятном отклонении
base = 14

fig, ax = plt.subplots(figsize=(10, 5))

for i, (param, lo, hi) in enumerate(zip(params, low, high)):
    favorable = max(lo, hi)
    unfavorable = min(lo, hi)
    ax.barh(i, favorable - base, left=base, height=0.5,
            color='#2196F3', alpha=0.8)
    ax.barh(i, unfavorable - base, left=base, height=0.5,
            color='#F44336', alpha=0.8)
    ax.text(favorable + 0.2, i, str(favorable), va='center', fontsize=10)
    ax.text(unfavorable - 0.5, i, str(unfavorable), va='center', fontsize=10)

ax.axvline(x=base, color='black', linewidth=1.5, linestyle='--')
ax.set_yticks(range(len(params)))
ax.set_yticklabels(params, fontsize=11)
ax.set_xlabel('Runway (months)', fontsize=12)
ax.set_title('Tornado Diagram: Sensitivity of Runway to ±20% Change',
             fontsize=13)
plt.tight_layout()
plt.savefig('tornado_runway.png', dpi=150, bbox_inches='tight')
plt.show()

Сценарный анализ: три стратегии роста

Sensitivity analysis показал, что churn — главный рычаг. Сравним три стратегии использования бюджета $50,000.

Промпт для сценарного анализа

Сравни три стратегии инвестирования $50,000 для SaaS-стартапа.
Базовые параметры: MRR $45K, 320 клиентов, ARPU $140.63,
churn 6%, CAC $1,200, 25 новых клиентов/мес,
burn $72K, cash $520K.

Стратегия A — "Снижение Churn":
- $50K на customer success (нанять CSM, улучшить onboarding)
- Ожидаемый эффект: churn снижается с 6% до 4% через 2 месяца
- Burn увеличивается на $4,200/мес (зарплата CSM)

Стратегия B — "Снижение CAC":
- $50K на оптимизацию воронки и контент-маркетинг
- Ожидаемый эффект: CAC снижается с $1,200 до $900 через 3 месяца
- Burn увеличивается на $2,000/мес (контент-специалист)

Стратегия C — "Рост привлечения":
- $50K на платную рекламу
- Ожидаемый эффект: новых клиентов вырастает с 25 до 35 через 1 месяц
- Burn увеличивается на $12,000/мес (рекламный бюджет)
- CAC растёт до $1,400 (менее эффективные каналы)

Для каждой стратегии построй помесячную модель на 24 месяца.
Сравни: runway, MRR на месяц 12, cumulative revenue,
клиентская база на месяц 12.

Результаты сравнения стратегий

МетрикаBaseA: Churn↓B: CAC↓C: Growth↑
Runway14 мес20 мес16 мес13 мес
MRR (мес 12)$48,200$62,400$50,100$53,800
Клиенты (мес 12)343444357383
Cumulative Revenue (12 мес)$554K$638K$572K$589K
LTV/CAC (мес 12)1.953.512.341.53

Стратегия A выигрывает по всем метрикам. Runway увеличивается на 6 месяцев. MRR к 12-му месяцу на 29% выше базового. LTV/CAC ratio почти удваивается — с 1.95 до 3.51. Это порог, выше которого инвесторы считают unit economics здоровой.

Стратегия C парадоксально сокращает runway на 1 месяц. Больше клиентов означает больше расходов на привлечение. При высоком churn новые клиенты уходят быстро, не успевая окупить CAC. Рост выглядит как прогресс, но сжигает cash быстрее.

Breakeven-анализ: критические пороги параметров

Breakeven-анализ определяет значения параметров, при которых runway достигает критических порогов.

Промпт для breakeven-анализа

Для базовой модели определи критические пороги каждого параметра.

Рассчитай значение каждого параметра, при котором:
1. Runway = 6 месяцев (критический минимум для fundraising)
2. Runway = 12 месяцев (минимальная зона комфорта)
3. Runway = 24 месяцев (целевой показатель)
4. Runway = бесконечность (Net Burn ≤ 0, самоокупаемость)

Параметры: Churn Rate, CAC, ARPU, New Customers, Burn Rate.
Остальные параметры — базовые.
Формат: таблица с порогами.

Таблица критических порогов

ПараметрRunway = 6 месRunway = 12 месRunway = 24 месBreak-even
Churn Rate10.2%7.1%3.8%2.1%
CAC$2,100$1,500$800$480
ARPU$95$120$165$195
New Customers8183545
Burn Rate$105K$82K$58K$47K

Текущий churn 6% находится между порогами 12 и 24 месяцев. Запас до критического порога (6 месяцев runway): 4.2 процентных пункта. Запас по CAC: $900. Churn ближе к опасной зоне в относительном выражении.

Для достижения самоокупаемости churn должен снизиться до 2.1%. Это амбициозная цель, но достижимая для B2B SaaS с устойчивым product-market fit. Медианный churn для B2B SaaS составляет 3–5% по отраслевым бенчмаркам (Benchmark Signal, SaaS Capital Index).

Monte Carlo симуляция: учёт неопределённости

Детерминированный sensitivity analysis предполагает, что все параметры, кроме варьируемого, фиксированы. В реальности все параметры флуктуируют одновременно. Monte Carlo симуляция моделирует тысячи сценариев со случайными отклонениями всех параметров.

Промпт для Monte Carlo симуляции

Напиши Python-код для Monte Carlo симуляции runway SaaS-стартапа.

Базовые параметры:
- MRR: $45,000, Клиенты: 320, ARPU: $140.63
- Churn: 6%, CAC: $1,200, New Customers: 25/мес
- Burn: $72,000, Cash: $520,000

Распределения параметров (нормальные, обрезанные):
- Churn: mean=0.06, std=0.015, min=0.01, max=0.15
- CAC: mean=1200, std=300, min=400, max=3000
- New Customers: mean=25, std=5, min=5, max=50
- ARPU: mean=140.63, std=20, min=80, max=250
- Burn: mean=72000, std=8000, min=50000, max=100000

Количество симуляций: 10,000
Горизонт: 24 месяца

Для каждой симуляции сэмплируй параметры один раз и рассчитай
runway (или 24+ если cash не кончается).

Выведи:
1. Гистограмму распределения runway
2. Медиану, P10, P25, P75, P90
3. Вероятность runway < 6 месяцев
4. Вероятность runway < 12 месяцев
5. Вероятность runway > 24 месяцев

Типичные результаты Monte Carlo (10,000 симуляций)

ПерцентильRunway
P108 мес
P2511 мес
Медиана (P50)14 мес
P7519 мес
P9024+ мес
  • Вероятность runway < 6 месяцев: ~4%
  • Вероятность runway < 12 месяцев: ~28%
  • Вероятность runway > 24 месяцев: ~18%

Медиана совпадает с детерминированной оценкой (14 месяцев). Но разброс значительный: в 28% симуляций runway оказывается меньше года. Это риск, который не виден в single-point forecast.

Correlation analysis внутри симуляции подтверждает результаты sensitivity analysis: корреляция между churn и runway составляет -0.72 (сильная отрицательная), между CAC и runway: -0.34 (умеренная). Churn объясняет вдвое больше вариации runway, чем CAC.

Как принять решение на основе sensitivity analysis

Шаг 1. Ранжировать параметры по влиянию. Tornado-диаграмма даёт ранг. В нашем примере: Churn > Burn > ARPU > New Customers ≈ CAC.

Шаг 2. Оценить управляемость каждого параметра. Не все параметры одинаково контролируемы. Burn rate меняется решением (сократить расходы). Churn требует продуктовых изменений — дольше, но эффект сильнее. ARPU зависит от готовности рынка платить.

Шаг 3. Построить матрицу «Влияние × Управляемость».

Высокая управляемостьНизкая управляемость
Высокое влияниеChurn, Burn RateARPU
Низкое влияниеCAC, New CustomersРыночные факторы

Приоритет — верхний левый квадрант: высокое влияние и высокая управляемость.

Шаг 4. Определить целевые значения. Из таблицы breakeven: для runway 18+ месяцев churn должен быть ≤ 4.5%. Текущий — 6%. Цель: снизить на 1.5 п.п. за 3 месяца.

Шаг 5. Выбрать стратегию и мониторить. Запустить инициативы по снижению churn. Повторять sensitivity analysis ежемесячно с обновлёнными данными. Отслеживать, сдвигается ли распределение runway в нужную сторону.

Связь с unit economics

Sensitivity analysis дополняет расчёт unit economics. Unit economics отвечает на вопрос «зарабатываем ли мы на клиенте?». Sensitivity analysis отвечает на вопрос «какой параметр unit economics влияет на выживание бизнеса сильнее всего?».

LTV напрямую зависит от churn: LTV = ARPU / Churn. При churn 6% LTV = $2,344. При churn 4% LTV = $3,516. Разница 50%. LTV/CAC при churn 4%: 2.93 vs 1.95 при churn 6%. Один параметр переводит unit economics из зоны риска в здоровую зону.

Чек-лист: sensitivity analysis для стартапа

  1. Построить базовую помесячную модель с текущими параметрами
  2. Провести one-way sensitivity analysis для 5–7 ключевых параметров
  3. Построить tornado-диаграмму для ранжирования параметров
  4. Провести two-way analysis для двух наиболее влиятельных параметров
  5. Определить breakeven-пороги для каждого параметра
  6. Запустить Monte Carlo симуляцию (10,000 итераций) для оценки вероятностей
  7. Построить матрицу «Влияние × Управляемость»
  8. Выбрать 1–2 параметра для фокусной работы
  9. Установить целевые значения на основе breakeven-таблицы
  10. Повторять анализ ежемесячно с актуальными данными

Все промпты работают с Claude, GPT-5.4, Gemini. Для Monte Carlo симуляции нужна Python-среда (локально или Google Colab). AI генерирует код, запуск и интерпретация — на стороне аналитика.


Нужна помощь с финансовым моделированием и sensitivity analysis для стартапа? Я помогаю стартапам внедрять AI-решения и строить продукты — belov.works.

FAQ

Как часто SaaS-стартап должен повторять sensitivity analysis?

Ежемесячно — заменяя прогнозы фактическими данными. Ценность накапливается со временем: первый запуск фиксирует базовые рейтинги эластичности, последующие показывают, действительно ли целевые рычаги двигаются. Если churn — ваш главный рычаг и вы инвестируете в customer success 60 дней, обновлённый анализ должен показать сужение полосы tornado-диаграммы — подтверждение того, что инициатива работает до того, как эффект отразится в выручке.

Применим ли sensitivity analysis до того, как у продукта появятся платящие клиенты?

Да, как инструмент проверки гипотез. Замените фактические метрики отраслевыми бенчмарками и данными сопоставимых компаний, а результаты воспринимайте как карту сценариев, а не прогноз. Ключевой вывод остаётся прежним: понимание того, какой параметр при ошибке создаёт наибольший риск. Стартап на пре-лонче, выяснивший, что бизнес чувствителен к CAC, сможет заранее приоритизировать органические каналы вместо платного привлечения.

В чём разница между sensitivity analysis и сценарным анализом?

Sensitivity analysis варьирует один параметр за раз для измерения эластичности — отвечает на вопрос «какая переменная важнее всего?». Сценарный анализ варьирует несколько параметров одновременно для моделирования связных будущих состояний — отвечает на вопрос «как выглядит бизнес при стратегии A против B?». Оба подхода есть в этой статье: one-way анализ и tornado-диаграмма — это sensitivity analysis; сравнение трёх стратегий (снижение churn vs снижение CAC vs рост привлечения) — сценарный анализ. Методы дополняют друг друга и должны применяться совместно перед любым решением о распределении капитала.