Коротко (BLUF). На собеседовании в маркетплейс дают классический кейс: «GMV за квартал вырос на 4%, а выручка платформы просела на 6%. Take rate упал с 14.8% до 13.1%. Что случилось, найди причину». Правильный ответ почти никогда не «упали продажи». В 90% таких кейсов дело в mix-shift — сдвиге структуры оборота в сторону низкомаржинальных категорий. Каждая категория по отдельности может держать take rate или даже растить его, а агрегат падает, потому что вес категорий сместился. Это парадокс Симпсона в чистом виде. Ниже — как разложить GMV на множители, какими SQL-запросами локализовать сегмент-виновника за 20 минут, и как подать это интервьюеру, чтобы получить оффер.
Кейс собран из реальных тестовых заданий аналитиков в ecom-компании (формат встречается у Ozon, Wildberries, Авито — база разборов есть на No Data No Growth) и приведён к рыночным числам РФ 2026: комиссии по категориям взяты из открытых тарифов (Robokassa, Uniseller).
Что вообще спрашивают
Формулировка на собесе выглядит так:
«Ты аналитик маркетплейса. Продакт прибегает с дашбордом: GMV квартал к кварталу +4%, но net revenue −6%, take rate съехал с 14.8% до 13.1%. Финдир в панике, СЕО просит объяснение к пятнице. У тебя есть доступ к БД заказов. Твои действия?»
Плохой кандидат сразу лезет в SQL и начинает считать всё подряд. Хороший — сначала строит дерево метрик, формулирует гипотезы, и только потом пишет запросы, которые эти гипотезы проверяют. Разберём по шагам.
Шаг 0. Разложить метрики на составляющие
Две главные метрики связаны тождеством:
$$\text{Net Revenue} = \text{GMV} \times \text{Take Rate}$$
GMV (Gross Merchandise Value) — суммарная стоимость проданного за период без учёта возвратов и скидок. Take rate — средняя комиссия платформы. Раз выручка = GMV × take rate, и GMV вырос, а выручка упала, значит виноват именно take rate. Это уже сужает поиск: проблема не в объёме продаж, а в структуре.
Дальше разложим сам GMV. Первый уровень декомпозиции:
$$\text{GMV} = \text{Заказы} \times \text{Средний чек (AOV)}$$
Второй — по природе продавца, потому что новые и старые селлеры ведут себя по-разному:
$$\text{GMV} = \text{GMV}_{\text{новые селлеры}} + \text{GMV}_{\text{старые селлеры}}$$
И, наконец, ключевое для take rate — по категориям, потому что комиссия у категорий разная. По рынку РФ 2026: электроника — 15–24%, одежда и обувь — 25–34%, крупногабарит и товары для дома ещё ниже. Именно категорийный разрез обычно и вскрывает причину.
Дерево гипотез получается такое:
- H1. Упал средний чек (продают более дёшево) → GMV держится за счёт числа заказов, take rate ни при чём. Отбрасываем, если take rate — эпицентр.
- H2. GMV перетёк в низкокомиссионные категории (mix-shift). Каждая категория держит свой take rate, но вес сместился.
- H3. Внутри категорий реально снизили комиссию (промо для селлеров, скидки на комиссию, ценовые войны).
- H4. Пришла волна новых селлеров на льготном тарифе, которые размывают средний take rate.
Пример данных
Работаем с двумя таблицами. Заказы:
| order_id | seller_id | category | order_date | gmv_rub | commission_rub |
|---|---|---|---|---|---|
| 90112 | 4471 | Электроника | 2026-04-03 | 42 900 | 7 293 |
| 90113 | 1188 | Одежда | 2026-04-03 | 3 200 | 1 024 |
| 90114 | 4471 | Электроника | 2026-04-04 | 18 500 | 3 145 |
| 90115 | 8890 | Товары для дома | 2026-04-05 | 6 700 | 737 |
И справочник продавцов:
| seller_id | joined_at | tier |
|---|---|---|
| 4471 | 2023-11-02 | old |
| 1188 | 2024-01-15 | old |
| 8890 | 2026-03-20 | new |
take_rate по строке = commission_rub / gmv_rub. Дальше — только PostgreSQL.
Шаг 1. Подтвердить, что проблема в структуре, а не в объёме
Первым делом сравним два квартала на самом верхнем уровне. Один запрос, который сразу показывает, вырос GMV или нет и куда двинулся take rate.
SELECT
date_trunc('quarter', order_date)::date AS quarter,
SUM(gmv_rub) AS gmv,
SUM(commission_rub) AS net_revenue,
ROUND(SUM(commission_rub) * 100.0
/ NULLIF(SUM(gmv_rub), 0), 2) AS take_rate_pct,
COUNT(*) AS orders,
ROUND(SUM(gmv_rub) * 1.0 / COUNT(*), 0) AS aov
FROM orders
WHERE order_date >= DATE '2026-01-01'
GROUP BY 1
ORDER BY 1;
Читаем результат: если gmv растёт, orders растёт, aov примерно стабилен, а take_rate_pct падает — гипотеза H1 (падение чека) отпадает. Мы официально в мире take rate. Идём глубже.
Шаг 2. Категорийный разрез — где сидит вес
Теперь главный запрос. Для каждой категории считаем её долю в GMV в обоих кварталах и её собственный take rate. Так мы одновременно видим и вес (сдвинулся ли mix), и ставку внутри категории (упала ли она).
WITH by_cat AS (
SELECT
date_trunc('quarter', order_date)::date AS quarter,
category,
SUM(gmv_rub) AS gmv,
SUM(commission_rub) AS commission
FROM orders
WHERE order_date >= DATE '2026-01-01'
GROUP BY 1, 2
)
SELECT
category,
quarter,
gmv,
ROUND(100.0 * gmv
/ SUM(gmv) OVER (PARTITION BY quarter), 1) AS gmv_share_pct,
ROUND(100.0 * commission / NULLIF(gmv, 0), 2) AS take_rate_pct
FROM by_cat
ORDER BY category, quarter;
Типичная картина, которую вернёт такой запрос:
| category | quarter | gmv_share_pct | take_rate_pct |
|---|---|---|---|
| Одежда | Q1 2026 | 34.0 | 29.5 |
| Одежда | Q2 2026 | 24.0 | 29.6 |
| Электроника | Q1 2026 | 40.0 | 15.0 |
| Электроника | Q2 2026 | 52.0 | 15.1 |
| Товары для дома | Q1 2026 | 26.0 | 11.0 |
| Товары для дома | Q2 2026 | 24.0 | 11.0 |
Вот оно. Смотри внимательно: take rate внутри каждой категории почти не изменился (29.5→29.6, 15.0→15.1). Но доля высокомаржинальной одежды рухнула с 34% до 24%, а её место заняла низкомаржинальная электроника (40%→52%). Оборот перетёк туда, где комиссия вдвое меньше. Средневзвешенный take rate обязан упасть — хотя ни один селлер не платит меньше, чем платил.
Это гипотеза H2 подтверждена и H3 отклонена. И это — парадокс Симпсона: тренд «в целом» противоречит тренду «в каждой группе». Хрестоматийные разборы этого эффекта на маркетинговых данных есть в статье Google Research и в ML-разборе Rohan Paul.
Шаг 3. Посчитать вклад mix-shift численно (mix vs rate effect)
Сказать «это mix-shift» мало — на собесе попросят цифру. Раскладываем изменение take rate на два эффекта:
- Rate effect — как изменился бы общий take rate, если бы поменялись только ставки внутри категорий, а веса остались прошлоквартальными.
- Mix effect — как изменился бы он, если бы поменялись только веса, а ставки остались прежними.
Формула для каждой категории $i$ (веса $w$, ставки $r$):
$$\Delta_{mix} = \sum_i (w_i^{Q2} - w_i^{Q1}) \cdot r_i^{Q1}$$
$$\Delta_{rate} = \sum_i w_i^{Q1} \cdot (r_i^{Q2} - r_i^{Q1})$$
SQL, который делает это одним запросом:
WITH cat AS (
SELECT
category,
SUM(gmv_rub) FILTER (WHERE order_date < DATE '2026-04-01') AS gmv_q1,
SUM(gmv_rub) FILTER (WHERE order_date >= DATE '2026-04-01') AS gmv_q2,
SUM(commission_rub) FILTER (WHERE order_date < DATE '2026-04-01') AS com_q1,
SUM(commission_rub) FILTER (WHERE order_date >= DATE '2026-04-01') AS com_q2
FROM orders
WHERE order_date >= DATE '2026-01-01'
GROUP BY category
),
w AS (
SELECT
category,
gmv_q1 * 1.0 / SUM(gmv_q1) OVER () AS w_q1,
gmv_q2 * 1.0 / SUM(gmv_q2) OVER () AS w_q2,
com_q1 / NULLIF(gmv_q1, 0) AS r_q1,
com_q2 / NULLIF(gmv_q2, 0) AS r_q2
FROM cat
)
SELECT
ROUND(100 * SUM((w_q2 - w_q1) * r_q1), 2) AS mix_effect_pp,
ROUND(100 * SUM(w_q1 * (r_q2 - r_q1)), 2) AS rate_effect_pp
FROM w;
Результат вроде mix_effect_pp = -1.63, rate_effect_pp = +0.02. Перевод на человеческий: из падения take rate на 1.7 пункта весь эффект — mix-shift, ставки тут ни при чём вообще. Это законченный количественный ответ, который можно нести финдиру.
Шаг 4. Кто двигает mix — новые селлеры?
Осталось объяснить, *почему* электроника раздулась. Проверяем H4: не пришла ли волна новых продавцов именно в дешёвые по комиссии категории. Джойним заказы с продавцами и смотрим GMV по когорте.
SELECT
s.tier,
o.category,
SUM(o.gmv_rub) FILTER (WHERE o.order_date >= DATE '2026-04-01') AS gmv_q2,
ROUND(100.0 * SUM(o.gmv_rub) FILTER (WHERE o.order_date >= DATE '2026-04-01')
/ SUM(SUM(o.gmv_rub) FILTER (WHERE o.order_date >= DATE '2026-04-01'))
OVER (), 1) AS share_of_total_q2
FROM orders o
JOIN sellers s ON s.seller_id = o.seller_id
GROUP BY s.tier, o.category
ORDER BY gmv_q2 DESC;
Если у tier = 'new' вся масса GMV сидит в электронике — картина сложилась: платформа провела успешную кампанию по привлечению селлеров электроники (льготный тариф, промо-выкладка), они нагнали оборот, GMV вырос, все радуются — но каждый рубль этого прироста приносит вдвое меньше комиссии, чем рубль в одежде. Отсюда рост GMV при падении выручки.
Проверить встречную гипотезу — не ушли ли старые селлеры одежды — можно LEFT JOIN ... IS NULL на активность продавцов в Q2 (тот, кто был в Q1 и пропал в Q2). Механику антиджойна для поиска «пропавших» разбираем на конкретных задачах в тренажёре SQL.
Вывод и рекомендация
Собранная история: падение take rate вызвано mix-shift, а не снижением комиссий. Оборот сместился из высокомаржинальной одежды (take rate ~29%) в низкомаржинальную электронику (~15%) из-за притока новых селлеров-электронщиков. Внутри каждой категории всё стабильно.
Рекомендация для бизнеса — не «поднять комиссии всем» (это отпугнёт тех самых новых селлеров, которых с трудом привлекли), а:
- Считать GMV-таргеты с разбивкой по категориям, а не одной цифрой — иначе mix будет тихо съедать выручку.
- Ввести take rate в KPI команды роста селлеров, чтобы не гнались за оборотом любой ценой.
- Разгонять монетизацию электроники инструментами, а не комиссией: платное продвижение, реклама в поиске, подписки — то, что даёт доход поверх take rate.
Как подать это на собеседовании
Интервьюер оценивает не финальную цифру, а ход мысли. Структура сильного ответа:
- Не хватай SQL сразу. Первые 2 минуты — вслух проговори тождество
Net Revenue = GMV × take rateи вывод, что раз GMV вырос, а выручка упала, эпицентр — take rate. Это сразу показывает, что ты думаешь метриками, а не таблицами. - Проговори дерево гипотез (mix / rate / чек / когорта селлеров) до единой строчки кода. Скажи, какой запрос какую гипотезу закрывает.
- Назови парадокс Симпсона по имени. Фраза «здесь возможен mix-shift, классический парадокс Симпсона — проверю, не держит ли каждая категория свой take rate при сдвинутых весах» отделяет мидла от джуна мгновенно.
- Дай число, а не направление. Не «упал из-за микса», а «−1.6 п.п. из −1.7 объясняется миксом, ставки дали +0.02». Декомпозиция mix/rate effect — то, что запоминают.
- Закончи действием. Аналитик без рекомендации — это дашборд. Скажи, что менять в KPI и почему поднимать комиссию — плохая идея.
Потренировать именно такие продуктовые разборы можно на подборке кейсов — там маркетплейсные декомпозиции с числами. А типовые вопросы «почему упала метрика» с эталонными ответами собраны в базе вопросов для собеседования аналитика.
Частые вопросы
Чем GMV отличается от выручки маркетплейса?
GMV — это весь оборот на площадке, суммарная стоимость проданного за период (без возвратов и скидок). Выручка платформы — только её комиссия с этого оборота: выручка = GMV × take rate. У Ozon, например, GMV за 2023 год был 1.7 трлн ₽, а операционный денежный поток — порядка 80 млрд, то есть на два порядка меньше. Путать эти метрики на собесе — красный флаг: GMV меряет масштаб, выручка — деньги, которые реально зарабатывает платформа.
Что такое парадокс Симпсона в контексте маркетплейса?
Это ситуация, когда агрегированная метрика движется в одну сторону, а внутри каждого сегмента — в другую или никуда. Классика для маркетплейса: общий take rate падает, хотя ни одна категория свою комиссию не снижала. Причина — сдвиг весов (mix-shift): оборот перетёк в категории с низкой комиссией. Лечится всегда одинаково — не доверяй агрегату, режь на сегменты и считай mix effect отдельно от rate effect.
Как отличить падение среднего чека от mix-shift?
Разными разрезами. Падение чека видно в запросе AOV = SUM(gmv) / COUNT(orders) по кварталам — если AOV просел, а число заказов держится, дело в чеке. Mix-shift виден только в категорийном разрезе: AOV и take rate внутри каждой категории стабильны, но меняются доли (gmv_share_pct). Поэтому в кейсе всегда считают оба разреза — верхнеуровневый (заказы × чек) и категорийный (веса × ставки). Отработать оба на автоматических проверках можно в Python-тренажёре на pandas-группировках.
Какие take rate у российских маркетплейсов по категориям?
По открытым тарифам 2025–2026: электроника — примерно 15–24%, одежда и обувь — 25–34% (и растёт: WB с июля 2026 поднял комиссию в одежде до ~43% в части категорий), товары для дома и крупногабарит — ниже. Именно этот разброс в 2–3 раза между категориями и делает mix-shift таким мощным фактором: сдвиг 10% оборота из одежды в электронику стоит платформе полтора пункта take rate. Точные ставки всегда смотрят в актуальных тарифах площадки — они меняются несколько раз в год.
Хочешь довести навык до автомата — разбери реальные тестовые задания на декомпозицию метрик в разделе с заданиями и пройди бесплатный курс по SQL, где джойны, оконные функции и date_trunc объясняются на маркетплейсных данных.
Источники: 22 метрики маркетплейса — Хабр · База тестовых заданий аналитиков — No Data No Growth · Обзор комиссий маркетплейсов 2025 — Robokassa · Комиссии Wildberries 2025 — Uniseller · Visualizing Mix Effects and Simpson's Paradox — Google Research · Simpson's Paradox interview — Rohan Paul