Как построить матрицу ABC/XYZ-анализа запасов и что делать с каждой ячейкой
Про ABC/XYZ слышал каждый снабженец, но между «слышал» и «построил таблицу — а дальше что?» лежит пропасть. Практическое руководство: как провести анализ руками, разложить номенклатуру по девяти ячейкам и какое конкретное решение принять по каждой — что держать, что автоматизировать, что выводить в невостребованные остатки.
С ABC/XYZ-анализом складывается странная ситуация. Название знают все, метод считается азбукой управления запасами, и почти в каждом руководстве по снабжению есть про него глава. А на практике происходит одно из двух: либо человек не знает, с какого конца взяться, либо построил-таки таблицу с буквами — и застрял на вопросе «и что теперь с этим делать». Классификация есть, а решения нет.
Между тем ценность этого инструмента вообще не в классификации. Разложить номенклатуру по категориям — полдела и, честно говоря, самая механическая его часть. Ценность в том, какое конкретное решение вы принимаете по каждой категории: где держать запас с запасом, где — свести к минимуму, что автоматизировать и забыть, а что выводить в невостребованные остатки. Эта статья — про то, как довести анализ до решения. Логика вся укладывается в одну фразу: две оси — значимость и предсказуемость, — их пересечение даёт девять ячеек, и у каждой ячейки своя политика.
Классический ABC-анализ раскладывает позиции по одной оси — по значимости, то есть по вкладу в общую стоимость запаса. Работает он на принципе Парето — примерно 20% позиций дают около 80% стоимости, и именно на них стоит тратить основное внимание. В одном разобранном каталоге из 500 позиций 87 наименований (17,4%) давали 80% всех затрат [1] — классическая картина, которая повторяется почти везде. Отсюда три класса: A — немногочисленные дорогие позиции, на которых держится бюджет; B — середина; C — многочисленная мелочь, каждая единица которой почти ничего не весит.
Проблема в том, что одной этой оси мало, и вот почему. Позиция класса A со стабильным, ровным спросом и позиция класса A с рваным, непредсказуемым спросом ведут себя совершенно по-разному, а ABC-анализ видит их одинаково — обе просто «дорогие и важные». Если управлять ими по одному правилу, получишь худшее с двух сторон: по стабильной позиции — раздутый лишний запас, по рваной — дефицит в самый неподходящий момент. Одна ось отвечает на вопрос «сколько эта позиция стоит», но молчит про вопрос «насколько предсказуемо она расходуется». А это два разных вопроса.
Р
Автор
Редакция
Редакция Restok Journal — команда с отраслевым бэкграундом в МТО нефтегаза и металлургии. Пишем о вторичном промышленном снабжении без маркетингового шума.
Обсуждение
Пока тихо
Станьте первым, кто выскажется по материалу — редакция читает и отвечает.
Читайте дальше
Вторую ось и добавляет XYZ. Она сортирует позиции по предсказуемости спроса: X — спрос ровный и предсказуемый, Y — умеренно колеблется (сезонность, тренды), Z — рваный, скачущий, который почти невозможно прогнозировать. Пересеките две оси — и вместо трёх грубых классов вы получаете девять осмысленных, где у каждой позиции есть и ценник, и «характер».
Обе оси считаются в обычной таблице, без дорогого софта. Разберём по порядку, потому что дьявол здесь в деталях.
Ось ABC строится на годовой стоимости потребления. Для каждой позиции она равна цене единицы, умноженной на годовой расход. Дальше все позиции сортируются по этой величине от большей к меньшей, считается накопленный процент от общей суммы, и проводятся границы: верхние примерно 80% накопленной стоимости — это класс A, следующие до 95% — B, оставшийся «хвост» до 100% — C. Границы не священны, их подбирают под себя, но 80/95 — разумная отправная точка.
Ось XYZ считается через коэффициент вариации — это стандартное отклонение месячного спроса, делённое на средний месячный спрос. Проще говоря, коэффициент вариации показывает, насколько сильно расход скачет вокруг своего среднего — чем ровнее спрос, тем он меньше. Типичные пороги: коэффициент до 0,5 — это X (спрос стабильный), от 0,5 до 1,0 — Y (умеренные колебания), больше 1,0 — Z (рвань). Пороги, как и в ABC, вы вправе настроить под свою отрасль — кто-то считает их в процентах и режет по 20% и 50%, — важно лишь задать их осознанно и держать едиными.
И здесь — главная практическая ловушка, на которой спотыкаются чаще всего: коэффициент вариации нужно считать по месячным (или недельным) данным, а не по одному годовому числу [1]. Из годовой суммы разброс не виден в принципе — вариативность живёт именно в помесячной картине. Нужно минимум 12 месяцев истории (лучше 24, чтобы сгладить аномалии), и данные перед расчётом стоит почистить — убрать разовые проектные закупки, снятые с производства позиции и месяцы, где ноль возник из-за остановки склада, а не из-за отсутствия спроса. Мусор на входе — мусор на выходе, и по коэффициенту вариации это бьёт особенно больно.
Чтобы было наглядно. Позиция, чей месячный расход держится около 150 единиц и почти не колеблется, даёт коэффициент вариации порядка 0,04 — это чистый X, спрос по ней предсказуем как часы. А позиция, расход которой скачет 0, 85, 3, 67, 0, даёт коэффициент около 1,3 — это Z, и прогнозировать её обычными правилами бессмысленно [1]. На глаз обе могли бы показаться «среднями», а цифра разводит их по разным полюсам.
Когда обе оси посчитаны, каждой позиции присваивается пара букв — от AX до CZ, — и вся номенклатура раскладывается по матрице три на три. Вот она, и это — сердце всего метода:
AZ — максимум внимания, высокий буфер или быстрый поставщик
B — средняя
BX — стандартные правила пополнения
BY — умеренный буфер
BZ — под вопросом, ближе к «под заказ»
C — низкая
CX — полная автоматизация, минимум внимания
CY — упростить, минимум усилий
CZ — кандидат на вывод или «под заказ»
Теперь — решения, ради которых всё и строилось. Пройдёмся по углам матрицы, потому что именно они дают самый ясный сигнал.
AX — дорогое и предсказуемое. Парадоксально, но это самая простая и приятная ячейка. Позиция дорогая, поэтому за ней нужен плотный контроль и высокий уровень сервиса (98–99%), — но спрос предсказуем, поэтому большой страховой запас не нужен. Здесь уместны частые мелкие поставки, поставка «точно в срок», управление запасом силами поставщика. Именно на AX высвобождается больше всего замороженного капитала — вы держите меньше, ничем не рискуя.
AZ — дорогое и рваное. Самая трудная ячейка и та, что требует максимум человеческого внимания. Дорого — значит игнорировать нельзя; рвано — значит формула не спасёт. Выходов два — держать повышенный буфер либо, что лучше, договориться с поставщиком о быстрой поставке (3 дня вместо месяца) и по возможности перейти на работу под заказ. Здесь есть важная оговорка: часть позиций AZ — это критический ЗИП, отсутствие которого останавливает производство. Матрица говорит «удели внимание», но что именно делать, подсказывает уже не она, а понимание критичности: одну рваную позицию надо страховать любой ценой, другую — спокойно отпустить.
CX — дешёвое и предсказуемое. Полная противоположность: автоматизировать и забыть. Простые правила «минимум-максимум», закупка крупными партиями, никакого внимания планировщика. Тратить на эти позиции человеческое время — расточительство.
CZ — дешёвое и рваное. Ровно тот угол, где скапливаются невостребованные остатки. Позиция и стоит немного, и спрос по ней непредсказуем — то есть держать по ней страховой запас чаще всего дороже, чем сама позиция приносит. Отсюда решение — свести запас к нулю и работать под заказ, а то и вовсе вывести из номенклатуры. Именно CZ-угол даёт основной список кандидатов на высвобождение.
Средние ячейки (BX, BY, AY и прочие) живут по промежуточным правилам — умеренный буфер, регулярный, но не ежедневный пересмотр, — и специального героизма не требуют.
Что это даёт в деньгах — не абстракция. Грамотно проведённый ABC/XYZ снижает вложения в запас на 20–35% без потери уровня сервиса [2][1]. В разобранном кейсе дистрибьютора с 1247 позициями перестройка политик по матрице за год сократила запас с 4,2 до 3,15 млн долларов, обвалила долю неликвида с 9 до 4% и подняла оборачиваемость с 3,2 до 4,8 [2]. Но самый недооценённый выигрыш — не в деньгах: в другом разобранном случае доля времени планировщиков, уходящего на рутинные заказы, упала с 60 до 25% [1]. Освободившееся внимание ушло туда, где оно действительно нужно, — на дорогие рваные позиции, которые требуют суждения, а не формулы.
Было бы нечестно продать ABC/XYZ как окончательный ответ. Это мощный первый проход, но у него есть вполне конкретные слепые зоны, и знать их обязательно — иначе матрице начинают доверять больше, чем она заслуживает.
Во-первых, матрица — это снимок в зеркале заднего вида. Она описывает, как позиция вела себя в прошлом, но не то, куда она движется. Две позиции могут попасть в одну и ту же ячейку, притом что одна набирает обороты, а вторая тихо умирает, потому что оборудование под неё снимают с эксплуатации, — и обе получат одинаковую политику [3]. Растущую и угасающую позицию матрица не различает, а разница между ними для решения о выводе — принципиальная.
Во-вторых, категории неустойчивы. Пороги, по которым вы режете классы, во многом произвольны, и позиция может перепрыгнуть из ячейки в ячейку просто оттого, что вы взяли не месячное окно, а квартальное [3]. Ярлык «CZ» — не приговор, выбитый в камне, а результат ваших настроек и выбранного периода. Отсюда практическое правило — пересчитывать матрицу минимум раз в квартал и относиться к пограничным позициям с осторожностью.
И третье, самое важное. Матрица говорит, что позицию трудно прогнозировать, но не говорит, почему [3]. А именно «почему» решает судьбу невостребованного остатка. Рваный дешёвый спрос по позиции из угла CZ может означать и то, что это честный излишек, который пора вывести, и то, что это редкая, но жизненно важная запчасть, отсутствие которой однажды остановит линию. Отличить одно от другого матрица не в состоянии — для этого нужен следующий слой анализа: критичность позиции и вероятность её использования в будущем, а не только её поведение в прошлом. С этого слоя начинается уже настоящая диагностика, но и она встаёт на фундамент, который закладывает именно ABC/XYZ.
Для снабженца вывод простой и практический. Не гонитесь за идеальной моделью — начните с малого: возьмите 12 месяцев чистых данных, посчитайте в таблице сначала ABC по годовой стоимости, потом коэффициент вариации по месячным цифрам, склейте две буквы — и в первую очередь всмотритесь в два угла. В AZ — дорогое и рваное, что нужно защитить и держать под личным контролем. И в CZ — дешёвое и рваное, кандидатов на вывод. Задача матрицы не в том, чтобы быть точной до запятой, а в том, чтобы вы перестали управлять ровной дорогой позицией так же, как рваной, — на этом одном разграничении и держится весь эффект.
Для собственника вывод в том, что это самый дешёвый инструмент диагностики запаса из существующих: таблица и квартал данных, а на выходе — на 20–35% меньше замороженного в запасе капитала без потери сервиса. Но относиться к матрице стоит как к первому фильтру, а не как к вердикту. Она показывает, где искать, и подсвечивает угол честных излишков — но прежде чем выводить эти позиции в реализацию, по-настоящему сомнительные должен посмотреть человек и подтвердить, что перед ним не критическая страховка, а действительно невостребованный остаток.
В этом и вся суть. Матрица не принимает решения за вас — она говорит, какие девять вопросов задать, и, что важнее, показывает, какие позиции достойны внимания человека, а не автоматической формулы.
Строгий разбор метода и его пределов: слепота к трендам (растущая и угасающая позиция попадают в одну ячейку), неустойчивость категорий при смене временного окна, неспособность объяснить, *почему* позиция трудна для прогноза.
lokad.com ↗
Аналитика рынка
Излишек на складе выглядит как складская проблема, но рождается он из данных: кто-то не смог точно предсказать спрос, а позиция застряла, потому что её не свели с тем, кому она нужна. Разбираем, почему невостребованные остатки — в основе своей проблема данных и предсказания, где здесь реально помогает искусственный интеллект и где проходит его честная граница.
Редакция29.06.202615 мин
Аналитика рынка
Замороженный капитал копится незаметно — и собственник узнаёт о нём поздно, при списании или кассовом разрыве. Приборная панель по запасам делает невидимое видимым вовремя. Разбираем спокойно и с примерами: какие несколько показателей держать перед глазами, как их читать, и как превратить цифру на панели в решение — пока проблема не стала хронической.
Редакция18.06.202616 мин
Аналитика рынка
Видимая стоимость хранения — аренда склада и зарплата кладовщика — это верхушка айсберга. Настоящая цена владения запасом в разы больше: стоимость замороженного капитала, моральное устаревание, учётное обесценение, а главное — скрытая деградация качества, из-за которой резинотехнические изделия, ГСМ и химия после долгого хранения служат меньше положенного. Разбираем полную модель затрат на хранение, от видимого к скрытому.