Как посчитать Operating Margin в SQL

Проверь себя · 1/3разбор после ответа
Для каждой покупки пользователя нужно добавить дату следующей покупки этого же пользователя, чтобы потом посчитать интервал между покупками. Что использовать?

Зачем Operating Margin

Operating Margin = Operating Income / Revenue. Показывает эффективность основных операций бизнеса — без учёта процентов по долгу и налогов. Одна из центральных метрик в финансовой отчётности.

Формула

Operating Margin = (Revenue - COGS - Opex) / Revenue × 100%
                 = Operating Income / Revenue × 100%

Operating Income (EBIT) = Revenue - COGS - SG&A - R&D - depreciation

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

WITH monthly_pnl AS (
    SELECT
        DATE_TRUNC('month', DATE) AS month,
        SUM(revenue) AS revenue,
        SUM(cogs) AS cogs,
        SUM(sga + r_n_d + depreciation) AS opex
    FROM financial_data
    WHERE DATE >= CURRENT_DATE - INTERVAL '12 months'
    GROUP BY 1
)
SELECT
    month,
    revenue,
    cogs,
    opex,
    revenue - cogs AS gross_profit,
    revenue - cogs - opex AS operating_income,
    (revenue - cogs - opex)::NUMERIC * 100 / NULLIF(revenue, 0) AS operating_margin_pct
FROM monthly_pnl
ORDER BY month;

Gross vs Operating vs Net

WITH pnl AS (
    SELECT
        SUM(revenue) AS rev,
        SUM(cogs) AS cogs,
        SUM(sga + r_n_d + depreciation) AS opex,
        SUM(interest + taxes) AS below_line
    FROM financial_data
    WHERE DATE >= '2026-01-01' AND DATE < '2026-04-01'
)
SELECT
    rev,
    (rev - cogs) * 100.0 / rev AS gross_margin_pct,
    (rev - cogs - opex) * 100.0 / rev AS operating_margin_pct,
    (rev - cogs - opex - below_line) * 100.0 / rev AS net_margin_pct
FROM pnl;
Margin Что вычитается
Gross только COGS
Operating COGS + OpEx
Net COGS + OpEx + проценты + налоги
Закрепи формулу operating margin в Карьернике
Запомнить надолго — 5 коротких сессий с задачами на эту тему. Бесплатно
Тренировать operating margin в Telegram

Тренды

SELECT
    DATE_TRUNC('quarter', DATE) AS quarter,
    SUM(revenue - cogs - sga - r_n_d - depreciation) AS operating_income,
    SUM(revenue) AS revenue,
    SUM(revenue - cogs - sga - r_n_d - depreciation)::NUMERIC * 100 / NULLIF(SUM(revenue), 0) AS op_margin_pct,
    -- YoY change
    LAG(SUM(revenue - cogs - sga - r_n_d - depreciation)::NUMERIC * 100 / NULLIF(SUM(revenue), 0))
    OVER (ORDER BY DATE_TRUNC('quarter', DATE)) AS prev_quarter_margin
FROM financial_data
WHERE DATE >= '2024-01-01'
GROUP BY 1
ORDER BY 1;

По сегментам и продуктовым линиям

SELECT
    product_line,
    SUM(revenue) AS revenue,
    SUM(revenue - direct_costs - allocated_opex)::NUMERIC * 100
    / NULLIF(SUM(revenue), 0) AS op_margin_pct
FROM segment_pnl
WHERE DATE >= CURRENT_DATE - INTERVAL '12 months'
GROUP BY product_line
ORDER BY op_margin_pct DESC;

Высокая маржа — вкладывать больше. Низкая — исправлять или закрывать направление.

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

Ошибка 1. Путать SG&A и OpEx. SG&A — это часть OpEx. В OpEx входят ещё амортизация, R&D и прочее.

Ошибка 2. Operating ≠ Net. Для operating margin не вычитают проценты и налоги — это частая путаница.

Ошибка 3. Разовые статьи. Реструктуризацию, выплаты по искам и прочие разовые расходы из operating margin исключают — они не повторяются.

Ошибка 4. Разная классификация затрат. В софтверных компаниях спорят, считать ли R&D операционными расходами. Единого мнения нет.

Ошибка 5. Валюта. Если P&L в нескольких валютах, приводите всё к одной по единому курсу.

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

FAQ

Какой Operating Margin ok?

Норма сильно зависит от отрасли. В SaaS 20–30% считается средним уровнем, а 40%+ — отличным. В ритейле нормальны 5–10%, в техе — 15–25%.

Operating vs EBITDA?

Operating Income — это EBIT, прибыль до вычета процентов и налогов. EBITDA прибавляет к EBIT амортизацию основных средств и нематериальных активов (EBITDA = EBIT + Depreciation + Amortization).

Negative Operating Margin?

Отрицательная operating margin означает, что компания сжигает деньги уже на уровне основных операций. Чаще всего так выглядят SaaS-компании и стартапы на ранней стадии.

Improve Operating Margin как?

Рычагов четыре: поднять цены, снизить COGS, урезать OpEx за счёт эффективности и вырасти в масштабе, поймав операционный рычаг. Обычно комбинируют сразу несколько.

По sector ranking?

Ориентировочно по отраслям: софт — от 30%, банки — от 25%, ритейл — 5–10%, авиакомпании — всего 0–5%. Разброс огромный, поэтому margin сравнивают только внутри одной отрасли.