Условие
CFO просит посчитать contribution margin продукта. Чем он отличается от gross margin, какие издержки считать?
Решение
Иерархия маржей
| Что вычитаем | Что показывает | |
|---|---|---|
| Gross margin | COGS (себестоимость) | вариативная составляющая на единицу |
| Contribution margin | COGS + переменные операционные | сколько остаётся для покрытия фикса |
| Operating margin | + фиксированные расходы | прибыль до налогов и %% |
| Net margin | + всё остальное | чистая прибыль |
Contribution margin
CM = Revenue − Variable Costs
CM% = CM / Revenue
Variable Costs для SaaS/маркетплейса:
- хостинг/инфраструктура per user
- платёжные комиссии
- сапорт per ticket
- payouts водителю/курьеру (для marketplace)
- refunds и chargebacks
Не включаем: офис, фикс-зарплаты, маркетинг (это OPEX), R&D.
Пример: food delivery
Заказ: 1000 ₽ (Revenue)
─ Платёж ресторану: 750 ₽
─ Курьер: 120 ₽
─ Платёжные комиссии (2%): 20 ₽
─ Поддержка (вероятностно): 10 ₽
─ Промо/скидка: 50 ₽
─ Хостинг/обработка: 5 ₽
CM = 1000 − 955 = 45 ₽
CM% = 4.5%
При такой CM каждый новый заказ приносит 45₽ «на покрытие» фикса. Точка безубыточности — Fix / CM на заказ.
Использование
- CAC payback через CM, а не gross margin (более честно).
- A/B на цене — оцениваем по ΔCM, а не Δrevenue.
- Сегментация: какие сегменты приносят CM, а какие убыточны.
SQL
SELECT
segment,
SUM(revenue) AS rev,
SUM(revenue - variable_costs) AS cm,
AVG(revenue - variable_costs) AS cm_per_order
FROM orders_with_costs
GROUP BY segment
ORDER BY cm DESC;Подводные камни
- Промо/скидки — variable, а не маркетинг. Их вычитать из revenue, иначе CM завышен.
- Поддержка — variable per ticket, не фикс per user. Считать
support_cost / orders. - Refunds должны уменьшать revenue (net revenue), а не быть отдельной строкой OPEX.
- Партнёрские выплаты (payouts) в marketplace — это COGS, не комиссия. Учитывать на GMV-уровне.
- Аллокация общих переменных (тех. поддержка на разные продукты) — самая тонкая часть, требует согласования с финансами.
Эталонный ответ
CM = Revenue − все variable costs (включая платёжные комиссии, поддержку, payout). Показывает, сколько остаётся для покрытия фикс-расходов. Для unit-economics CM честнее gross margin.