Аналитика · Практическое руководство

XYZ-анализ ассортимента: как оценить стабильность спроса

Как рассчитать коэффициент вариации по неделям, задать группы X, Y и Z и отличить колебания продаж от ошибок данных. Учебный пример трёх товаров.

5 мин чтения
Иллюстрация к статье: XYZ-анализ ассортимента: как оценить стабильность спроса
Если у вас одна минута

Коротко о главном

XYZ-анализ группирует товары по изменчивости показателя во времени. Для такого сравнения можно использовать коэффициент вариации: стандартное отклонение разделить на среднее, а для процентов умножить на 100. Однако колебания наблюдаемых продаж не равны непредсказуемости спроса. Сначала нужны сопоставимые периоды и проверенные данные, затем — расчёт, выбранные границы групп и разбор причин.

  • Считайте одну метрику по одинаковым полным периодам, отделяя пропуски данных от настоящих нулей.
  • Фиксируйте формулу и границы X, Y, Z: в этой статье пороги учебные, а не отраслевой стандарт.
  • Проверяйте наличие, сезонность, тренд и акции до вывода о непредсказуемости товара.
  • Используйте группу как начало разбора, а не автоматическое решение о закупке или исключении SKU.

1. Выберите показатель и одинаковые периоды

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

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

2. Проверьте нули, пропуски и доступность

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

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

3. Зафиксируйте формулу расчёта

NIST определяет выборочный коэффициент вариации как отношение выборочного стандартного отклонения s к среднему. В нашем расчёте CV = s ÷ среднее × 100%. Для s вычтите среднее из каждого недельного значения, возведите разности в квадрат, сложите их, разделите на n − 1 и извлеките квадратный корень. Здесь n — количество недель; история рассматривается как выборка.

Не смешивайте этот способ с расчётом, где сумма квадратов делится на n: результат отличается. NIST также указывает на необходимость осмысленного нуля и чувствительность CV при среднем, близком к нулю. При среднем 0 коэффициент не определён; при одной неделе недостаточно данных для выбранного s. Выводите отдельный статус, а не присваивайте таким товарам X с нулевым разбросом.

4. Сравните три товара с одинаковым итогом

В учебном примере каждый товар продал 120 единиц за шесть недель, среднее одинаково — 20. Все значения придуманы для объяснения арифметики; шесть недель не являются рекомендуемой длиной истории. Предполагается, что данные полные и товары были доступны весь период.

У A сумма квадратов отклонений равна 10: s = √(10 ÷ 5) = √2. Для B она составляет 258, поэтому s = √51,6. Для C получаем 12 000 и s = √2400. Делим каждое s на 20 и умножаем на 100. Округляем только готовый результат, чтобы промежуточное округление не меняло группу у границы.

Учебные данные: по 120 единиц на товар. Использовано выборочное s с делением на n − 1; группы определены условными порогами следующего раздела.
ТоварНедели 1–6, шт.Среднее, шт.s, шт.CVГруппа
A18; 20; 22; 20; 19; 21201,41427,07%X
B10; 30; 15; 25; 18; 22207,183335,92%Y
C0; 0; 0; 0; 0; 1202048,9898244,95%Z

5. Задайте границы групп до сравнения

Только для этой иллюстрации выберем X при CV ≤ 20%, Y при 20% < CV ≤ 50%, Z при CV > 50%. Это собственная условная настройка, не универсальный стандарт и не правило маркетплейса. По ней A попадает в X, B — в Y, C — в Z.

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

6. Отличайте разброс от непредсказуемости

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

Для реального ряда, похожего на C, проверьте причину всплеска: разовый крупный заказ, событие календаря или накопленные данные, ошибочно отнесённые к одной неделе. Это возможные объяснения, а не установленная причина. Для редких продаж дополнительно полезно видеть число недель без событий. Один CV скрывает, насколько часто товар вообще покупают.

7. Свяжите группу с вопросом для проверки

Для X проверьте, сохраняется ли ровный ряд в соседнем окне и не ограничен ли он постоянным недостатком товара. Для Y сопоставьте колебания с ценой, рекламой и условиями доставки. Для Z разберите всплески и частоту событий до изменения плана. Эти действия нужны для понимания ряда; они не задают обязательную стратегию каждой группе.

Объём закупки дополнительно зависит от срока пополнения, наличия, ограничений поставщика и экономики товара. Позиция Z может быть полезной бизнесу, а ровные продажи X не гарантируют прибыль. Запишите найденную причину, следующее действие и данные, по которым позже проверите вывод.

Частые вопросы перед повторным анализом

CV больше 100% — ошибка? Нет: стандартное отклонение может превышать среднее, как у C. Проверяйте исходные значения и формулу, а не ограничивайте результат сотней процентов.

Как часто обновлять группы? Выберите ритм под свою задачу и фиксированное правило окна. После обновления сначала проверьте данные и события, затем объясните переход группы. Одна новая неделя особенно сильно влияет на короткую историю.

С чего начать в магазине? Возьмите один SKU, подготовьте полные недельные значения и воспроизведите расчёт. Для сопоставления товаров и периодов используйте внутреннюю аналитику магазина, в том числе соответствующий раздел HelpStat. Сохраните формулу, пороги и комментарии к ряду вместе, чтобы следующий расчёт можно было повторить.

Источники и методика

Источники ниже помогают проверить определения и возможности отчётов. Методика разбора и учебные расчёты подготовлены редакцией HelpStat. Доступность отчётов и условия работы проверяйте в своём кабинете. Расчётные примеры в статье — учебные, а не результаты клиентов.

Как устроены материалы HelpStat

Все материалы блога
Следующий шаг — за вами

У каждого товара
есть точка роста.

Найдите свою с аналитикой HelpStat.

Команда HelpStat

Связаться с HelpStat