Что такое XYZ-анализ — простыми словами

Что такое XYZ-анализ — простыми словами

Что такое XYZ-анализ

XYZ-анализ отвечает на один вопрос: насколько ровно продаётся каждая позиция из вашего списка.

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

Метод берёт продажи по периодам — месяцам, неделям, кварталам — и делит позиции на три группы:

  • X — спрос ровный, будущее предсказуемо;
  • Y — колеблется, но в понятных пределах;
  • Z — рвано, планировать по среднему нельзя.

Ценность не в самих буквах, а в том, что после анализа список перестаёт быть однородным. Под X можно держать меньший запас и заказывать по расписанию. Под Z запас либо страховой и дорогой, либо его нет и вы миритесь с отказами. Решение разное, и до анализа его принимают по всему ассортименту одинаково.

Почему среднего недостаточно

Возьмём две позиции и посмотрим продажи по кварталам.

Первая: 100, 105, 95, 100 штук. Вторая: 40, 10, 210, 140 штук.

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

XYZ-анализ измеряет именно эту разницу — насколько сильно значения разбегаются вокруг своего среднего. У первой позиции разброс получится 3,5 %, у второй — 79,7 %. Первая попадёт в X, вторая в Z.

Само число называется коэффициентом вариации, и считается оно проще, чем кажется.

Как считается

Шагов три, и каждый можно проверить на калькуляторе.

  1. Считаем среднее за все периоды.
  2. Считаем стандартное отклонение — насколько в среднем значения отходят от этого среднего.
  3. Делим одно на другое и переводим в проценты.

Последнее действие и есть коэффициент вариации:

CV = σ / μ × 100 %

CV
коэффициент вариации, разброс в процентах от среднего
σ
стандартное отклонение продаж по периодам
μ
среднее значение продаж за период

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

Стандартное отклонение считается так:

σ = √( ( (x₁ − μ)² + (x₂ − μ)² + … + (xₙ − μ)² ) / N )

xᵢ
продажи в периоде номер i
μ
среднее за все периоды
N
сколько всего периодов

Обратите внимание на деление на N, а не на N − 1. Это так называемая генеральная форма: мы описываем именно те периоды, которые есть в файле, а не оцениваем по выборке поведение чего-то большего. Инструмент считает так же — и если вы сверяете его расчёт с Excel, берите СТАНДОТКЛОНП (в английской версии STDEVP), а не СТАНДОТКЛОН. На двенадцати месяцах разница между ними заметная: примерно 4 %.

Проверим на второй позиции из примера выше. Среднее — 100. Отклонения: −60, −90, +110, +40. Квадраты: 3600, 8100, 12 100, 1600. Их сумма 25 400, делим на 4 периода — 6350, корень — 79,7. Делим на среднее 100 и получаем 79,7 %.

X, Y и Z: откуда берутся пороги

Получив процент по каждой позиции, остаётся разложить их по группам. Границы по умолчанию такие:

  • X — коэффициент вариации меньше 10 %;
  • Y — от 10 % до 25 %;
  • Z — 25 % и выше.

Эти числа — отраслевая договорённость, а не закон природы, и в вашем случае они могут оказаться не теми. Смысл у них простой. До 10 % колебания не мешают планировать: отклонение укладывается в обычный страховой запас. После 25 % среднее перестаёт что-либо предсказывать — заказывать «как обычно» уже нельзя.

Менять границы стоит, когда результат перестаёт различать позиции. Если в X попало три позиции из двухсот, а всё остальное оказалось в Z, отчёт не говорит ничего — поднимите пороги и посмотрите, где данные сами распадаются на группы. И наоборот: продажи по неделям колеблются сильнее, чем по месяцам, просто потому, что период короче, — на недельных данных пороги обычно выше.

В демонстрационной выгрузке при границах по умолчанию получилось так: 40 позиций в X, 42 в Y и 38 в Z. Коэффициент вариации в X — от 4 до 8,6 %, в Y — от 13,1 до 21,5 %, в Z — от 32,3 до 111,5 %.

Что подавать на вход

Файл устроен просто: строка — позиция, столбцы — периоды.

  • Название или артикул — чтобы строку можно было опознать.
  • Числовые столбцы по периодам: январь, февраль, март и так далее. Это могут быть штуки, литры, деньги — важно, чтобы во всех столбцах была одна и та же величина.
  • Столбцы идут в хронологическом порядке — слева направо.

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

В выбранных столбцах не должно быть пустых ячеек. Инструмент проверяет их перед расчётом, и если находит пропуск, дальше не идёт: показывает список таких строк и оставляет вас на шаге выбора столбцов. То же самое будет с прочерком, «н/д» и любой другой пометкой словами — для расчёта это не число.

Чинится это одним действием: в пустую ячейку ставится ноль. Месяц без продаж — это факт, а не отсутствие данных, и ноль говорит ровно это. А вот подставлять вместо пропуска среднее не нужно — почему, разберём в частых ошибках.

Ноль продаж — это не Z

Отдельно про позицию, которая не продавалась ни разу.

У такой строки среднее равно нулю, а значит, делить на него нельзя — коэффициент вариации для неё не существует. Инструмент не выдаёт ошибку и не пишет вместо него ноль: позиция просто остаётся без класса. Она есть в отчёте, её видно, но ни в X, ни в Y, ни в Z её нет.

Это сделано намеренно. Отнести такую позицию к Z значило бы сказать «спрос непредсказуем», хотя сказать про неё нечего вообще: спроса не было. А ноль вместо коэффициента поставил бы её в один ряд с самыми ровными позициями ассортимента — то есть ровно наоборот.

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

Сколько периодов нужно

Формально коэффициент вариации считается и по трём числам. Практически три точки не говорят почти ничего: одна случайная распродажа — и позиция уезжает в Z.

Разумный минимум — 12 периодов, то есть год по месяцам. Это даёт две вещи сразу: устойчивый разброс и возможность увидеть сезон. Если периодов меньше, помните, что вы смотрите на срез, а не на поведение позиции.

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

Как читать отчёт

Отчёт XYZ-анализа: столбцы с продажами по месяцам, коэффициент вариации и класс по каждой позиции

В отчёте к вашим столбцам добавляются два: коэффициент вариации и класс. Всё остальное — ваш файл в неизменном виде, строка к строке.

Читать его стоит в таком порядке.

  1. Сначала распределение по классам целиком. Сколько позиций в каждой группе — это картина ассортимента. Если в Z больше трети позиций, дело, скорее всего, не в них, а в периоде наблюдения или в самих данных.
  2. Потом Z по убыванию объёма. Крупная позиция с рваным спросом — это замороженные деньги и риск одновременно, и именно с неё начинается работа.
  3. Потом X. Это кандидаты на сокращение запаса и на автоматический заказ: по ним планирование работает.

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

Что делать с каждым классом

X — ровный спрос. Держите меньший запас и заказывайте по расписанию. Здесь работает автоматизация: точка заказа, минимальный остаток, регулярная поставка. Сэкономленные на складе деньги берутся в основном отсюда.

Y — колеблется в понятных пределах. Страховой запас нужен, но небольшой. Стоит посмотреть, откуда колебание: если оно повторяется из года в год, это сезон, и его можно планировать; если нет — это просто неровный спрос.

Z — рвано. Здесь выбор осознанный, и он всегда компромисс. Либо вы держите дорогой страховой запас, либо миритесь с тем, что позиции временами не будет, либо работаете под заказ. Что нельзя — так это применять к Z те же правила, что к X: именно из этого получаются и переполненный склад, и отказы одновременно.

И общее правило: чем крупнее позиция, тем дороже ошибка. Поэтому XYZ почти никогда не применяют в одиночку — его соединяют с ABC-анализом, который делит тот же список по вкладу в результат. Об этом — следующая статья серии.

Частые ошибки

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

Считать Z синонимом «плохо». В Z попадает всё, что колеблется, — в том числе сезонные позиции и новинки, которые только начали продаваться. В демонстрационной выгрузке из 38 позиций класса Z три оказались сезонными, две растут, одна затухает и одна перестала продаваться совсем. Это шесть разных решений, а буква у них одна.

Пример из той же выгрузки. Самая крупная позиция ассортимента — кофе в зёрнах, который в июне–августе даёт 56,3 % своих годовых продаж. Её коэффициент вариации 76,8 %, то есть она уверенно в Z. Но спрос на неё не «непредсказуем» — он предсказуем отлично, просто не по среднему за год. XYZ-анализ этого различия не делает: он видит разброс и не видит, что разброс сложился в сезон. Как инструмент отделяет сезон от рваного спроса — в третьей статье серии.

Заполнять пропуски средним. Заполнить их придётся — без этого инструмент не начнёт расчёт, — но подставляют туда среднее, чтобы «не портить статистику», и добиваются ровно обратного: позиция, которой полгода не было в наличии, выглядит ровно продающейся, а её разброс — меньше настоящего. Правильное значение — ноль.

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

Что дальше

XYZ отвечает на вопрос «насколько предсказуемо». ABC-анализ отвечает на другой — «сколько это даёт». По-настоящему решения принимаются на пересечении: позиция, которая даёт много денег и при этом ведёт себя непредсказуемо, требует внимания в первую очередь, а ровный хвост не требует почти никакого.

Посчитайте свой файл

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

Открыть XYZ-анализ