Как посчитать Rule of 40 в SQL
Содержание:
Зачем Rule of 40
Rule of 40 — фольклорная VC-метрика для SaaS: если рост revenue + операционная маржа > 40%, бизнес здоров. Меньше — что-то не так: либо рост маленький, либо unit-экономика поломана.
Формула Rule of 40
Rule of 40 = YoY Revenue Growth (%) + EBITDA Margin (%)Compliance threshold — 40%.
Базовый расчёт
Данные: pnl_quarterly(quarter, revenue, ebitda).
WITH yoy AS (
SELECT
quarter,
revenue,
ebitda,
LAG(revenue, 4) OVER (ORDER BY quarter) AS prev_year_revenue
FROM pnl_quarterly
)
SELECT
quarter,
revenue,
ebitda,
(revenue::NUMERIC / NULLIF(prev_year_revenue, 0) - 1) * 100 AS yoy_growth_pct,
ebitda::NUMERIC * 100 / NULLIF(revenue, 0) AS ebitda_margin_pct,
(revenue::NUMERIC / NULLIF(prev_year_revenue, 0) - 1) * 100
+ ebitda::NUMERIC * 100 / NULLIF(revenue, 0) AS rule_of_40
FROM yoy
WHERE prev_year_revenue IS NOT NULL
ORDER BY quarter;Интерпретация
| Rule of 40 | Status |
|---|---|
| > 60 | Тop-tier. |
| 40-60 | Healthy. |
| 20-40 | Concerning. |
| < 20 | Critical. |
Public SaaS лидеры (Snowflake, Datadog) — часто 70+.
По периодам
Trailing 4 quarters average для smoothing:
WITH stats AS (
SELECT
quarter,
revenue,
ebitda,
LAG(revenue, 4) OVER (ORDER BY quarter) AS prev_year_revenue
FROM pnl_quarterly
)
SELECT
quarter,
AVG((revenue::NUMERIC / NULLIF(prev_year_revenue, 0) - 1) * 100) OVER (
ORDER BY quarter ROWS BETWEEN 3 PRECEDING AND CURRENT ROW
) AS avg_growth_4q,
AVG(ebitda::NUMERIC * 100 / NULLIF(revenue, 0)) OVER (
ORDER BY quarter ROWS BETWEEN 3 PRECEDING AND CURRENT ROW
) AS avg_ebitda_margin_4q,
AVG((revenue::NUMERIC / NULLIF(prev_year_revenue, 0) - 1) * 100
+ ebitda::NUMERIC * 100 / NULLIF(revenue, 0)) OVER (
ORDER BY quarter ROWS BETWEEN 3 PRECEDING AND CURRENT ROW
) AS rule_of_40_4q_avg
FROM stats
WHERE prev_year_revenue IS NOT NULL
ORDER BY quarter;Частые ошибки
Ошибка 1. EBITDA vs Net Income. Rule of 40 классически считают на EBITDA (не Net Income).
Ошибка 2. Annual vs Quarterly. Можно annual: yearly_growth + annual_ebitda_margin. Quarterly: TTM growth + TTM margin.
Ошибка 3. Negative margin + high growth. Стартап -30% маржа, +80% growth — Rule of 40 = 50. Технически compliance, но негативный margin — фактор риска.
Ошибка 4. Сравнивать с не-SaaS. Rule of 40 — SaaS-метрика. В e-com / FMCG не применима.
Ошибка 5. Smoothing. Single-quarter R40 шумный. Используйте TTM average.
Связанные темы
- Как посчитать Quick Ratio в SQL
- Как посчитать MRR в SQL
- Как посчитать YoY в SQL
- Как посчитать net margin в SQL
FAQ
Какой Rule of 40 считается отличным?
50+ — top-tier. 40-50 — здоровый. 20-40 — average. <20 — нужен fix.
Rule of 40 для pre-revenue стартапа?
Не работает. Формула требует revenue baseline.
EBITDA vs Operating Margin?
EBITDA — стандарт. Operating margin (без D&A) даёт более жёсткие числа.
Кто использует Rule of 40?
VC, growth-инвесторы, public-маркет-аналитики. Бизнес-команды реже.
Rule of 40 падает — что делать?
- Если growth падает — focus on acquisition. 2) Если margin — cut costs / pricing. 3) Часто trade-off: жертвуем margin ради growth (early stage) или наоборот (late stage).