Что такое XYZ-анализ
XYZ-анализ делит ассортимент на три группы по стабильности спроса. В отличие от ABC-анализа, который отвечает на вопрос «сколько товар приносит», XYZ отвечает на вопрос «насколько ровно он продаётся и можно ли ему верить в прогнозе».
Практическая ценность метода — в управленческих решениях, которые из него следуют:
- по X-товарам можно держать минимальный страховой запас и планировать закупку по формуле;
- по Z-товарам формула не работает — либо повышенный буфер, либо заказ под клиента, либо вывод из матрицы;
- в промо-планировании X-товары дают предсказуемый отклик, Z-товары — лотерею.
Формула: коэффициент вариации
Мера стабильности — коэффициент вариации (CV): стандартное отклонение продаж, нормированное на средний уровень продаж. Нормировка обязательна, иначе крупные по объёму товары автоматически выглядели бы «нестабильнее» мелких.
σ
CV = ----- × 100%
x̄
x̄ — средние продажи за период
σ — стандартное отклонение продаж по периодам
σ = √( Σ(xᵢ − x̄)² / n )
| Группа | Коэффициент вариации | Характер спроса | Что это значит на практике |
|---|---|---|---|
| X | до ~10% | Стабильный, ровный | Прогноз по истории надёжен, страховой запас минимален |
| Y | ~10–25% | Колеблющийся, есть тренд или сезон | Прогноз возможен, но нужен буфер и регулярный пересчёт |
| Z | выше ~25% | Нерегулярный, эпизодический | Прогноз по истории почти не работает, решение — вручную |
Пороги 10% и 25% — отраслевой ориентир из учебников, а не константа. В категориях с высокой волатильностью (fashion, аксессуары, импульсные товары) при таких порогах группа X окажется почти пустой, и анализ потеряет смысл. Правильнее посмотреть распределение CV по своему каталогу и нарезать группы по перцентилям — так, чтобы каждая группа была рабочего размера.
Пример расчёта
Продажи четырёх SKU за 6 месяцев (шт.):
| SKU | М1 | М2 | М3 | М4 | М5 | М6 | Среднее | σ | CV | Группа |
|---|---|---|---|---|---|---|---|---|---|---|
| Товар А | 100 | 105 | 98 | 102 | 100 | 95 | 100.0 | 3.1 | 3.1% | X |
| Товар Б | 200 | 190 | 215 | 205 | 195 | 210 | 202.5 | 8.5 | 4.2% | X |
| Товар В | 80 | 120 | 95 | 140 | 110 | 75 | 103.3 | 22.7 | 21.9% | Y |
| Товар Г | 10 | 60 | 5 | 90 | 15 | 4 | 30.7 | 32.7 | 106.7% | Z |
Обратите внимание на товары А и Б: абсолютный разброс у Б выше (8.5 против 3.1), но относительно своего объёма он продаётся так же ровно. Именно поэтому классификация строится на CV, а не на сыром отклонении.
Требования к данным для корректного расчёта:
| Требование | Почему важно |
|---|---|
| 12 периодов и больше | На 3–4 точках оценка отклонения статистически неустойчива |
| Исключить out-of-stock | Ноль из-за отсутствия товара — не падение спроса, а пробел в данных |
| Однородный ряд | Смена упаковки, единицы измерения или объединение SKU ломают сопоставимость |
| Учесть сезонность | Иначе предсказуемо сезонный товар попадёт в Z без всякой пользы |
| Отделить новинки | У товара с двумя месяцами истории CV бессмыслен — это холодный старт, а не нестабильность |
Матрица ABC×XYZ
Оси независимы, поэтому их совмещают в матрицу 3×3. Каждая клетка — это отдельная политика управления запасом, промо и представленностью в каталоге.
| X (спрос стабилен) | Y (спрос колеблется) | Z (спрос нерегулярен) | |
|---|---|---|---|
| A (высокий вклад) | AX — фундамент бизнеса. Всегда в наличии, автозаказ, приоритет полки и главной страницы | AY — важные и капризные. Повышенный страховой запас, ручной контроль перед пиками | AZ — зона риска. Большая выручка при непредсказуемом спросе: срывы поставок и замороженный склад бьют больнее всего |
| B (средний вклад) | BX — рабочая лошадка. Автоматический заказ, минимум внимания менеджера | BY — основной объект ручной работы категорийного менеджера | BZ — кандидаты на заказ под клиента или сокращение глубины |
| C (низкий вклад) | CX — дешёвый в поддержании ассортиментный хвост, часто сопутствующие товары | CY — держать по остаточному принципу, без закупки впрок | CZ — первый кандидат на вывод из матрицы: мало приносит и невозможно спланировать |
Практический вывод из матрицы: основное управленческое внимание нужно клеткам AZ и AY, а не строке A целиком. Клетка AX уже работает сама — она стабильна и её достаточно не ломать. Клетка CZ отбирает время закупки и место на складе, ничего не давая взамен, — именно с неё начинается чистка товарной матрицы.
Как XYZ меняет работу персонализации
Стабильность спроса напрямую влияет на то, какие сигналы работают в рекомендациях.
X-товары — надёжная статистическая база. По ним накоплено достаточно ровных данных, чтобы совместная статистика была устойчивой: блоки «часто покупают вместе» и рекомендации по со-встречаемости на X-ассортименте дают предсказуемое качество. Такие товары же безопасно использовать как «якорь» в блоках популярного — они не превратятся внезапно в неактуальные.
Z-товары ломают алгоритмы, основанные на популярности. Их продажи разрежены и рваны, поэтому любая метрика вида «покупали N раз за период» по ним статистически шумная: всплеск из трёх заказов алгоритм может принять за тренд. Для Z-ассортимента вес смещается в сторону признаков, не зависящих от истории продаж:
- контентные признаки товара — категория, бренд, атрибуты, цена (content-based подход);
- сессионные сигналы — что человек смотрит прямо сейчас;
- принадлежность к длинному хвосту как отдельный слот в выдаче, чтобы хвост не вымывался популярным ядром.
Практическое следствие для настройки стратегий рекомендаций: XYZ-группу удобно выгружать в продуктовый фид отдельным атрибутом. Тогда её можно использовать в правилах — например, ограничивать долю Z-товаров в блоке на карточке товара или, наоборот, целенаправленно раскачивать Z-хвост в блоках «похожие товары», где ставка на популярность и так не нужна.
Чек-лист внедрения
- Собрать ряд — продажи по SKU минимум за 12 периодов, в штуках (не в деньгах: изменение цены исказит вариацию).
- Очистить данные — убрать периоды out-of-stock, исключить новинки моложе 6 периодов, схлопнуть дубли SKU.
- Снять сезонность — либо десезонализировать ряд, либо считать XYZ внутри сезона.
- Посчитать CV и посмотреть его распределение по каталогу до выбора порогов.
- Задать пороги — от учебных 10%/25%, но с поправкой на реальный разброс в своей категории.
- Наложить на ABC и разобрать девять клеток, начиная с AZ и CZ.
- Пересчитывать регулярно — раз в квартал для стабильных категорий, раз в месяц для fashion и товаров с коротким жизненным циклом.
Типичные ошибки:
| Ошибка | К чему приводит |
|---|---|
| Считать CV в деньгах, а не в штуках | Инфляция и промо-цены раздувают вариацию, товар ложно уходит в Z |
| Не отделять новинки | Половина группы Z оказывается товарами без истории, а не нестабильными |
| Единые пороги для всех категорий | В одной категории пустая X, в другой — пустая Z |
| Разовый расчёт «на посмотреть» | Классификация устаревает за квартал и перестаёт влиять на решения |
| Выводить из матрицы всё, что попало в Z | В Z попадают сопутствующие и имиджевые позиции, нужные для полноты каталога |