Трансформируем ваши данные в прибыль

Пн — Пт: с 10:00 до 19:00

ГлавнаяБлогКлючевые метрики маркетплейсов: что реально важно продавцу Ozon, Wildberries и Яндекс.Маркет

Ключевые метрики маркетплейсов: что реально важно продавцу Ozon, Wildberries и Яндекс.Маркет

6 минут(ы)

Метрики маркетплейсов могут выглядеть неплохо, а денег почему‑то больше не становится — знакомо. На маркетплейсах так и бывает: заказы есть, а маржа тает. Комиссии, логистика, скидки, возвраты, реклама — и итог не сходится.

Эта статья — про метрики маркетплейсов, которые реально помогают управлять продажами на Ozon, Wildberries и Яндекс.Маркет. Не полный справочник показателей из кабинетов, а базовый набор, который отвечает на вопросы бизнеса: где теряем деньги, что мешает расти, какие SKU (идентификаторы товаров) усиливать, а какие — тормозить, и как свести продажи с рекламой и внешним трафиком.

Если вы строите отчет по маркетплейсам, логика ниже — хорошая база. Как минимум это помогает связать витрину метрик с реальными деньгами (в том числе в рамках сквозной аналитики).

  • null
    Дорогие читатели и пользователи платформы StreamMyData! Хотим пригласить вас в наш телеграм канал, в котором публикуются важные новости, обновления, статьи и кейсы.

Основная логика: 3 блока метрик

Чтобы не тонуть в показателях, удобно держать в голове три блока:

  1. Спрос и карточка (видимость → интерес → заказ)

  2. Операционка (наличие → доставка → отмены/возвраты)

  3. Деньги (маржа с учётом комиссии → реклама → прибыль)

Если у вас нет третьего блока, вы можете расти по выручке и при этом терять прибыль.

Ниже — метрики по каждому блоку. Названия в кабинетах могут отличаться (и формулы тоже), но смысл — одинаковый. В любом отчёте важно не спорить, как именно это названо на площадке, а договориться о единой витрине метрик.

Почему падает выкуп и растут возвраты?

Диагностируйте проблемные SKU и операционные сбои

Спрос и карточка: что происходит до заказа

Показы

Показы — это сколько раз товар/предложение увидели в поиске, каталоге и рекомендациях. Если показы падают, это часто не про спрос, а про то, что карточка стала менее конкурентной: цена, наличие, скорость доставки, рейтинг, конкуренты. Смотреть лучше в динамике по 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 из‑за тарифов, складов или плеча доставки.

Часто проблема не в ставках или креативах, а в базовых вещах: товар стал чаще возвращаться или начал ехать дольше.

ETL для маркетплейсов без головной боли

Попробуйте коннекторы для Wildberries, Ozon и Яндекс.Маркета

Вывод

Если выбирать самое важное, то держите в голове три вещи: воронку карточки (показы → CTR → просмотры → корзина → заказы), качество продаж (выкуп и возвраты) и деньги (маржа с учётом комиссии, логистики, возвратов и рекламы).

Это и есть практичные KPI продавца Ozon, Wildberries и Яндекс.Маркет: не только сколько продали, но и сколько заработали.

Главное — всегда сводить воронку к деньгам. Показатели карточки и операционки отвечают на вопрос «почему не продаётся?». Финансовые метрики — на вопрос «а стоит ли оно того?».