Татьяна БандюкАналитика в ритейле и моде
Power BI6 мин чтения

Sell-through в ритейле: формула, норма и меры DAX в Power BI

Sell-through — это доля товара, проданного покупателям, от количества, которое было доступно для продажи за период: продано ÷ (остаток на начало + поставки) × 100 %. Показатель помогает байерам и аналитикам понять, какие модели продаются по плану, а какие пора уценять или перемещать.

Что такое sell-through в ритейле

Sell-through (sell-through rate, процент реализации товара) отвечает на простой вопрос: какую часть товара, который был в магазинах и на складе, уже купили покупатели. Если в сети было 1 000 джинсов и 600 из них продано, sell-through равен 60%. Остальные 40% — это то, что ещё предстоит продать по полной цене, со скидкой или переместить.

В fashion-ритейле это один из главных показателей сезона. Коллекция живёт ограниченное время, и каждая неделя без продаж приближает уценку. Поэтому байеры смотрят sell-through каждую неделю: по коллекциям, категориям, моделям и магазинам. Показатель в штуках удобнее, чем в деньгах, потому что на него не влияют скидки и изменения цен.

Рядом с sell-through часто встречаются термины sell-in и sell-out. Sell-in — это объём, который бренд отгрузил в розницу или партнёрам, sell-out — продажи конечным покупателям в штуках или деньгах. Sell-through связывает их в долю: сколько из поставленного уже ушло к покупателю. Высокий sell-in при низком sell-through означает, что товар осел на полках. Подробнее о разнице между тремя показателями я пишу в отдельной статье про sell-in и sell-through.

Формула sell-through и два способа расчёта

Sell-through, % = (Продажи − Возвраты) / (Остаток на начало периода + Поставки за период) × 100%

Это базовая формула, и я рекомендую использовать именно её: в знаменателе весь товар, который был доступен для продажи. Продажи берутся за вычетом возвратов, иначе показатель завышен. Это особенно заметно в онлайн-канале, где часть заказов возвращается через одну–три недели.

Второй способ — делить продажи только на поставки за период. Его используют поставщики и команды, которые оценивают конкретную партию: сколько из привезённого в этом месяце уже продано. Для новой коллекции, у которой нет остатка на начало, оба способа дают одинаковый результат. Для базового ассортимента с переходящим остатком расчёт от поставок завышает показатель и может превысить 100%.

Условный пример: на начало месяца на складе 200 футболок, за месяц пришло 800, продано 640, вернули 40. Sell-through от всего доступного товара = (640 − 40) / (200 + 800) = 60%. Sell-through от поставок = 600 / 800 = 75%. Цифры разные, поэтому в отчёте всегда подписывайте, какая база используется. Калькулятор ниже считает оба варианта.

Калькулятор sell-through
B1Sell-through от всего доступного товара60 %B2Sell-through от поставок75 %

Продажи считаются за вычетом возвратов. Расчёт выполняется в браузере, данные никуда не отправляются.

Цифры остаются в вашем браузере и никуда не отправляются.

Открыть калькулятор отдельно

Какой sell-through считается хорошим в fashion-ритейле

Универсальной нормы sell-through нет, и цифры вроде «хороший показатель — 80%» без контекста мало что значат. Всё зависит от периода, за который считается показатель, от типа товара и от того, когда запланирована первая уценка. Месячный sell-through в 20% может быть нормой для базовых джинсов с постоянным пополнением и тревожным сигналом для летних платьев за шесть недель до конца сезона.

Поэтому я оцениваю sell-through не по абсолютной цифре, а против плана. Перед сезоном команда решает, какую долю закупки нужно продать по полной цене к дате первой уценки, и раскладывает эту цель по неделям. Дальше сравниваются факт и план на ту же неделю. Ориентиры для плана дают три источника:

  • тот же сезон прошлого года в той же категории и ценовом сегменте;
  • длина жизни товара: сезонная модель должна продать основную часть закупки до уценки, базовая — держать ровный темп без пустых размеров;
  • стратегия уценки: чем раньше запланирована первая скидка, тем выше должен быть sell-through к этой дате.

Слишком высокий sell-through тоже требует внимания. Если модель распродана за три недели, это часто означает недозакупку: магазин терял продажи, пока товара не было. Такие модели я отмечаю отдельно и сравниваю с продажами в неделю, пока товар был в наличии.

Как посчитать sell-through в Excel

Для расчёта в Excel достаточно выгрузки по артикулам с пятью колонками: артикул (A), остаток на начало (B), поставки (C), продажи (D) и возвраты (E). Формулу sell-through ставят в колонку F и применяют процентный формат. Функция ЕСЛИОШИБКА нужна для новых артикулов без остатка и поставок, иначе в ячейке появится ошибка деления на ноль.

F2  =ЕСЛИОШИБКА((D2-E2)/(B2+C2);0)
G2  =ЕСЛИОШИБКА((D2-E2)/C2;0)

Итог по категории (строки 2–101):
F102  =(СУММ(D2:D101)-СУММ(E2:E101))/(СУММ(B2:B101)+СУММ(C2:C101))
Формулы для русской версии Excel. В английской версии: IFERROR и SUM, разделитель — запятая.

Главная ошибка в Excel — считать итог по категории как среднее из процентов по строкам. Артикул с десятью штуками и артикул с тысячей штук получат одинаковый вес, и результат будет искажён. Итог всегда считается делением сумм, как в строке 102. Если нужен итог по нескольким категориям, удобнее собрать сводную таблицу с суммами и добавить sell-through вычисляемым полем.

КатегорияДоступно к продажеПродано без возвратовSell-throughПлан на 8-ю неделю
Футболки4 0002 20055%50%
Платья2 50090036%45%
Джинсы3 0001 35045%45%
Верхняя одежда1 50039026%35%
Условный пример: sell-through по категориям за первые восемь недель сезона, штуки.

В примере платья и верхняя одежда отстают от плана. Для команды это список вопросов на неделю: хватает ли размеров, правильно ли распределён товар по магазинам, не пора ли перенести остатки туда, где модель продаётся лучше.

Меры DAX для sell-through в Power BI

В Power BI sell-through делают только мерой, а не вычисляемым столбцом: доля должна пересчитываться для любого среза — рынка, магазина, категории, недели. Остатки при этом нельзя просто суммировать по времени: остаток на начало периода — это снимок на одну дату. В примере ниже остатки хранятся как снимок на конец каждого дня, а таблица дат помечена как таблица дат.

Net Units Sold =
SUM ( Sales[Quantity] ) - SUM ( Sales[ReturnedQuantity] )

Received Units =
SUM ( Receipts[Quantity] )

Opening Stock Units =
VAR FirstDay = MIN ( 'Date'[Date] )
RETURN
    CALCULATE ( SUM ( Stock[Units] ), 'Date'[Date] = FirstDay - 1 )

Sell-Through % =
DIVIDE ( [Net Units Sold], [Opening Stock Units] + [Received Units] )
Меры DAX для sell-through. Названия таблиц и столбцов замените на свои.

DIVIDE возвращает пустое значение вместо ошибки, когда знаменатель равен нулю, поэтому новые артикулы без поставок не ломают визуал. Итог в матрице считается правильно: мера делит суммы в текущем контексте, а не усредняет проценты строк.

Меру стоит один раз сверить с Excel: выгрузите строки по одной категории за одну неделю, посчитайте показатель формулой из предыдущего раздела и сравните с визуалом с тем же фильтром. Расхождение обычно означает, что остатки взяты не на ту дату или часть поставок не связана со справочником товаров.

Недельная кривая sell-through в отчёте

Самый полезный визуал для sell-through — накопленная кривая по неделям сезона. По горизонтали недели от начала продаж, по вертикали доля проданного с начала сезона, рядом плановая кривая и кривая прошлого года. Отставание от плана видно уже на третьей–четвёртой неделе, когда ещё есть время перераспределить товар или поддержать модель в витрине.

Для кривой нужна мера с накоплением от даты начала сезона. Проще всего хранить эту дату в столбце таблицы дат и снимать фильтр периода внутри CALCULATE.

Sell-Through Season to Date % =
VAR LastDay = MAX ( 'Date'[Date] )
VAR SeasonStart = MIN ( 'Date'[SeasonStart] )
VAR Sold =
    CALCULATE ( [Net Units Sold], REMOVEFILTERS ( 'Date' ),
        DATESBETWEEN ( 'Date'[Date], SeasonStart, LastDay ) )
VAR Received =
    CALCULATE ( [Received Units], REMOVEFILTERS ( 'Date' ),
        DATESBETWEEN ( 'Date'[Date], SeasonStart, LastDay ) )
VAR Opening =
    CALCULATE ( SUM ( Stock[Units] ), REMOVEFILTERS ( 'Date' ),
        'Date'[Date] = SeasonStart - 1 )
RETURN
    DIVIDE ( Sold, Opening + Received )
Накопленный sell-through с начала сезона. 'Date'[SeasonStart] — дата начала сезона для каждой даты.

Кривую я строю на уровне категории, а для разбора отстающих моделей добавляю таблицу с sell-through, продажами за последнюю неделю и покрытием запаса. Такая связка отвечает сразу на два вопроса: что продаётся хуже плана и сколько недель понадобится, чтобы продать остаток при текущем темпе. О покрытии запаса и его связи с оборачиваемостью подробно рассказано в статье об оборачиваемости товарных запасов.

Как повысить sell-through до уценки

Низкий sell-through — это симптом, а не диагноз. Прежде чем снижать цену, я проверяю причины, которые можно исправить без скидки. Чаще всего модель продаётся хуже плана по одной из этих причин:

  • Распределение по магазинам: товар лежит там, где его не покупают, и отсутствует там, где на него есть спрос. Перемещение остатков между магазинами дешевле скидки.
  • Размеры: ходовые размеры распроданы, а в наличии остались крайние. Sell-through модели падает, хотя спрос на неё есть.
  • Поздняя поставка: коллекция пришла на несколько недель позже плана и получила меньше недель продаж по полной цене.
  • Видимость: модель не попала в витрину, на главную страницу сайта или в рассылку.
  • Цена: модель выбивается из ценовой линейки категории. Это единственная причина, которую действительно решает уценка.

Если причины проверены, а отставание от плановой кривой сохраняется несколько недель подряд, раннюю частичную уценку обычно пережить легче, чем глубокую распродажу в конце сезона. Решение о скидке я принимаю вместе с командой по цене, опираясь на недельную кривую, а не на одну неудачную неделю.

Частые вопросы о sell-through

Sell-through показывает, какую часть товара, доступного для продажи, купили покупатели за период. Если в магазине было 100 футболок и продано 60, sell-through равен 60 %. Чем выше показатель к середине сезона, тем меньше товара придётся уценять в конце.

Базовая формула: продажи в штуках за период ÷ (остаток на начало периода + поставки за период) × 100 %. Продажи лучше брать за вычетом возвратов, иначе показатель завышен. Некоторые команды делят только на поставки, поэтому в отчёте важно указать, какая база используется.

Sell-in — это объём, который бренд продал или отгрузил в розницу, оптовым партнёрам или в собственные магазины. Sell-through — это доля этого товара, которую затем купили конечные покупатели. Высокий sell-in при низком sell-through означает, что товар осел на полках и складах партнёров.

Подготовьте таблицу с колонками: артикул, остаток на начало, поставки, продажи и возвраты. В колонке результата используйте формулу вида =ЕСЛИОШИБКА((D2-E2)/(B2+C2);0) и примените процентный формат. Для итога по категории суммируйте штуки и делите суммы, а не усредняйте проценты по строкам.

Бесплатные калькуляторы для ритейла: маржа, наценка, оборачиваемость

Статьи об аналитике в ритейле по этой теме