Как сделать матрицу ABC-XYZ анализа в Excel: формулы и примеры

Создание матрицы ABC-XYZ анализа в Microsoft Excel начинается с ошибки: 80% пользователей сначала сортируют данные по убыванию, а потом пытаются применить функции СЧЁТЕСЛИ или ЕСЛИ к неструктурированным столбцам. Это приводит к некорректному распределению товаров по группам А/В/С и X/Y/Z, особенно если в наборе данных есть нулевые продажи или выбросы. Правильный алгоритм требует предварительной нормализации значений, расчёта кумулятивных долей и только затем — применения условного форматирования.

В этой инструкции разберём реальный пример: у нас есть таблица с 500 SKU, данными о продажах за год и коэффициентами вариации. Цель — автоматизировать распределение товаров по 9 сегментам матрицы (от AX до CZ) с учётом пороговых значений: 80% для группы A, 15% для B, и 5% для C по доле в выручке, а для XYZ — стандартные отклонения 10%, 25% и 65%. Все формулы будут адаптированы под динамические диапазоны, чтобы при добавлении новых строк не пришлось переделывать расчёты.

Что такое ABC-XYZ анализ и зачем он нужен

Матрица ABC-XYZ анализа — это инструмент комбинированной сегментации, который сочетает два подхода:

  • 📊 ABC-анализ: ранжирует товары по их вкладу в общую выручку (или другой метрике). Группа A — самые значимые 20% позиций, приносящие 80% дохода.
  • 📉 XYZ-анализ: оценивает стабильность спроса по коэффициенту вариации. Группа X — товары с предсказуемым спросом (вариация <10%), Z — хаотичные продажи (вариация >65%).

Комбинация этих методов даёт 9 сегментов (например, AX — высокодоходные и стабильные товары, CZ — низкодоходные с непредсказуемым спросом), что позволяет:

  • 🛒 Оптимизировать запасы: для AX использовать модель "точно в срок", для CZ — минимальные страховые запасы.
  • 💰 Перераспределять бюджет: инвестировать в продвижение AY (высокий потенциал, но нестабильный спрос).
  • ⚠️ Выявлять аномалии: товары группы BZ могут сигнализировать о проблемах с логистикой или маркетингом.
⚠️ Внимание: Если в ваших данных есть товары с нулевыми продажами за период, их нужно исключить из анализа или заменить коэффициент вариации на максимальное значение (например, 100%). В противном случае формулы вернут ошибку #ДЕЛ/0!.

Подготовка данных: структура таблицы и предварительные расчёты

Для корректного анализа исходная таблица должна содержать как минимум 3 столбца:

  1. Наименование товара (или SKU)
  2. Выручка за период (или количество продаж)
  3. Продажи по месяцам (для расчёта коэффициента вариации)

Пример структуры:

SKUВыручка, руб.ЯнвФев...Дек
Товар 11 250 000120 00095 000...110 000
Товар 2890 00078 00082 000...75 000
..................

Перед сегментацией выполните 3 обязательных шага:

  1. Удалите дубликаты SKU (используйте ДАННЫЕ → Удалить дубликаты).
  2. Отсортируйте данные по убыванию выручки (выделите столбец → ГЛАВНАЯ → Сортировка и фильтр).
  3. Добавьте столбец "Доля в выручке, %" с формулой:
    =B2/$B$12*100, где B12 — ячейка с общей выручкой (используйте абсолютную ссылку $B$12).

Удалить дубликаты SKU|Отсортировать по убыванию выручки|Добавить столбец "Доля в выручке, %"|Проверить отсутствие нулевых значений в продажах-->

Расчёт ABC-групп: формулы и пороговые значения

Для распределения товаров по группам A/B/C используйте кумулятивную долю и функцию ЕСЛИ с вложенными условиями. Алгоритм:

  1. Добавьте столбец "Кумулятивная доля, %" с формулой:
    =СУММ($D$2:D2), где D2 — ячейка с долей первого товара.
  2. Создайте столбец "ABC-группа" и примените формулу:
    =ЕСЛИ(E2<=80%;"A";ЕСЛИ(E2<=95%;"B";"C"))

    Здесь E2 — ячейка с кумулятивной долей.

По умолчанию пороги устанавливаются как 80% (A) / 15% (B) / 5% (C), но их можно корректировать под специфику бизнеса. Например, для розничных сетей с широким ассортиментом часто используют распределение 70% / 20% / 10%.

⚠️ Внимание: Если после применения формулы все товары попали в группу A, проверьте:
  • Корректность расчёта кумулятивной доли (должна расти от строки к строке).
  • Отсутствие скрытых фильтров (нажмите ДАННЫЕ → Фильтр → Очистить).
  • Формат ячеек с долями (должен быть "Процентный" или "Общий").

Выделите диапазон → ГЛАВНАЯ → Условное форматирование → Правила выделения ячеек → Текст содержит → введите "A" и выберите зелёный цвет.-->

Расчёт XYZ-групп: коэффициент вариации и его интерпретация

Для определения групп X/Y/Z нужно рассчитать коэффициент вариации (CV) по формуле:

CV = (Стандартное отклонение / Среднее значение) × 100%

В Excel это реализуется так:

  1. Добавьте столбец "Среднее продаж" с формулой:
    =СРЗНАЧ(C2:N2), где C2:N2 — диапазон с ежемесячными продажами.
  2. Добавьте столбец "Ст. отклонение" с формулой:
    =СТАНДОТКЛОН.В(C2:N2).
  3. Рассчитайте CV, %:
    =F2/G2*100, где F2 — стандартное отклонение, G2 — среднее.
  4. Примените сегментацию по правилу:
    =ЕСЛИ(H2<=10%;"X";ЕСЛИ(H2<=25%;"Y";"Z"))

Критические нюансы:

  • 🔢 Для товаров с нулевыми продажами за все месяцы CV будет равен #ДЕЛ/0!. Замените их на формулу =ЕСЛИОШИБКА(H2;100).
  • 📅 Если анализируете менее 6 месяцев данных, пороги для XYZ нужно скорректировать в сторону увеличения (например, 15%/30%/55%).
  • 🛠️ Для ускорения расчётов используйте СТАНДОТКЛОН.Г вместо СТАНДОТКЛОН.В, если выборка больше 30 наблюдений.
Почему стандартное отклонение не равно коэффициенту вариации

Коэффициент вариации (CV) показывает относительную изменчивость данных (в % от среднего), тогда как стандартное отклонение — абсолютную (в тех же единицах, что и исходные данные). Например, для двух товаров со стандартным отклонением 100 шт.:

- Товар 1: средние продажи 1000 шт. → CV = 10% (группа X).

- Товар 2: средние продажи 200 шт. → CV = 50% (группа Z).

Таким образом, CV позволяет сравнивать стабильность спроса для товаров с разным объёмом продаж.

Построение матрицы ABC-XYZ: комбинация групп

После распределения товаров по ABC и XYZ остаётся объединить результаты в единую матрицу. Для этого:

  1. Добавьте столбец "ABC-XYZ" и используйте формулу конкатенации:
    =J2&K2, где J2 — ABC-группа, K2 — XYZ-группа.
  2. Создайте сводную таблицу:
    • Поместите поле "ABC-XYZ" в "Строки".
    • Добавьте "Выручка" в "Значения" (опция "Сумма").
    • Отсортируйте по убыванию выручки.

Пример итоговой матрицы:

СегментКоличество SKUДоля в выручкеРекомендации
AX1245%Максимальный запас, приоритет в логистике
AY822%Контроль запасов, промо-акции
BX1512%Средний запас, анализ трендов
CZ403%Минимальный запас, рассмотрение вывода

Критическая ошибка: Не используйте функцию ВПР или ИНДЕКС/ПОИСКПОЗ для автоматического заполнения рекомендаций по сегментам. Вместо этого создайте отдельную таблицу правил (как в примере выше) и свяжите её с данными через ПРОСМОТР или XLOOKUP (в Excel 365).

ABC-анализ|XYZ-анализ|ABC-XYZ матрицу|Другие методы-->

Визуализация результатов: диаграммы и условное форматирование

Для наглядного представления матрицы используйте:

  • 📊 Тепловую карту: выделите диапазон с сегментами → ГЛАВНАЯ → Условное форматирование → Цветовые шкалы. Для группы AX установите зелёный, для CZ — красный.
  • 📈 Пузырьковая диаграмма:
    • Ось X — коэффициент вариации (CV).
    • Ось Y — доля в выручке.
    • Размер пузырька — количество SKU в сегменте.
  • 🗂️ Древесная карта (Treemap): вставьте → ВСТАВКА → Иерархическая диаграмма. Используйте "ABC-XYZ" как категорию, "Выручка" как значение.

Пример настройки тепловой карты для столбца "ABC-XYZ":

  1. Выделите диапазон с сегментами (например, L2:L501).
  2. Перейдите в Условное форматирование → Правила выделения ячеек → Содержит текст.
  3. Добавьте 3 правила:
    • Для "A*" — зелёный фон.
    • Для "B*" — жёлтый фон.
    • Для "C*" — оранжевый фон.
  • Повторите для XYZ-групп (например, "*X" — тёмно-зелёный, "*Z" — красный).
  • Типичные ошибки и как их избежать

    Даже опытные аналитики допускают 5 критичных ошибок при построении матрицы:

    • 🔄 Игнорирование сезонности: Коэффициент вариации за год может скрывать сезонные пики. Решение — рассчитывать CV по кварталам или использовать скользящее среднее.
    • 📉 Некорректные пороги: Стандартные 80/15/5 для ABC подходят не всем бизнесам. Для рынков с длинным хвостом (например, e-commerce) группа A может занимать до 90% выручки.
    • 🚫 Включение нулевых продаж: Товары без продаж искажают стандартное отклонение. Решение — фильтровать их перед анализом или присваивать им группу CZ вручную.
    • 🔢 Округление долей: Использование целых чисел (например, 80% вместо 80.3%) приводит к неточной сегментации. Всегда сохраняйте 2-3 знака после запятой.
    • 📎 Статичные диапазоны: Если в формулах используются абсолютные ссылки (например, $B$2:$B$500), при добавлении новых строк расчёты сломаются. Заменяйте на ТаблицаExcel[Столбец] или динамические именованные диапазоны.

    Проверьте свой файл на наличие этих ошибок с помощью чек-листа:

    Учтена сезонность в данных?|Пороги ABC/XYZ адаптированы под бизнес?|Нулевые продажи исключены или обработаны?|Доли рассчитаны с точностью до 0.01%?|Формулы используют динамические диапазоны?-->

    Автоматизация анализа: макросы и Power Query

    Для регулярного ABC-XYZ анализа целесообразно автоматизировать процесс:

    Способ 1: Макрос VBA

    Создайте макрос для автоматического расчёта групп:

    Sub ABC_XYZ_Analysis()
    

    Dim ws As Worksheet

    Set ws = ActiveSheet

    ' Добавляем столбцы для расчётов

    ws.Range("D1").Value = "Доля, %"

    ws.Range("E1").Value = "Кумулятивная доля, %"

    ws.Range("F1").Value = "ABC-группа"

    ws.Range("G1").Value = "CV, %"

    ws.Range("H1").Value = "XYZ-группа"

    ws.Range("I1").Value = "ABC-XYZ"

    ' Формулы для ABC-анализа

    ws.Range("D2").Formula = "=B2/SUM($B:$B)*100"

    ws.Range("E2").Formula = "=SUM($D$2:D2)"

    ws.Range("F2").Formula = "=IF(E2<=80%, ""A"", IF(E2<=95%, ""B"", ""C""))"

    ' Формулы для XYZ-анализа (предполагается, что месячные данные в C2:N2)

    ws.Range("G2").Formula = "=STDEV.P(C2:N2)/AVERAGE(C2:N2)*100"

    ws.Range("H2").Formula = "=IF(G2<=10, ""X"", IF(G2<=25, ""Y"", ""Z""))"

    ws.Range("I2").Formula = "=F2&H2"

    ' Копируем формулы на весь диапазон

    ws.Range("D2:I2").AutoFill Destination:=ws.Range("D2:I" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)

    End Sub

    Способ 2: Power Query

    Импортируйте данные через ДАННЫЕ → Получить данные → Из таблицы/диапазона, затем:

    1. Добавьте пользовательский столбец для доли в выручке:
      = [Выручка] / List.Sum([Выручка]) * 100.
    2. Сортируйте по убыванию выручки.
    3. Добавьте индексный столбец и рассчитайте кумулятивную долю.
    4. Примените условные столбцы для ABC/XYZ-групп.

    Преимущество Power Query: при обновлении исходных данных достаточно нажать "Обновить все", и все расчёты пересчитаются автоматически.

    ФАЙЛ → Параметры → Формулы → Вычисления в книге: Вручную. Включайте пересчёт только после завершения редактирования (клавиша F9).-->

    FAQ: Ответы на частые вопросы

    Как интерпретировать сегмент BZ?

    Товары группы BZ имеют средний вклад в выручку (5–15%) и высокий разброс спроса (>65%). Это "проблемные" позиции, требующие глубокого анализа:

    • Проверьте логистику: возможно, сбои в поставках вызывают скачки спроса.
    • Оцените маркетинг: промо-акции могут искусственно завышать вариативность.
    • Проанализируйте конкурентов: если у них стабильный спрос на аналогичный товар, проблема в вашей стратегии.

    Рекомендация: переведите часть товаров BZ в BY за счёт улучшения прогнозирования (например, с помощью ARIMA или машинного обучения).

    Можно ли делать ABC-XYZ анализ по количеству продаж, а не по выручке?

    Да, но это изменит интерпретацию результатов:

    • 📦 ABC по количеству покажет самые ходовые товары (например, расходные материалы), но они могут быть низкомаржинальными.
    • 💰 ABC по выручке выделит высокомаржинальные позиции, даже если их продаётся мало.

    Оптимальный вариант — построить две матрицы и сравнить их. Например, товар может быть в группе AX по количеству и BY по выручке — это сигнал для пересмотра ценообразования.

    Как учитывать вес или объём товаров в анализе?

    Добавьте дополнительные метрики в сегментацию:

    1. Рассчитайте долю товара в общем весе или объёме запасов (аналогично доле в выручке).
    2. Постройте 3D-матрицу: ABC (выручка) × XYZ (стабильность) × WV (вес/объём). Например, сегмент AX-H — высокодоходные, стабильные и тяжёлые товары, для которых нужно оптимизировать логистику.
    3. Используйте сводные таблицы с несколькими полями значений (выручка, вес, объём).

    Формула для доли в весе: = [Вес товара] / SUM([Вес всех товаров]) * 100.

    Что делать, если в группе A оказалось слишком много товаров?

    Это типичная проблема для бизнесов с широким ассортиментом. Решения:

    • 🔧 Скорректируйте пороги: например, установите 70% для группы A, 20% для B, 10% для C.
    • 📌 Добавьте второй критерий: сегментируйте группу A по маржинальности или оборачиваемости.
    • 🔍 Исключите выбросы: товары с аномально высокой выручкой (например, разовые крупные сделки) могут искажать распределение.

    Альтернативный подход — использовать ABC-анализ по Парето с логарифмической шкалой, который лучше работает с длинным хвостом ассортимента.

    Как обновлять анализ при добавлении новых данных?

    Способы автоматизации:

    • 🔄 Power Query: настройте запрос так, чтобы он брал данные из динамического диапазона или внешнего источника (например, или Google Sheets). Обновляйте одним кликом по кнопке "Обновить все".
    • 📊 Сводные таблицы: свяжите их с исходными данными через "Изменить источник данных".
    • 🤖 VBA-макрос: добавьте в код автоматическое определение последней строки:
      LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row.

    Для ежемесячного анализа создайте шаблон с готовыми формулами и защитите структуру листа (РЕЦЕНЗИРОВАНИЕ → Защитить лист).