Метрики маркетплейсов могут выглядеть неплохо, а денег почему‑то больше не становится — знакомо. На маркетплейсах так и бывает: заказы есть, а маржа тает. Комиссии, логистика, скидки, возвраты, реклама — и итог не сходится.
Эта статья — про метрики маркетплейсов, которые реально помогают управлять продажами на Ozon, Wildberries и Яндекс.Маркет. Не полный справочник показателей из кабинетов, а базовый набор, который отвечает на вопросы бизнеса: где теряем деньги, что мешает расти, какие SKU (идентификаторы товаров) усиливать, а какие — тормозить, и как свести продажи с рекламой и внешним трафиком.
Если вы строите отчет по маркетплейсам, логика ниже — хорошая база. Как минимум это помогает связать витрину метрик с реальными деньгами (в том числе в рамках сквозной аналитики).
Основная логика: 3 блока метрик
Чтобы не тонуть в показателях, удобно держать в голове три блока:
-
Спрос и карточка (видимость → интерес → заказ)
-
Операционка (наличие → доставка → отмены/возвраты)
-
Деньги (маржа с учётом комиссии → реклама → прибыль)
Если у вас нет третьего блока, вы можете расти по выручке и при этом терять прибыль.
Ниже — метрики по каждому блоку. Названия в кабинетах могут отличаться (и формулы тоже), но смысл — одинаковый. В любом отчёте важно не спорить, как именно это названо на площадке, а договориться о единой витрине метрик.
Спрос и карточка: что происходит до заказа
Показы
Показы — это сколько раз товар/предложение увидели в поиске, каталоге и рекомендациях. Если показы падают, это часто не про спрос, а про то, что карточка стала менее конкурентной: цена, наличие, скорость доставки, рейтинг, конкуренты. Смотреть лучше в динамике по SKU и отдельно по органике и рекламе.
CTR (клики / показы)
CTR показывает, насколько хорошо товар “цепляет” в выдаче: фото, цена, название, рейтинг, доставка. Типовая проблема — показы есть, а CTR падает: товар видят, но не выбирают.
Просмотры карточки
Просмотры карточки — это уже тёплый интерес. Если просмотров много, а заказов мало, обычно проблема внутри карточки или в условиях покупки (цена, доставка, отзывы, комплектация).
Добавления в корзину и конверсия в корзину
Добавления в корзину и конверсия в корзину — быстрый индикатор интереса. Часто это реагирует на изменения быстрее, чем заказы.
Конверсия в заказ
Конверсию в заказ обычно считают как заказы / просмотры (или / визиты — зависит от того, что у вас в данных). Важно помнить: высокая конверсия сама по себе ещё не гарантирует хороший результат — дальше решают выкуп, возвраты и экономика.
BuyBox и доля выигрыша
BuyBox — это выделенное предложение в карточке товара, из которого покупатель чаще всего добавляет товар в корзину одной кнопкой. А метрика, которая реально помогает в аналитике, — доля выигрыша BuyBox: какой процент времени или показов ваше предложение было главным в карточке.
Площадки не раскрывают точную формулу, но на практике на выигрыш BuyBox почти всегда влияют цена (в том числе финальная с доставкой), наличие, скорость доставки/склады и рейтинг/отзывы. Если прямой метрики BuyBox у вас нет, в отчёте можно считать близкие по смыслу доли: долю ваших заказов по SKU на площадке (если есть общий спрос) или долю показов/кликов по вашему предложению.
Чтобы автоматически забирать эти метрики в свою базу, можно использовать готовые коннекторы: Wildberries (автоматизация выгрузки Wildberries) и Яндекс.Маркет (выгрузка из Яндекс Маркета).
Операционка: где ломается продажа после заказа
Наличие и OOS
Отсутствие товара режет показы и делает рекламу бессмысленной: вы платите за трафик, а товар недоступен. Если есть история спроса, полезно оценивать упущенную выручку из‑за OOS (out of stock, «нет в наличии») хотя бы прогнозно.
Оборачиваемость / дни запаса
Оборачиваемость и дни запаса — это баланс между риском OOS и переплатой за хранение. Чем сильнее сезонность и чем длиннее поставка, тем важнее держать этот показатель под контролем.
Отмены
Отмены часто сигнализируют об ошибках остатков, сборки, сроков и пересорта. Смысл смотреть их в разрезе причин, складов/регионов и SKU: тогда видно, где именно ломается процесс.
Доля покупаемости / процент выкупа
Это один из самых важных показателей. Особенно в связке с рекламой.
Простая формула для отчёта:
buyout_rate = выкупленные_заказы / все_заказы
У WB метрика процент выкупа — базовая, и её обычно смотрят в аналитике/воронке продавца. Официальная справка по отчёту воронки: seller.wildberries.ru — Sales funnel report.
Возвраты и rate возврата
С возвратами часто ошибаются: это не просто минус выручка. Это ещё и обратная логистика, уценка/брак и замороженный оборот.
Простой показатель:
return_rate = возвраты / выкупленные_заказы (или / заказы — главное договориться)
Самая полезная детализация — причина возврата + SKU + партия/поставщик (если есть).
Чтобы автоматически забирать продажи и возвраты в свою базу, можно использовать готовые коннекторы: Ozon Seller (выгрузка данных OZON Seller) и Wildberries (автоматизация выгрузки Wildberries).
Деньги: маржа, комиссия, логистика, скидки, реклама
Выручка, заказы, средний чек
Это база. Но без затрат это половина картины.
Комиссия маркетплейса и услуги
В отчёте важно разнести затраты по понятным корзинам: комиссия (процент от продажи), логистика (доставка/последняя миля/обратная), хранение (если применимо) и прочие удержания/штрафы.
Маржа с учётом комиссии
Простая версия:
margin_1 = выручка - комиссия - себестоимость
Маржа с учётом логистики и возвратов
Более честная:
margin_2 = выручка - комиссия - логистика - себестоимость - потери_от_возвратов
Потери от возвратов можно считать по факту (если есть точные списания и обратная логистика) или нормативом (процент потерь по SKU, если факта нет).
ДРР (доля рекламных расходов), CPO, CPC/CTR
Для Ozon реклама часто живёт в Ozon Performance, и там логика классическая: показы/клики/CTR/CPC/заказы/выручка и ДРР. Если нужно свериться с терминами и доступностью полей на стороне Ozon, смотрите официальную документацию Ozon API: docs.ozon.ru/api/seller/.
Если вы собираете рекламные метрики Ozon в своё хранилище, полезный ориентир по подключению — выгрузка данных OZON Performance.
Но ключевой нюанс: даже нормальный ДРР не гарантирует прибыль. Товар может показывать отличную конверсию в рекламе, но быть убыточным из‑за низкой маржи или высоких возвратов.
Поэтому в отчёте полезно добавить ещё две производные: ad_share_of_margin (реклама / маржа, сколько рекламы съедает маржи) и TACoS (реклама / вся выручка по SKU, не только атрибутированная рекламе).
Это полезная проверка: товар может показывать хороший ДРР по рекламе, но держаться только на платном трафике и быть убыточным.
Схема: как сводить метрики маркетплейсов в единый отчёт
Когда метрик много, главная задача — свести их в понятный формат, чтобы можно было сравнивать площадки между собой и быстро находить, где меняется экономика. На практике удобнее держать два уровня данных: детальный (заказы/возвраты) и агрегированный (месячная экономика).
Источники данных (маркетплейсы/реклама/себестоимость)
|
v
Детальный блок данных (заказы/товары/возвраты по дням)
- единые поля: дата, площадка, SKU, статус, сумма
|
+-----------------------> агрегирование по месяцу
(комиссия/логистика/хранение/реклама/прочее)
|
v
Финансовая сводка (месяц × площадка)
|
v
Отчёт: воронка + операционка + деньги
Смысл: вы не пытаетесь засунуть всё в одну таблицу на каждый день и SKU. Часть расходов и рекламы естественно живёт на уровне периода, так что удобнее держать и детальные строки, и итоговую сводку.
Примеры и SQL: простая витрина для отчёта
Ниже пример SQL под ClickHouse. Идея: собрать дневные факты и посчитать показатели.
1. Дневные продажи и выкупы
WITH orders AS ( SELECT date, marketplace, sku, SUM(orders_qty) AS orders_qty, SUM(buyouts_qty) AS buyouts_qty, SUM(gmv) AS gmv FROM dwh.mp_orders_daily GROUP BY 1,2,3 ), returns AS ( SELECT date, marketplace, sku, SUM(returns_qty) AS returns_qty, SUM(returns_amount) AS returns_amount FROM dwh.mp_returns_daily GROUP BY 1,2,3 ), fees AS ( SELECT date, marketplace, sku, SUM(marketplace_fee) AS marketplace_fee, SUM(logistics_cost) AS logistics_cost, SUM(other_charges) AS other_charges FROM dwh.mp_fees_daily GROUP BY 1,2,3 ), ads AS ( SELECT date, marketplace, sku, SUM(ad_spend) AS ad_spend, SUM(ad_orders_qty) AS ad_orders_qty, SUM(ad_gmv) AS ad_gmv FROM dwh.mp_ads_daily GROUP BY 1,2,3 ), cost AS ( SELECT sku, cost_price AS cogs_per_item FROM dwh.sku_cost ) SELECT o.date, o.marketplace, o.sku, o.orders_qty, o.buyouts_qty, o.gmv, ifNull(r.returns_qty, 0) AS returns_qty, ifNull(r.returns_amount, 0) AS returns_amount, ifNull(f.marketplace_fee, 0) AS marketplace_fee, ifNull(f.logistics_cost, 0) AS logistics_cost, ifNull(f.other_charges, 0) AS other_charges, ifNull(a.ad_spend, 0) AS ad_spend, ifNull(a.ad_orders_qty, 0) AS ad_orders_qty, ifNull(a.ad_gmv, 0) AS ad_gmv, -- KPI продавца Ozon/WB/Яндекс.Маркет: выкуп и возвраты o.buyouts_qty / nullIf(o.orders_qty, 0) AS buyout_rate, ifNull(r.returns_qty, 0) / nullIf(o.buyouts_qty, 0) AS return_rate, -- Деньги (упрощённо) (o.buyouts_qty * c.cogs_per_item) AS cogs_total, -- Маржа до рекламы (примерная): выручка - комиссии - логистика - себестоимость - прочие удержания - возвраты ( o.gmv - ifNull(f.marketplace_fee, 0) - ifNull(f.logistics_cost, 0) - (o.buyouts_qty * c.cogs_per_item) - ifNull(f.other_charges, 0) - ifNull(r.returns_amount, 0) ) AS margin_before_ads, -- ДРР (на атрибутированной выручке рекламы) ifNull(a.ad_spend, 0) / nullIf(ifNull(a.ad_gmv, 0), 0) AS drr_ads, -- TACoS (на всей выручке SKU) ifNull(a.ad_spend, 0) / nullIf(o.gmv, 0) AS tacos, -- Доля рекламы в марже (очень полезно) ifNull(a.ad_spend, 0) / nullIf(( o.gmv - ifNull(f.marketplace_fee, 0) - ifNull(f.logistics_cost, 0) - (o.buyouts_qty * c.cogs_per_item) - ifNull(f.other_charges, 0) - ifNull(r.returns_amount, 0) ), 0) AS ad_share_of_margin FROM orders o LEFT JOIN returns r ON r.date = o.date AND r.marketplace = o.marketplace AND r.sku = o.sku LEFT JOIN fees f ON f.date = o.date AND f.marketplace = o.marketplace AND f.sku = o.sku LEFT JOIN ads a ON a.date = o.date AND a.marketplace = o.marketplace AND a.sku = o.sku LEFT JOIN cost c ON c.sku = o.sku;
2. Пример диагностики по SKU
Сценарий: заказы растут, прибыль падает.
Что проверяем в порядке важности. Сначала buyout_rate: если он упал, вы начинаете платить за логистику и возвраты. Затем return_rate: рост часто упирается в товар, карточку, упаковку и ожидания покупателя. Дальше — ad_share_of_margin: реклама может съедать маржу даже при нормальном ДРР. И отдельно смотрим, не выросли ли marketplace_fee/logistics_cost из‑за тарифов, складов или плеча доставки.
Часто проблема не в ставках или креативах, а в базовых вещах: товар стал чаще возвращаться или начал ехать дольше.
Вывод
Если выбирать самое важное, то держите в голове три вещи: воронку карточки (показы → CTR → просмотры → корзина → заказы), качество продаж (выкуп и возвраты) и деньги (маржа с учётом комиссии, логистики, возвратов и рекламы).
Это и есть практичные KPI продавца Ozon, Wildberries и Яндекс.Маркет: не только сколько продали, но и сколько заработали.
Главное — всегда сводить воронку к деньгам. Показатели карточки и операционки отвечают на вопрос «почему не продаётся?». Финансовые метрики — на вопрос «а стоит ли оно того?».































































