Коротко: три метрики описывают всю экономику маркетплейса. GMV (Gross Merchandise Value) — суммарная стоимость всех оформленных заказов за период: GMV = сумма (цена × количество). AOV (Average Order Value) — средний чек: AOV = GMV / число заказов. Take Rate — доля площадки в обороте: Take Rate = выручка платформы / GMV. Связаны они одной цепочкой: Выручка = GMV × Take Rate, а GMV = число заказов × AOV. Ниже — формулы словами и выражением, SQL-расчёт каждой и ловушки, на которых валятся на собеседовании.
Если вы готовитесь к интервью на аналитика в маркетплейс или e-commerce, эти три метрики спрашивают почти всегда: сначала определение, потом «посчитай SQL», потом «а что если...». Разберём по порядку.
Что такое GMV и как его считать?
GMV (Gross Merchandise Value, валовый оборот) — это суммарная стоимость всех товаров, проданных через площадку за период, до вычета комиссий, возвратов и скидок площадки. Это оборот, который прошёл «через кассу» маркетплейса, а не деньги, которые заработала сама платформа.
Формула словами: сложить стоимость всех заказов за период. Выражением:
GMV = Σ (цена_позиции × количество)
GMV — метрика роста и масштаба. По ней инвесторы оценивают размер бизнеса, а компания — динамику. Но GMV не равен выручке площадки: маркетплейс зарабатывает только комиссию с этого оборота (см. take rate ниже).
SQL-расчёт GMV за месяц по строкам заказов:
SELECT
date_trunc('month', o.created_at) AS month,
SUM(oi.price * oi.quantity) AS gmv
FROM orders o
JOIN order_items oi ON oi.order_id = o.id
WHERE o.status IN ('paid', 'delivered') -- только реально оплаченные
GROUP BY 1
ORDER BY 1;
Числовой пример. За октябрь площадка оформила 4 заказа: 1200, 800, 3000 и 1000 рублей. Тогда GMV = 1200 + 800 + 3000 + 1000 = 6000 ₽. Запомните это число — на нём посчитаем и AOV, и take rate.
Отработать SUM с GROUP BY и JOIN на живых данных можно в SQL-тренажёре, а полное определение с вариациями — на странице метрики GMV.
Как считать AOV (средний чек)?
AOV (Average Order Value) — средний размер одного заказа. Показывает, на какую сумму в среднем покупает клиент за одну транзакцию. Это ключевой рычаг выручки: поднять AOV часто дешевле, чем привести новый трафик.
Формула словами: разделить оборот на число заказов. Выражением:
AOV = GMV / число заказов
Продолжим пример: GMV = 6000 ₽, заказов было 4. Значит AOV = 6000 / 4 = 1500 ₽. Средний чек — 1500 рублей.
SQL-расчёт:
SELECT
date_trunc('month', o.created_at) AS month,
SUM(oi.price * oi.quantity) AS gmv,
COUNT(DISTINCT o.id) AS orders,
ROUND(
SUM(oi.price * oi.quantity)::numeric
/ COUNT(DISTINCT o.id), 2
) AS aov
FROM orders o
JOIN order_items oi ON oi.order_id = o.id
WHERE o.status IN ('paid', 'delivered')
GROUP BY 1
ORDER BY 1;
Здесь критичен COUNT(DISTINCT o.id), а не COUNT(*). Если у заказа несколько позиций, после JOIN строк станет больше, чем заказов, и COUNT(*) завысит знаменатель — AOV окажется заниженным. Это классическая ошибка на собеседовании.
AOV удобно раскладывать: AOV = число позиций в заказе × средняя цена позиции. Так видно, за счёт чего он растёт — люди берут больше товаров или дорожает корзина. Подробнее — на странице AOV. Похожие задачи на средний чек и агрегаты есть в разделе тестовых заданий.
Что такое take rate и как его посчитать?
Take rate (комиссия, монетизация) — доля GMV, которую площадка оставляет себе в виде выручки. Отвечает на вопрос: с каждого рубля оборота сколько зарабатывает сам маркетплейс.
Формула словами: разделить выручку платформы на оборот. Выражением:
Take Rate = выручка платформы / GMV × 100%
Выручка платформы — это не весь оборот, а сумма комиссий, платы за логистику, рекламы продавцов, платного продвижения и подписок. Всё, что оседает у площадки.
Пример: при GMV = 6000 ₽ площадка удержала комиссий и сборов на 900 ₽. Тогда Take Rate = 900 / 6000 = 0.15 = 15%. Пятнадцать копеек с каждого рубля оборота.
SQL-расчёт, когда комиссия зафиксирована по каждому заказу:
SELECT
date_trunc('month', o.created_at) AS month,
SUM(oi.price * oi.quantity) AS gmv,
SUM(o.platform_fee) AS platform_revenue,
ROUND(
SUM(o.platform_fee)::numeric
/ NULLIF(SUM(oi.price * oi.quantity), 0), 4
) AS take_rate
FROM orders o
JOIN order_items oi ON oi.order_id = o.id
WHERE o.status IN ('paid', 'delivered')
GROUP BY 1
ORDER BY 1;
NULLIF(..., 0) в знаменателе защищает от деления на ноль, если за период не было оборота. Типичные значения take rate: у крупных горизонтальных маркетплейсов 10–20%, у нишевых сервисов и доставки бывает 25–30% и выше. Детали и бенчмарки — на странице Take Rate.
Как связаны GMV, AOV и take rate?
Эти метрики не изолированы — они образуют дерево выручки. Две ключевые связи:
GMV = число заказов × AOV
Выручка платформы = GMV × Take Rate
Подставим наш пример в одну цепочку: 4 заказа × 1500 ₽ среднего чека = 6000 ₽ GMV. Умножаем на take rate 15% — получаем 900 ₽ выручки самой площадки. Всё сходится с числами выше.
Отсюда видно четыре рычага роста выручки маркетплейса:
| Рычаг | Что делаем | На что влияет |
|---|---|---|
| Больше заказов | привлекаем трафик, растим частоту покупок | GMV |
| Выше AOV | апселл, кросс-селл, бандлы, бесплатная доставка от суммы | GMV |
| Выше take rate | новые комиссии, реклама продавцов, платное продвижение | Выручка при том же GMV |
| Меньше возвратов | улучшаем качество и описания товаров | Чистый GMV и take rate |
Важный нюанс баланса: take rate нельзя задирать бесконечно. Слишком высокая комиссия отпугивает продавцов, они уходят или поднимают цены — GMV падает, и общая выручка GMV × Take Rate может снизиться, несмотря на рост ставки. Хорошие площадки ищут точку, где произведение максимально, а не каждый множитель по отдельности.
Какие ловушки чаще всего встречаются?
Метрики выглядят простыми, но именно на деталях расчёта отсеивают кандидатов. Собрал главные ошибки в таблицу.
| Ловушка | В чём проблема | Как правильно |
|---|---|---|
| GMV vs выручка | GMV принимают за доход компании | GMV — оборот, выручка = GMV × take rate |
COUNT(*) для AOV | после JOIN позиций строк больше, чем заказов | COUNT(DISTINCT order_id) |
| Возвраты и отмены | считают по всем статусам, включая canceled | фильтр по paid/delivered, вычитать возвраты |
| Целочисленное деление | gmv / orders в целых типах округляет вниз | приведение ::numeric (или * 1.0) |
| Grossup vs netto | GMV с учётом скидок площадки или без | договориться о едином определении и зафиксировать |
| «Средний по среднему» | усреднение готовых AOV по дням | пересчитывать из сырых GMV и заказов |
Отдельно про последнюю строку: если у вас есть дневные AOV и вы хотите месячный, нельзя просто взять их среднее — это даст неверное число, потому что дни с разным количеством заказов получат одинаковый вес. Всегда сворачивайте до сырых компонент: AOV_месяц = SUM(GMV_дней) / SUM(заказов_дней).
Ещё одна тонкость — из чего складывается «выручка платформы» в take rate. В одних компаниях это только комиссия с продавца, в других — плюс логистика, реклама и подписки. От определения зависит, получите вы take rate 8% или 18%. На интервью всегда уточняйте, что входит в числитель.
Краткая шпаргалка
- GMV = Σ(цена × количество) — оборот площадки, метрика масштаба.
- AOV = GMV / число заказов — средний чек, рычаг выручки.
- Take Rate = выручка платформы / GMV — доля площадки в обороте.
- Связь:
Выручка = число заказов × AOV × Take Rate. - В SQL:
COUNT(DISTINCT order_id), приведение кnumeric, фильтр статусов,NULLIFв знаменателе.
Эти три метрики — фундамент любого разбора юнит-экономики маркетплейса. На собеседовании их спрашивают связкой: посчитай GMV, выведи AOV, оцени take rate и объясни, как поднять выручку. Смежные метрики — конверсия и LTV — достраивают полную картину воронки. А потренировать расчёты pandas и агрегатов можно в Python-тренажёре.
Хотите разобрать все продуктовые и маркетплейс-метрики с формулами, SQL и реальными задачами с собеседований? В Pro открыты все 300+ метрик, 425 SQL и 402 Python-задачи, AI мок-собес без ограничений — оформить доступ.