Методика · 7–10 минут
ABC/XYZ-анализ: каким товарам уделять больше внимания
Метод соединяет ценность позиции и характер спроса. Он помогает назначить разным группам разные правила контроля, но не принимает решение о запасе вместо человека.
Когда в ассортименте десятки или сотни позиций, управлять всеми одинаково неудобно. Один товар создаёт заметную часть оборота и продаётся каждый день. Другой приносит мало денег, но нужен клиентам время от времени. Третий кажется хаотичным только потому, что в короткую историю попала крупная акция. ABC/XYZ-анализ разделяет эти ситуации и показывает, где управленческое внимание принесёт больше пользы.
Метод состоит из двух независимых взглядов на одни и те же позиции. ABC отвечает на вопрос «насколько товар важен по выбранному показателю?». XYZ показывает, насколько равномерно меняется спрос от периода к периоду. После объединения получаются группы AX, AY, AZ и далее. Буквы не означают «хороший» или «плохой» товар — они описывают режим контроля.
Что показывает ABC
Сначала выберите показатель под управленческий вопрос. Для закупок часто используют стоимость потребления: количество за горизонт умножают на закупочную цену. Для коммерческого анализа подходят выручка или валовая маржа. Для склада иногда важнее количество отборов, строк заказа, объём или паллетоместа. Если выбрать показатель по привычке, классификация может быть математически верной, но бесполезной для решения.
значение позиции / сумма значений всех позицийПозиции сортируют по убыванию показателя и считают накопленную долю. Стартовые границы инструмента: A — пока доля до текущей позиции меньше 80%, B — пока она меньше 95%, C — остаток. Позиция, пересекающая границу, остаётся в более приоритетном классе. Одинаковые значения по умолчанию не разделяются случайной сортировкой.
Что с этим делать. A-позиции проверяйте чаще и точнее, B — регулярно, но с меньшей детализацией. Для C ищите простые правила, чтобы стоимость администрирования не оказалась выше вклада товара. Пороги 80% и 95% — не отраслевой закон, а стартовая политика компании. Для дорогих запчастей, обязательного ассортимента или маржинальных товаров границы могут быть другими.
Как выбрать показатель ABC и не получить ложный приоритет
Начните не с доступной колонки, а с решения, которое будет принято после анализа. Если задача — распределить внимание закупщика, стоимость потребления показывает денежный масштаб потока. Если нужно управлять коммерческим результатом, полезнее валовая маржа: товар с большой выручкой и почти нулевой наценкой тогда не вытеснит действительно прибыльные позиции. Для размещения на складе могут быть важнее строки заказов, объём, масса или число подходов комплектовщика. Один и тот же SKU способен быть A по выручке, B по марже и C по количеству, и это не противоречие.
Показатель должен быть аддитивным и рассчитанным одинаково для всех строк. Нельзя складывать проценты маржи, средние цены или дни хранения и затем трактовать их как вклад. При анализе стоимости потребления заранее выберите единую цену: среднюю за горизонт, последнюю закупочную или нормативную. Резкое изменение цены без изменения спроса способно передвинуть товар между классами, поэтому в отчёте полезно сохранять дату расчёта, источник цены и валюту.
Горизонт тоже меняет вывод. Три последних месяца быстрее отражают новый ассортимент, но сильнее зависят от случайной акции. Двенадцать месяцев сглаживают шум и захватывают сезон, однако медленнее показывают структурный сдвиг. Сравнивая два запуска, не меняйте одновременно горизонт, показатель и пороги: иначе невозможно определить, почему позиция сменила класс.
Что показывает XYZ
XYZ сравнивает спрос по одинаковым периодам: например, неделям или месяцам. Базовый показатель — коэффициент вариации. Он сопоставляет разброс со средним уровнем спроса. В инструменте используется генеральное стандартное отклонение с делением на N, потому что анализируется весь выбранный горизонт, а не выборка из него.
CV = стандартное отклонение / средний спрос × 100%Ряд 98, 101, 100, 102 почти не меняется, поэтому его CV мал. Ряд 20, 75, 15, 90 колеблется заметнее. По стартовой настройке X получает CV до 10% включительно, Y — свыше 10% и до 25%, Z — свыше 25%. Для недельных данных шум обычно выше, чем для месячных, поэтому сравнивать классы следует только при одинаковой частоте и горизонте.
Что с этим делать. X допускает более регулярное пополнение при прочих равных. Для Y стоит разбирать календарь и причины отклонений. Z требует контекста: проектные заказы, акции, дефициты, сезонность и выбросы. Высокий CV сам по себе не доказывает плохой прогноз, излишек или необходимость убрать товар.
Как читать матрицу 3×3
После объединения букв появляется девять рабочих групп. Первая буква задаёт приоритет ценности, вторая — характер колебаний. Матрица удобна для очередности работы, но каждую политику нужно дополнить сроком поставки, минимальной партией, сроком годности, заменяемостью и критичностью отсутствия.
| Группа | Смысл | Типичное действие |
|---|---|---|
| AX | Высокая ценность, стабильный спрос | Частый контроль, регулярное пополнение, высокая точность данных |
| AY | Высокая ценность, умеренные колебания | Регулярный прогноз, разбор отклонений, сценарная проверка запаса |
| AZ | Высокая ценность, нестабильный спрос | Ручное планирование, проверка проектов, акций, дефицитов и выбросов |
| BX | Средняя ценность, стабильный спрос | Стандартное пополнение и периодический контроль |
| BY | Средняя ценность, умеренные колебания | Контроль по исключениям и учёт промокалендаря |
| BZ | Средняя ценность, нестабильный спрос | Ограниченный запас, заказ под событие или укрупнённый цикл |
| CX | Низкая ценность, стабильный спрос | Простые правила, редкий пересмотр, экономичный размер заказа |
| CY | Низкая ценность, умеренные колебания | Упрощённый контроль и обоснованный буфер |
| CZ | Низкая ценность, нестабильный спрос | Проверка обязательности наличия и возможности закупки под потребность |
Критичная дешёвая деталь может требовать высокого уровня сервиса даже в CZ. Напротив, дорогой проектный товар AZ может закупаться только под подтверждённый заказ. Поэтому матрица задаёт вопросы и приоритеты, а не автоматически меняет заказ или страховой запас.
Как превратить класс в рабочее правило
Для каждой группы опишите не абстрактное «контролировать чаще», а проверяемый регламент: кто владелец, как часто пересматривается прогноз, какой уровень сервиса принят, когда требуется ручное согласование и какие отклонения считаются существенными. Например, для AX закупщик может еженедельно проверять параметры пополнения и расхождения учёта; для AZ — согласовывать крупный заказ с продажами; для CX — применять простое автоматическое правило; для CZ — закупать под подтверждённую потребность. Такой регламент делает матрицу воспроизводимой и позволяет измерить эффект.
Не назначайте уровень запаса только по двум буквам. Один и тот же AX при сроке поставки два дня и два месяца требует разных решений. MOQ может создать излишек даже при стабильном спросе, срок годности ограничивает размер партии, а высокая цена отсутствия меняет приоритет дешёвой позиции. Поэтому итоговая политика должна соединять класс с lead time, вариативностью срока поставки, минимальной партией, заменяемостью и критичностью.
Пограничные позиции проверяйте отдельно. Разница между 79,9% и 80,1% накопленной доли не означает резкого изменения бизнеса. Полезно вывести долю, накопленную долю и расстояние до порога, а затем сравнить класс на нескольких соседних горизонтах. Если товар постоянно перемещается между A и B из-за малых колебаний, разумнее закрепить единое правило до следующего планового пересмотра, чем ежемесячно менять процесс.
Где применять и какой эффект ожидать
ABC/XYZ применяют к ассортименту, сырью, запчастям, клиентам, поставщикам и операциям склада. Для ассортимента можно соединить выручку с продажами по месяцам. Для закупок — стоимость потребления с расходом по неделям. Для клиентов — валовую прибыль с регулярностью заказов. Для склада — трудозатраты или число строк отбора с нагрузкой по дням.
Результат анализа сам по себе не сокращает запас. Эффект появляется, когда группы получают разные правила. Для AX можно повысить точность учёта и чаще пересматривать параметры. Для AZ — выяснять природу скачков и согласовывать крупные заказы. Для CX и CY — упростить контроль. Для CZ — проверить обязательность наличия и возможность заказа под потребность.
После первого запуска сохраните настройки, а через несколько циклов сравните дефициты, излишки, списания и трудозатраты. Полезно наблюдать и миграцию классов: переход AX → AZ может быть важнее самого текущего класса AZ. Без такого цикла классификация остаётся только красивой таблицей.
Как часто обновлять анализ
Для большинства ассортиментов разумная отправная точка — раз в месяц на скользящем горизонте 12 месяцев. Быстро меняющийся ассортимент или ежедневные операции можно анализировать еженедельно на 13–26 неделях. Дорогие медленно оборачиваемые позиции — ежеквартально на горизонте 24–36 месяцев.
Вне графика расчёт повторяют после заметной смены цен, ассортимента, поставщика, промокалендаря, сезонного пика или бизнес-модели. Частота не компенсирует плохие данные: сравнивайте одинаковые периоды и фиксируйте применённые правила.
Нестандартные случаи, которые нельзя прятать
CV выше 100%
Не ограничивайте его числом 999%. Обычно причина — много нулей, один пик или малое среднее. Позиция остаётся Z, но получает предупреждение. Инструмент дополнительно показывает долю нулей, ADI, CV² и чувствительность без отмеченного пика.
Среднее равно нулю или отрицательное
Деление теряет смысл. Вместо бесконечности или ложного Z нужен статус «XYZ не определён». Возвраты и корректировки лучше отделить; любое преобразование должно быть выбрано пользователем.
Много периодов без продаж
Ноль может означать отсутствие спроса, а может — дефицит товара. Реальный ноль входит в ряд. Период дефицита следует пометить пропуском. Для редких событий полезны ADI и CV²; типы «плавный», «нерегулярный», «прерывистый» и «комковатый» — эвристика, а не замена XYZ.
Один всплеск
Акция или проект могут резко изменить CV. Базовый результат должен оставаться рассчитанным по исходным данным. Чувствительность без пика показывается отдельно; молча удалять наблюдение нельзя, потому что событие может повториться.
Сезонность или тренд
Ровная ежегодная сезонность прогнозируется лучше случайного шума, хотя CV может быть высоким. При 24 месячных периодах инструмент проверяет лаг 12, а при достаточной истории — линейный тренд. Это подсказки для проверки, не доказательство.
Новый товар и все нули
При истории короче трёх периодов XYZ не присваивается. При 3–5 периодах класс предварительный. Все нули — отдельный статус «Нет спроса», а не стабильный X. Для запуска нового товара используйте аналог, план и ручной уровень сервиса.
Контроль качества перед расчётом
Проверьте, что все товары имеют одинаковую сетку периодов, а месяцы действительно означают календарные месяцы одной длительности. Удалите итоговые строки, отделите перемещения между складами от клиентского спроса и решите, как учитывать возвраты. Не подменяйте пропуск нулём: пустая ячейка может означать отсутствие выгрузки, а ноль — подтверждённое отсутствие спроса. Период, когда товар отсутствовал на складе, не доказывает нулевую потребность и требует отдельного решения.
До интерпретации просмотрите дубли SKU, конфликтующие названия, отрицательные значения, экстремальные пики и смену единиц измерения. Зафиксируйте выбранную обработку в настройках и сохраните исключения вместе с результатом. Тогда другой сотрудник сможет повторить расчёт, а изменение класса будет объясняться данными или политикой, а не незаметной правкой таблицы.
Короткий порядок действий
- Определите вопрос. Выберите показатель ABC, связанный с решением.
- Подготовьте историю. Возьмите одинаковые периоды и не менее трёх наблюдений.
- Проверьте данные. Разберите нули, пропуски, возвраты, дефициты и акции.
- Зафиксируйте правила. Оставьте стартовые пороги или настройте политику компании.
- Читайте исключения. Матрица без предупреждений и диагностики даёт неполную картину.
- Назначьте действия. Уточните срок поставки, MOQ, критичность и ответственных.
- Повторите цикл. Сравните миграцию классов и фактический эффект.
Итог прост: ABC показывает, где сосредоточена ценность, XYZ — как меняется спрос. Хороший анализ не прячет сложные позиции в Z, а объясняет, почему класс появился и что проверить дальше.