Как посчитать Quick Ratio в SQL

Проверь себя · 1/3разбор после ответа
Без оконных функций нужно для каждого дня посчитать изменение выручки по сравнению с предыдущим днём. Таблица daily_revenue содержит date и revenue. Как это сделать?

Зачем Quick Ratio

В SaaS Quick Ratio — индикатор эффективности роста. Если QR < 1, вы теряете MRR быстрее, чем добавляете. Если QR > 4 — рост здоровый. Метрику любят венчурные инвесторы при оценке SaaS-стартапов.

Формула Quick Ratio

Quick Ratio = (New MRR + Expansion MRR) / (Churned MRR + Contracted MRR)

Числитель — добавленный MRR (new + expansion). Знаменатель — потерянный MRR (churn + contraction). Чем выше, тем лучше.

Базовый расчёт

Данные: mrr_movements(month, type, amount) где type ∈ {new, expansion, churn, contraction}.

SELECT
    month,
    SUM(CASE WHEN type = 'new' THEN amount ELSE 0 END) AS new_mrr,
    SUM(CASE WHEN type = 'expansion' THEN amount ELSE 0 END) AS expansion_mrr,
    SUM(CASE WHEN type = 'churn' THEN amount ELSE 0 END) AS churned_mrr,
    SUM(CASE WHEN type = 'contraction' THEN amount ELSE 0 END) AS contracted_mrr,
    (SUM(CASE WHEN type = 'new' THEN amount ELSE 0 END)
     + SUM(CASE WHEN type = 'expansion' THEN amount ELSE 0 END))::NUMERIC
        / NULLIF(SUM(CASE WHEN type IN ('churn','contraction') THEN amount ELSE 0 END), 0)
        AS quick_ratio
FROM mrr_movements
GROUP BY month
ORDER BY month;

Интерпретация

Quick Ratio Оценка
< 1 MRR падает. Критично.
1–2 Рост стагнирует.
2–4 Здоровый рост.
4+ Отлично, любят инвесторы.

Bessemer Cloud Index относит 4+ к SaaS топового уровня.

Закрепи формулу quick ratio в Карьернике
Запомнить надолго — 5 коротких сессий с задачами на эту тему. Бесплатно
Тренировать quick ratio в Telegram

По сегментам

WITH segmented AS (
    SELECT
        plan_type,
        month,
        SUM(CASE WHEN type IN ('new','expansion') THEN amount ELSE 0 END) AS added,
        SUM(CASE WHEN type IN ('churn','contraction') THEN amount ELSE 0 END) AS lost
    FROM mrr_movements
    GROUP BY plan_type, month
)
SELECT
    plan_type,
    month,
    added::NUMERIC / NULLIF(lost, 0) AS qr
FROM segmented
ORDER BY plan_type, month;

Частые ошибки

Ошибка 1. Считать без contraction. Даунгрейд пользователей — это тоже потерянный MRR. Включайте его.

Ошибка 2. Считать без expansion. Апгрейд существующих клиентов — это добавленный MRR. Включайте его.

Ошибка 3. Новый пользователь, ушедший в том же месяце. Он попадает и в new, и в churn. Логически такие случаи часто разделяют — чистый new и микроотток.

Ошибка 4. Обманываться высоким QR на новой когорте. Стартап на ранней стадии может показывать высокий QR (много new, мало churn). По мере роста показатель падает.

Связанные темы

FAQ

Какой QR считается отличным?

Ориентир простой: 4 и выше — отличный результат, который любят инвесторы. 2–4 — здоровый рост, 1–2 — уже повод поработать над метрикой, а меньше 1 — критично: вы теряете MRR быстрее, чем набираете.

QR vs Net MRR growth?

Quick Ratio — это про эффективность роста, а Net MRR growth — про абсолютный прирост. Можно наращивать Net MRR и при этом иметь низкий QR, если вы много тратите на привлечение и одновременно теряете клиентов.

QR применим к не-SaaS?

В широком смысле — да, ведь суть проста: «добавленное / потерянное». В транзакционных бизнесах то же самое часто называют expansion ratio.

QR падает — что делать?

Первым делом снижайте отток — это главный рычаг. Дальше подключайте расширение через допродажи (upsell), пересматривайте ценообразование и следите за качеством новых клиентов.

QR по cohorts?

Когортный QR показывает, как показатель меняется от одного периода привлечения к другому. Это удобно для диагностики: видно, здоровеет модель роста со временем или нет.