Анатомия ABC анализа

- Еда, Иван Арнольдович, штука хитрая. Есть нужно уметь, и, представьте себе, большинство людей вовсе этого не умеет. Нужно не только знать, что съесть, но и когда и как. (Филипп Филиппович многозначительно потряс ложкой.) И что при этом говорить. Да-с. Если вы заботитесь о своем пищеварении, вот добрый совет - не говорите за обедом о большевизме и о медицине. И, боже вас сохрани, не читайте до обеда советских газет.

- Гм... Да ведь других нет?

- Вот никаких и не читайте.

 

 

 

Итак, попробуем препарировать эту древнюю мумию под названием ABC анализ...

В математической формулировке ситуация описывается так. Пусть у нас имеется множество объектов, причем у каждого объекта имеется измеримый признак, так что существует однозначное отношение "объект - значение признака данного объекта". Здорово, правда? Мне тоже нравится, я очень люблю выглядеть умным. Но хочется изначально быть ближе к реальности. Мы в этих заметках все-таки пишем не научную монографию, а пытаемся поговорить о сугубо прикладных вещах, не слишком сильно придерживаясь математической строгости.

Пусть у нас лучше имеется номенклатура товаров, у которых мы измерили доход, приносимый каждым отдельным товаром за определенный период. В зависимости от значения доходности нам бы хотелось работать с товаром по-разному, поскольку "все звери равны, но некоторые - равнее". Что понимается под словом "работать", мы будем разбирать немного позже, а пока важно то, что решения, которые мы принимаем, могут быть разными в зависимости от доходности позиции.

Сформулирую Утверждение, на которое я буду неоднократно ссылаться в дальнейшем:
ABC-анализ, как и любой классифицирующий механизм, появляется тогда, когда мы не в состоянии в реальном времени работать с каждым объектом индивидуально. Мы вынуждены вместо индивидуальных объектов рассматривать группы. В применении к нашей задаче это означает, что как только товаров у нас становится больше, чем мы в состоянии "обработать", так сразу мы вынуждены свести их к небольшому количеству групп, разбитых по нашему показателю. Затем наши решения будут применены к группе в целом.

И это соображение, заметим применимо ко всем видам категорийного анализа. При этом неважно, как захотелось обозначить группы - A/B/C, X/Y/Z, Q/R/S или вообще красный/зеленый/синий.

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

Как только мы определились, что является показателем для анализа, отсортируем таблицу "объект - показатель" по убыванию последнего. Очевидно, что в начале таблицы для нас более важные объекты, в конце - менее. Но этот тривиальный вывод нам мало что дает в практическом смысле. Ведь наша задача - свести весь этот список к более-менее короткому. В околоматематическом мире такой прием часто называют "уменьшить размерность задачи". Например, мы не можем разместить весь свой прайс-лист в небольшом рекламном баннере, да это и бессмысленно - человек не может воспринять своим мозгом такое количество информации (заметьте, "мы" в данном случае - человек, "обработать" - оценить ассортимент и/или уровень цен), но чем-то похвастаться хочется. Поэтому возьмем и отрежем от полного списка верхушку - так любимый многими "топ-100". Заметим, что в качестве показателя мы здесь скорее всего выберем не доходность, правда? Раз уж список готовится не как внутренний отчет для руководства, а как "замануха" для потенциального клиента, важнее выбрать знаковую номенклатуру, а ее можно найти по показателю частоты покупок.

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

Если пользоваться электронными таблицами, в итоге получим примерно следующее:

 

Вид данной кривой достаточно характерен. Эмпирически давно замечено, что какие бы объекты ни были взяты для анализа, какие бы показатели ни использовались, почти всегда кривая имеет подобный вид, если объектов достаточно много. Именно здесь корень известного правила Парето - "большую часть общего результата дает меньшая часть составляющих объектов".Часто даже называется пропорция - 20% / 80%. На этой идее и основывается ABC-анализ. Если взять часть списка, обеспечивающую 80% результата (дохода в данном случае), список позиций будет много короче и с ним "работать" имеет смысл более плотно (некоторые звери равнее, помните?). В классическом виде этого показалось мало, и эти 80% результата были также поделены на две части, например, по уровню 50%. В итоге весь перечень оказывается поделен на границах 50% и 80%, а чтобы формализовать результат, мы эти товары покрасим в разный цвет или пометим специальными буковками A,B,C, а в дальнейшем будем применять к ним разные политики управления.

Придется все-таки немного остановиться на выборе границ деления групп, ибо бессмысленные споры о едином способе нахождения этих значений ведутся постоянно. Споры эти сродни священному джихаду, при котором уже ни одна из сторон не помнит, зачем это нужно и каков же будет смысл результата войны. "Я дерусь потому, что я дерусь" - вполне достойная позиция и внушает уважение. Мое личное мнение - нет никаких канонических границ типа золотого сечения и нет соответствующих методов их "вычисления". Если вспомнить про то, что каждый анализ делается под определенную задачу, то оказывается, что под эту конкретную задачу лучше бы выбрать границы 80-95, а не 50 - 80 по совсем другим, житейским причинам. Так что эту тему мы здесь закроем, есть куча других мест, где ее периодически сладострастно пережевывают.

А пока для целей удобства и возможности сравнивать перейдем в нашей таблице к относительным величинам. Абсолютный номер позиции в списке заменим на шаг = 1/(всего позиций в списке), а доход нарастающим на его долю = (доход нарастающим) / (суммарный доход). Так мы получим и по горизонтали, и по вертикали диапазон значений от 0 до 1 и сможем делать отсечки в процентном выражении.
 

Теперь расставим метки по нашим границам - 50% и 80%:
 

Ну вот, собственно, на этом математические формальности заканчиваются. Теоретически далее учебники говорят нам о том, что теперь ко всей группе будут применяться одни и те же решения. А вот различия внутри группы будут абсолютно нивелированы и приниматься во внимание не будут. Индивидуальные показатели объектов теперь не существуют, мы потеряли эту информацию, преобразовав почти непрерывный спектр значений в дискретный:
 

В чем засада того финта, что мы проделали? Предположим, целью нашего анализа было назначить разные политики управления для разных групп. Например, установить уровень сервиса по группам A=95%, B=90%, C=80%. Это все здорово, но

В результате в моем примере оказалось, что разброс ключевого показателя в группе А составляет 34 раза, и у них у всех должен быть один уровень. При этом разница между последним А и первым В менее 0.5%. А уровень для этих продуктов мы устанавливаем разный! Давайте не будем забывать об этом фокусе, он системный, раз мы изменили разрешающую способность.
 


Я не возьму на себя смелость утверждать, что это однозначно плохо. В некоторых задачах классификация, даже такая грубая, очень помогает. Но следует все-таки отдавать себе отчет в той потере информации, которая происходит в рамках классификации. А также и в том, что сама идея перехода к нескольким группам даже ценой ошибки родилась в эпоху отсутствия технологий, позволяющих обрабатывать большие массивы информации. В ситуации, когда складская карточка - кусок картона в деревянном ящике, когда поднять статистику продаж и обсчитать ее на листке бумаги вручную - задача просто физически неподъемная, волей-неволей начнешь жертвовать точностью ради экономии времени-денег. "За неимением гербовой придется писать на клозетной". Сегодня же в области управления запасами задач, при которых лучше огрубить данные, весьма немного. Если они вообще есть. Ибо сегодня в нашем распоряжении есть нечто получше, чем арифмометр "Феликс". Об этом поговорим в продолжении.