Что такое Gross Margin % (Gross Margin %)?
Доля выручки, остающаяся после вычета себестоимости проданных товаров (COGS).
Формула
Gross Margin % = (Revenue − COGS) / Revenue × 100Как считать
Суммируем (revenue − COGS) по всем заказам и делим на суммарную выручку.
Зачем нужна
Базовый показатель прибыльности. Gross margin определяет, сколько денег остаётся на операционные расходы и прибыль.
SQL-запрос
-- Таблицы: orders(order_id, user_id, created_at, total_amount, status, payment_method, promo_code, channel)
-- order_items(item_id, order_id, product_id, quantity, unit_price, cost_price)
SELECT
DATE_TRUNC('month', o.created_at) AS month,
SUM(o.total_amount) AS revenue,
SUM(oi.quantity * oi.cost_price) AS cogs,
ROUND(
(SUM(o.total_amount) - SUM(oi.quantity * oi.cost_price))::NUMERIC
/ NULLIF(SUM(o.total_amount), 0) * 100, 2
) AS gross_margin_pct
FROM orders o
JOIN order_items oi ON oi.order_id = o.order_id
WHERE o.status IN ('paid', 'delivered')
AND o.created_at >= DATE_TRUNC('month', CURRENT_DATE - INTERVAL '6 month')
GROUP BY 1
ORDER BY 1 DESC;