МетодологияДанныеРитейл

Аномалии sell-out на тысячах точек: как разбирать

Когда SKU продаётся в 3 000 торговых точек, провал продаж в одной из них – не повод для отдельного разбора. Таких сигналов каждую неделю тысячи, и разбирать их по одному не успевает ни одна команда. Рабочий порядок другой: свести сигналы по срезам, найти несколько общих причин, а одиночные сигналы отдавать в работу по сумме потерь.

Статья – о том, как устроить такой разбор в данных третичных продаж (sell-out): что считать сигналом, по каким срезам их сводить, как по типу сигнала и срезу выйти на причину и кому её отдать, как выбрать из оставшихся сигналов те, что стоят денег. Все цифры в примерах – модельные, они показывают порядок действий, а не оценку рынка. Сквозной пример – производитель йогурта с 30 SKU в 3 000 торговых точках (ТТ).

Почему разбор по одной точке не работает

В модельном примере каждый из 30 SKU в среднем стоит в 2 000 из 3 000 точек. Под наблюдением – 60 000 пар «SKU в точке». Если за неделю за свою норму выходят 4% пар, это 2 400 сигналов: 1 300 провалов, 500 всплесков и 600 «мёртвых» позиций. На следующей неделе – ещё столько же, часть из них – те же самые.

Разобрать 2 400 сигналов вручную нельзя ни силами KAM, ни силами мерчандайзинга. Даже если у компании есть полевая команда, на проверку одной точки уходит визит, а визитов в неделю – десятки или сотни, не тысячи. Поэтому список «точки с аномалиями» без обработки превращается в отчёт, который никто не читает до конца.

Вторая причина – смысл одиночного сигнала. Провал в одной точке может быть случайным: ремонт в магазине, временная выкладка, неделя с плохой погодой. А когда провалы идут сразу в 300 точках одного дистрибьютора, это уже не случайность, а одна причина с понятным адресом. Разбор по одной точке такую причину не покажет: каждый сигнал по отдельности выглядит мелким.

Что считать сигналом

Сигнал – отклонение продаж пары SKU × ТТ от её собственной нормы. Норма – средние продажи этой пары за последние 12 недель. Сравнивать со средним по сети или по формату нельзя: один и тот же SKU в гипермаркете и в магазине у дома продаётся в разных объёмах, и общий порог либо пропустит провалы в маленьких точках, либо будет срабатывать на каждой большой.

Три типа сигналов и пороги в модельном примере:

  • провал – продажи ниже нормы на 30% две недели подряд;
  • всплеск – выше нормы на 50% за неделю;
  • «мёртвая» позиция – 0 продаж 3 недели подряд при товаре в матрице.

Две недели для провала нужны, чтобы отсечь шум одной плохой недели. Три недели для «мёртвой» позиции – чтобы не ловить редкие покупки в медленных категориях. Порог всплеска – одна неделя: реагировать на него нужно быстро, иначе под неожиданный спрос не хватит остатков.

12 недель – рабочий минимум для «быстрых» категорий, где ассортимент сети меняется каждые 1–2 месяца. Окно в 4 недели слишком короткое: одна удачная неделя завышает норму. С сезонностью работают двумя приёмами: рядом с нормой за 12 недель держат норму того же периода год назад, а известные промо-недели – своё промо, промо сети, праздники – выносят из расчёта нормы и не считают аномалиями.

Шаг 1. Свести сигналы по срезам

Первое, что делают с недельным списком сигналов, – раскладывают его по срезам: регион, дистрибьютор, сеть, SKU. Вопрос к каждому срезу один: где сигналов больше, чем должно быть при случайном разбросе. Если в регионе 10% всех пар SKU × ТТ, а провалов в нём – 50%, это не шум, а группа с общей причиной.

В модельном примере 1 450 из 2 400 сигналов (60%) складываются в три группы:

  • 700 провалов в одном регионе у одного дистрибьютора по всем SKU – причина-кандидат: перебои поставок дистрибьютора; кому – отдел продаж;
  • 450 «мёртвых» позиций в одной сети по 3 SKU – причина-кандидат: SKU выпали из матрицы сети или сеть закрыла их заказ в эти точки; кому – менеджер по работе с сетью (KAM);
  • 300 всплесков в одной сети по 2 SKU – причина-кандидат: промо сети, не согласованное с производителем; кому – трейд-маркетинг, чтобы пересмотреть прогноз и остатки.

Три решения вместо 1 450 проверок на местах. Каждое решение снимает проблему сразу в сотнях точек: дистрибьютор восстанавливает поставки, KAM возвращает SKU в заказ, трейд-маркетинг довозит остатки под промо. Ни одна из этих причин не видна, если смотреть на точки по одной.

Порядок срезов имеет значение. Сначала – самые крупные (регион, дистрибьютор, сеть): они отвечают за логистику и договорённости, и одна ошибка там бьёт по тысячам пар. Потом – SKU внутри них: если в сети проседают только 2 SKU из 30, причина в этих товарах, а не в сети.

Шаг 2. Тип сигнала и срез подсказывают причину

Где собрались сигналы, там и первая проверка. Связка «тип сигнала + срез» сужает круг причин до одной-двух и сразу даёт адрес – кому отдать вопрос:

  • провалы в одном регионе или у одного дистрибьютора – проверить остатки и отгрузки дистрибьютора; кому – отдел продаж;
  • провалы в одной сети – цену на полке и промо конкурента в этой сети; кому – KAM;
  • всплески в одной сети – промо сети, не согласованное с вами; кому – трейд-маркетинг;
  • «мёртвые» позиции в одной сети – вывод SKU из матрицы и закрытый заказ в точки; кому – KAM;
  • сигналы, разбросанные по отдельным точкам, – выкладку и наличие на полке; кому – мерчандайзинг.

Последний пункт зависит от того, есть ли у компании мерчандайзинг – свой или подрядный – в нужных регионах. Он есть не у всех и не везде: многие производители работают с мерчандайзингом только в крупных городах. Если его нет, проверка выкладки уходит запросом в сеть через KAM, и тогда тем важнее, чтобы таких запросов было немного – это задача шага 3.

Список не заменяет проверку, а задаёт её порядок. Если провалы собрались в одной сети, а цена и промо конкурента в порядке, следующий вопрос – к выкладке в этой сети. Но начинать с обхода полок там, где причина видна в данных отгрузок, – значит тратить визиты впустую.

Шаг 3. Одиночные сигналы – по сумме потерь

После групп остаются сигналы, которые никуда не сложились: в примере их 950. Их не разбирают подряд и не выбирают по принципу «сначала крупные сети». Каждый сигнал оценивают в деньгах:

Потери = (норма − факт) × цена.

Например, норма пары – 24 упаковки в неделю, факт – 6. Недобор 18 упаковок по 95 руб. – 1 710 руб. за неделю. Для «мёртвой» позиции факт равен нулю, и потери – это вся норма. Для всплеска та же формула даёт отклонение со знаком плюс: это не потери, а объём, под который может не хватить остатков. Всплески ставят в тот же список по сумме отклонения и проверяют в первую очередь на ошибку данных и крупную разовую закупку.

Отсортированный по убыванию список почти всегда выглядит одинаково: несколько десятков сигналов дают большую часть денег, а длинный хвост – копейки на пару. В модельном примере первые 100 сигналов из 950 – 45% потерь. Их и отдают в работу: KAM и мерчандайзингу, если он есть. Остальные ждут следующей недели: если сигнал повторится, он поднимется в списке, если нет – это был шум.

Такой порядок решает и проблему нагрузки. Вместо 2 400 сигналов команда получает три групповые задачи и короткий список из сотни точек, отсортированный по деньгам, – объём, который реально разобрать за неделю.

Какие данные нужны для разбора

Чтобы разбор работал каждую неделю, нужны три источника.

Первый – sell-out сетей: продажи SKU по торговым точкам по неделям. В крупных сетях он доступен в кабинете поставщика, выгрузкой или через API. Качество стоит проверять: встречается пустая строка вместо нуля (точка выглядит как «нет данных», а не «нет продаж»), один SKU под двумя штрихкодами, запаздывание выгрузки на неделю. Каждая такая ошибка порождает ложные сигналы сразу в сотнях пар.

Второй – справочники для срезов: к какой сети, региону и дистрибьютору относится каждая точка. Без них сигналы не сводятся в группы, и шаг 1 не работает. Справочник точек – самая недооценённая часть разбора: если у 10% точек не указан дистрибьютор, группа «провалы у одного дистрибьютора» окажется размыта по нескольким срезам.

Третий – собственные отгрузки производителя по регионам, дистрибьюторам и неделям. Они нужны, чтобы проверить первую гипотезу по групповым провалам: если отгрузки дистрибьютору в регион упали, причина найдена без единого визита в точку.

Матрица «SKU × точки» на 60 000 пар в неделю в Excel не помещается в рутину: пересчёт норм, сводка по срезам и сортировка по потерям требуют отдельной системы. Отсюда и требование к инструменту: нормы считаются автоматически, сигналы сводятся по срезам, список одиночных сигналов собирается по сумме потерь.

Типичные ошибки

Первая – выдавать команде список точек вместо сводки. Список из 2 400 строк никто не разберёт, и через месяц разбор аномалий превращается в отчёт для галочки.

Вторая – одна норма на сеть или на формат. Общий порог либо не видит провалы в маленьких точках, либо даёт сотни ложных сигналов в больших.

Третья – разбирать одиночные сигналы раньше групп. Пока команда проверяет отдельные точки, группа из 700 провалов у одного дистрибьютора продолжает терять выручку, и каждую неделю добавляет новые сигналы в список.

Четвёртая – решать «мёртвые» позиции выводом из матрицы. Если 450 «мёртвых» позиций собрались в одной сети, причина почти наверняка не в спросе, а в статусе SKU у сети. Вывод товара в этом случае закрепляет потерю полки, за которую уже заплачено переговорами.

Что это значит для производителя

Во-первых, данные нужны по SKU × ТТ × неделя по всему периметру, а норма – своя для каждой пары, по 12 неделям. Без этого нет ни сигналов, ни групп.

Во-вторых, каждую неделю – свод сигналов по срезам: регион, дистрибьютор, сеть, SKU. Команда получает не список точек, а несколько групп с причиной-кандидатом и адресом.

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

В-четвёртых, KPI команды – сколько групп устранено (причина снята, продажи вернулись к норме) и сколько выручки возвращено, а не число проверенных точек. Такой KPI считается каждую неделю и прямо связан с деньгами: группа, у которой продажи вернулись к норме, видна в данных так же, как была видна её проблема.

Чтобы такая рутина работала, нужны продажи по SKU, торговой точке и неделе в одной системе, рядом с нормами и сигналами.

Похожие материалы

X5 за 3 кв. 2026: четыре источника роста выручки

X5 за 3 кв. 2026: четыре источника роста выручки

Сети открывают вдвое меньше: минимум с 2011

Сети открывают вдвое меньше: минимум с 2011

Данные как основа управления продажами в FMCG

Данные как основа управления продажами в FMCG