RAPI FLOW
Войти

ABC-анализ: расчёт, пример и решения по ассортименту

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

Серый кот тянется к ручке возле трёх лотков с канцтоварами, обозначенных A, B и C

ABC-анализ ассортимента распределяет товары по их доле в выбранном показателе: сначала позиции с наибольшей долей попадают в A, затем идут B и C. Он помогает понять, каким позициям уделить больше внимания при закупке, проверке цены и работе с остатками. Для магазина полезно сделать два расчёта: по выручке после скидок и возвратов и по вкладу после переменных затрат. Тогда высокий оборот не скроет товар, который оставляет мало денег.

Ниже — путь от выгрузки заказов до решений по артикулам. Все суммы в примере учебные. Вы можете повторить расчёт по формулам в статье или заполнить шаблон Excel на 100 артикулов.

Что показывают группы A, B и C

Сначала товары ранжируют по выбранному показателю от большего к меньшему, затем считают их доли с накоплением. Ориентиры — первые 80 % показателя для A, следующая часть до 95 % для B и остаток для C. Это границы для организации работы, а не требование, чтобы ровно 20 % товаров всегда давали 80 % продаж. В руководстве Shopify по ABC-анализу эти проценты также названы ориентирами, которые можно менять.

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

ABC — общий принцип ранжирования. Например, в складской задаче можно использовать стоимость потребления: проданное количество умножить на себестоимость единицы. В этой статье задача другая — сравнить продажи и денежный вклад ассортимента. Поэтому каждый результат подписан: «ABC по выручке» или «ABC по вкладу». Документация Oracle определяет ABC через критерий оценки, который выбирает пользователь.

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

Как выбрать показатель под задачу

Буква A имеет смысл только вместе с названием показателя. Товар может занимать первое место по выручке и последнее — по частоте покупок. Сначала сформулируйте решение, для которого нужен отчёт.

Вопрос магазинаПоказатель для ранжированияЧего результат не показывает
Какие товары формируют оборотВыручка после скидок и возвратов за периодСколько остаётся после затрат
Какие товары дают денежный вкладВклад после выбранных переменных затрат, в рубляхЧистую прибыль магазина и будущий спрос
В каких остатках связаны деньгиСтоимость остатка по себестоимости на одну датуСкорость продажи этого остатка
К каким товарам чаще обращаются при сборкеЧисло строк отбора или заказов с SKU за периодДоходность товара

Для товарной выручки и вклада нужны суммы, которые складываются в общий итог. Проценты маржи складывать как выручку нельзя: товар с маржой 50 % при выручке 1 000 ₽ даёт 500 ₽, а товар с маржой 10 % при выручке 100 000 ₽ — 10 000 ₽. Для оценки вклада в рублях важнее второй. Процент маржи оставьте рядом как дополнительную характеристику.

Проданные штуки тоже можно ранжировать, если это отвечает задаче. Но сто ручек и сто шкафов не создают одинаковую нагрузку на склад. Для размещения учитывайте частоту отбора, габариты и условия хранения; денежная группа A сама по себе не означает, что товар нужно перенести ближе к упаковке.

Какие данные нужны для расчёта

Выберите период, канал и единицу анализа до выгрузки. Для решения о закупке конкретного размера или цвета нужна отдельная товарная позиция — SKU. Если объединить все варианты в модель, её хорошая выручка может скрыть размер, который почти не покупают.

Возьмите историю, в которой есть несколько обычных циклов продаж и пополнения. Учебный пример ниже охватывает квартал, но это не универсальный срок. Для сезонного товара сравните сопоставимые сезоны; для редкой дорогой покупки короткий период может содержать всего один заказ. Отдельно отметьте дни отсутствия: низкие продажи товара, которого не было на складе, не доказывают слабый спрос.

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

ПолеЧто записать
Заказ, строка заказа и операцияИдентификаторы для удаления повторов и привязки каждого возврата
SKU и названиеПостоянный код варианта, по которому объединяются строки
Дата выполнения и каналДля единого периода и состава продаж
Количество и сумма до скидокСтоимость отгруженных товаров; отменённые до отгрузки позиции сюда не входят
СкидкаСкидка строки и её часть от общей скидки заказа
ВозвратФактически возвращённая стоимость товара после скидки, привязанная к исходной строке
СебестоимостьСтоимость реализованных товаров с учётом возвратов и списаний
Прочие переменные затратыКомиссии, упаковка, логистика и другие затраты по принятому правилу
Признаки для решенияНовинка, отсутствие на складе, акция, сезонность, роль в комплекте

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

Повторяющийся SKU в исходных строках разных заказов — нормальное явление. Сначала удалите повторные копии одной операции по её идентификатору, затем сложите продажи и затраты по SKU. Разные частичные возвраты одной строки заказа сохраняйте и суммируйте по отдельным ID возврата: например, 200 ₽ и 300 ₽ должны дать 500 ₽, а не один оставленный возврат. Если продажи и возвраты приходят отдельными таблицами, сначала суммируйте возвраты по строке заказа, затем присоедините их к продаже — иначе несколько возвратов могут размножить исходную сумму продажи.

На выходе должна получиться одна строка на артикул. В Excel подготовленные строки можно объединить сводной таблицей: SKU поместить в строки, а суммы продаж, скидок, возвратов и затрат — в значения с операцией «Сумма». Заказную скидку и общую доставку распределите до такого объединения.

Включайте весь ассортимент выбранного среза, а не только лидеров продаж. Если выгрузить 50 лучших товаров, доли будут относиться к этим 50, и получится другой отчёт. Товары без продаж могут вообще отсутствовать в выгрузке заказов: добавьте их из каталога отдельными строками с подтверждёнными нулевыми продажами, чтобы они не исчезли из проверки. Если доступен только фрагмент данных, прямо ограничьте им выводы и не называйте его анализом всего магазина.

Весь магазин или отдельная категория

Общий ABC показывает, какие товары дают основной результат всему магазину. ABC внутри категории отвечает на другой вопрос: какие позиции важны для этой части ассортимента. Оба расчёта полезны, но их знаменатели различаются. В магазине техники массовые недорогие аксессуары могут попасть в C общего отчёта и одновременно в A своей категории.

В нашем учебном примере ручки N03, скрепки N05, наклейки N06 и маркеры N07 можно выделить в отдельную группу для сравнения. Их выручка — 230 000 ₽. Набор ручек даст 150 000 / 230 000 = 65,22 %, скрепки — 50 000 / 230 000 = 21,74 %. По принятому ниже правилу обе позиции войдут в A этой группы: перед скрепками накоплено меньше 80 %. В общем отчёте скрепки имеют B. Сами продажи не изменились — изменился круг сравнения.

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

Как учесть скидки и возвраты

В нашем расчёте выручка товара — сумма выполненных продаж до скидок минус скидки и возвраты. Все вычитаемые суммы записаны положительными числами. Если ваша выгрузка уже содержит продажи после скидки, повторно вычитать скидку нельзя.

Общую скидку заказа распределяйте по строкам пропорционально их стоимости до этой скидки. Например, при товарах на 1 000 ₽ и 3 000 ₽ из скидки 400 ₽ на первый придётся 100 ₽, на второй — 300 ₽. Возврат затем учитывайте в фактически возвращённой сумме после скидки: иначе скидка будет вычтена второй раз.

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

Если ваша выгрузка включает возвраты по дате обработки, в ней могут оказаться корректировки продаж прошлых периодов. Для выбранной здесь методики сначала привяжите возврат к исходной строке продажи и отберите заказы нужного квартала. Сохраняйте неподтверждённые связи отдельно: возврат, происхождение которого неизвестно, нельзя молча приписать текущим продажам. Проверьте определения полей своей системы до расчёта.

Разберём подготовку строки на учебных данных. В квартале отгружены планеры N02 на 330 000 ₽, скидки составили 10 000 ₽. К дате расчёта по этим заказам вернули покупателям 20 000 ₽ за товары после скидок. Отменённый до отгрузки заказ на 5 000 ₽ исключён ещё до агрегации. В таблицу N02 попадёт выручка 300 000 ₽: 330 000 − 10 000 − 20 000.

Что считать вкладом товара

Для второй классификации посчитаем, сколько остаётся от товарной выручки после себестоимости и прочих переменных затрат:

Выручка SKU = продажи до скидок − скидки − возвраты

Вклад SKU = выручка SKU − себестоимость − прочие переменные затраты

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

При возврате пригодного товара сторнируйте его себестоимость из реализованных продаж. Если товар повреждён и списан, оставьте соответствующую потерю в затратах. Обратную доставку и невозвращённую комиссию тоже учтите; возврат денег покупателю уже уменьшил выручку, второй раз расходом его не записывайте.

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

В учебном примере прочие затраты уже включают выбранные переменные расходы и распределённые расходы на привлечение. Если расходы на рекламу нельзя обоснованно привязать к товарам, считайте вклад до них и отдельно проверяйте экономику заказа или канала. Прибыльность всего магазина по такой таблице определить нельзя; подробнее состав затрат разобран в статье о юнит-экономике.

Пример: два расчёта для магазина канцелярии

Все данные ниже условные. Магазин анализирует выполненные заказы за один квартал и связанные с ними возвраты, известные на дату расчёта. Денежные суммы приведены в рублях, по единому правилу учёта. Новый блокнот появился в конце периода, поэтому его продажи показываем, но в основное ранжирование пока не включаем.

SKU и товарДо скидок, ₽Скидки, ₽Возвраты, ₽Выручка, ₽
N01 Блокнот твёрдый420 00020 0000400 000
N02 Планер330 00010 00020 000300 000
N03 Набор ручек170 00010 00010 000150 000
N04 Папка90 0005 0005 00080 000
N05 Скрепки55 00005 00050 000
N06 Наклейки20 0000020 000
N07 Маркеры15 00005 00010 000
N08 Новый блокнот8 000008 000
N09 Сменный блок0000
Итого1 108 00045 00045 0001 018 000

Следующий шаг — вычесть подготовленные затраты. Они относятся к тем же строкам продаж и учитывают возвраты по описанной выше схеме.

SKUВыручка, ₽Себестоимость, ₽Прочие переменные затраты, ₽Вклад, ₽
N01400 000240 00040 000120 000
N02300 000265 00030 0005 000
N03150 00070 00020 00060 000
N0480 00040 00010 00030 000
N0550 00020 0005 00025 000
N0620 0007 0003 00010 000
N0710 0008 0004 000−2 000
N088 0004 0001 0003 000
N090000
Итого1 018 000654 000113 000251 000

Для N02 вклад равен 300 000 − 265 000 − 30 000 = 5 000 ₽. При заметной выручке этот товар оставляет мало денег. У маркеров N07 вклад отрицательный: продажа и обслуживание этих заказов в сумме обошлись дороже выручки.

ABC по выручке: доли и границы

Исключаем новинку N08 из основного сравнения. Нулевой N09 оставляем отдельной строкой «Ноль». База положительной выручки остальных товаров составляет 1 010 000 ₽. После сортировки по убыванию считаем:

Доля товара = выручка товара / база положительной выручки

Накопленная доля = сумма выручки от первой строки до текущей / база

Нужно заранее выбрать правило для товара, который пересекает границу. В этой статье и шаблоне такой товар остаётся в группе, начавшейся до порога. Если накопленная доля до текущей строки меньше 80 %, присваиваем A; если она от 80 % до значения меньше 95 % — B; если 95 % и выше — C. Поэтому группы могут получить фактически больше 80 % и 15 %. Другой отчёт может использовать иное правило: перед сравнением проверьте его.

SKUВыручка, ₽ДоляНакопленная доляГруппа
N01400 00039,60 %39,60 %A
N02300 00029,70 %69,31 %A
N03150 00014,85 %84,16 %A
N0480 0007,92 %92,08 %B
N0550 0004,95 %97,03 %B
N0620 0001,98 %99,01 %C
N0710 0000,99 %100,00 %C

Перед N03 накоплено 700 000 / 1 010 000 = 69,31 %, поэтому он относится к A, хотя после него накопленная доля уже 84,16 %. Перед N05 она равна 92,08 %, поэтому N05 относится к B. На точном значении 80 % следующий товар начнёт B, на 95 % — C.

Фактические доли групп получились такими: A — 84,16 %, B — 12,87 %, C — 2,97 %. Расчёт выполняется на полных значениях; округление в таблице служит только для чтения. При одинаковых суммах зафиксируйте порядок, например по коду SKU. В приложенном шаблоне равные значения получают приоритет по порядку исходных строк сверху вниз.

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

Чтобы построить такой график у себя, расположите товары по убыванию показателя и используйте комбинированную диаграмму: столбцы — рубли, линия на второй оси — накопленная доля от 0 до 100 %. Отметьте уровни 80 % и 95 %, а группы подпишите по выбранному правилу порогового товара. Не проводите границу A автоматически после 20 % артикулов. В нашем примере три из семи положительных зрелых позиций, то есть 42,86 % этого набора, дают 84,16 % выручки.

ABC по вкладу: другой порядок товаров

Для второй классификации заново сортируем по вкладу. Нельзя оставить порядок выручки и просто заменить суммы: это будет другой расчёт.

Положительный вклад допущенных к анализу товаров равен 250 000 ₽. Отрицательные −2 000 ₽ маркеров показываем отдельно. Если делить положительные суммы на общий вклад 248 000 ₽, их накопленная доля превысит 100 %, а затем уменьшится на отрицательной строке. Такая шкала неудобна для обычных границ ABC. Поэтому здесь база — только положительный вклад; это выбранная методика, а убыток остаётся виден рядом.

SKUПоложительный вклад, ₽ДоляНакопленная доляГруппа
N01120 00048,00 %48,00 %A
N0360 00024,00 %72,00 %A
N0430 00012,00 %84,00 %A
N0525 00010,00 %94,00 %B
N0610 0004,00 %98,00 %B
N025 0002,00 %100,00 %C

Сверка возвращает все исключённые суммы: 250 000 − 2 000 = 248 000 ₽ вклада без новинки, затем 248 000 + 3 000 = 251 000 ₽ по всем товарам. Новинка не исчезла из экономики, она лишь не участвует в сравнении со зрелыми позициями.

Тот же принцип применяйте к отрицательной выручке, если она возникла из-за корректировок: отдельный список с причиной и суммой, а не отрицательная доля в обычной шкале. При нулевом положительном итоге делить не на что — группы A, B и C не назначаются.

Как сделать ABC-анализ в Excel с нуля

Этот вариант нужен, если вы хотите проверить расчёт в своей таблице или у вас пока есть только выручка. Создайте отдельный лист, не меняя расчётные столбцы готового шаблона. Для проверки возьмите семь зрелых товаров N01–N07 из примера, у которых выручка положительная; новинку, ноль и отрицательные значения держите отдельно.

В A1 напишите «SKU», в B1 — «Выручка, ₽». В A2:B8 внесите семь строк и отсортируйте оба столбца вместе по B от большего к меньшему. Если отсортировать только суммы, они потеряют связь с артикулами. В B9 посчитайте итог, затем добавьте четыре расчётных столбца:

ЯчейкаНазначениеФормула для русской локализации Excel
B9Итог положительной выручки=СУММ(B2:B8)
C2Доля текущего товара=B2/$B$9
D2Накопленная доля с текущим товаром=СУММ($B$2:B2)/$B$9
E2Накопленная доля до текущего товара=(СУММ($B$2:B2)-B2)/$B$9
F2Группа по доле до строки=ЕСЛИ(E2<80%;"A";ЕСЛИ(E2<95%;"B";"C"))

Протяните C2:F2 до строки 8. Столбцам C:E задайте процентный формат с двумя знаками после запятой. Формула уже возвращает долю единицы: дополнительно умножать её на 100 при процентном формате не нужно. Знаки $ закрепляют общий итог и начало накопительного диапазона при копировании вниз. Кавычки в формуле должны быть прямыми, как в примере.

В английской локализации названия функций — SUM и IF; разделитель аргументов зависит от настроек приложения. Аналог F2 с запятыми: =IF(E2<80%,"A",IF(E2<95%,"B","C")). Если формула видна в ячейке как текст, проверьте формат ячейки и наличие лишнего апострофа перед =; если не распознаётся функция — язык названий и разделитель аргументов.

Проверка на нашем наборе: B9 — 1 010 000 ₽, D8 — 100 %, F2:F8 — A, A, A, B, B, C, C. У N03 в E4 получится 69,31 %, поэтому F4 — A.

Для расчёта по вкладу создайте новый лист с теми же колонками; B назовите «Вклад, ₽». Возьмите шесть положительных сумм зрелых товаров, исключите N07, новинку N08 и нулевой N09, затем заново отсортируйте строки по вкладу. Порядок SKU в A2:A7 — N01, N03, N04, N05, N06, N02; суммы в B2:B7 — 120 000, 60 000, 30 000, 25 000, 10 000 и 5 000 ₽. Строку 8 оставьте пустой, а итог сохраните в B9 с прежней формулой =СУММ(B2:B8): получится 250 000 ₽. Формулы C2:F2 из таблицы выше скопируйте только до строки 7; ссылки $B$9 менять не нужно. Проверка: D7 — 100 %, F2:F7 — A, A, A, B, B, C.

Некоторые инструкции и программы присваивают класс по накопленной доле после строки. Тогда у N03 значение 84,16 % и класс будет B, а при нашем правиле — A. Это различие методик, которое нужно объяснить, а не исправлять перестановкой товаров. Правило по доле до строки также оставляет в A первый товар, даже если он один даёт больше 80 %. При сравнении отчётов сохраняйте одинаковые границы и способ обработки порогового SKU.

Как пользоваться шаблоном Excel

Скачайте заполненный шаблон ABC-анализа. Он рассчитан на 100 SKU и содержит учебные данные из статьи. Формулы рассчитывают выручку, вклад, доли и классы по двум показателям. Распределение скидок и затрат по строкам заказов нужно выполнить до заполнения: файл принимает уже агрегированные суммы по артикулам.

Начните с копии файла и сохраните учебный вариант для сравнения. Замените исходные данные своими, удалив все учебные позиции. Введите постоянный SKU, название, продажи до скидок, скидки, возвраты, себестоимость и прочие переменные затраты. Для полного периода укажите «Да», для товара без достаточной истории — «Новинка». Нулевое значение вводите числом 0; пустая ячейка означает, что данных не хватает.

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

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

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

Когда нужен автоматический отчёт

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

У готового отчёта проверьте показатель, уровень SKU, обработку возвратов, доступность себестоимости, фильтры категорий и правило границ. Название «ABC по прибыли» само по себе не объясняет состав затрат. Сопоставьте определения: если программа вычитает только закупочную себестоимость, её результат будет отличаться от нашего вклада после комиссий, доставки и других выбранных переменных расходов.

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

Какие решения принять по товарам

В учебном магазине планер N02 получил A по выручке и C по вкладу. Первая задача — проверить его затраты и условия продаж. Если себестоимость и доставка внесены верно, рассчитайте новую цену или меньшую скидку и проверьте спрос небольшой партией. Большая закупка только из-за буквы A увеличит объём денег, связанных с товаром, который даёт мало вклада.

Товар и результатРешение для учебного магазинаКогда решение нужно изменить
N01: A по обоим показателямПриоритетно проверять наличие и надёжность поставкиЕсли вклад держался на разовой акции или поставщик ухудшил условия, пересчитать экономику до закупки
N02: A по выручке, C по вкладуПроверить скидки, себестоимость и доставку; испытать новые условияЕсли после исправления ошибочных затрат вклад стал высоким, ограничивать закупку по прежнему отчёту уже нет основания
N05: B по обоим показателямСохранить как возможное дополнение к блокнотамЕсли его заказывают отдельно с дорогой доставкой, сравнить вклад таких заказов с заказами в комплекте
N07: C по выручке, отрицательный вкладРазобрать причины возвратов и затрат до нового пополненияЕсли убыток вызван разовым списанием, отдельно оценить обычные продажи; если повторяется — менять условия или прекращать закупку
N08: новинкаНазначить отдельный тест, бюджет и дату пересмотраВключить в ABC после выбранного периода наблюдения при доступности товара покупателям
N09: нет продажПроверить наличие, видимость и назначениеЕсли товар был доступен, но его не покупают и обязательной роли нет, рассмотреть вывод

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

Для новинки заранее сформулируйте условия теста. Например, в учебном магазине можно выделить шесть недель без перебоев наличия, ограничить закупку 20 единицами и проверить продажи без дополнительной скидки, возвраты и положительный вклад. Числа здесь — пример управленческого решения, не норматив. Если за это время товар был недоступен половину дней, оценку спроса придётся пересмотреть.

Матрица выручки и вклада

Чтобы не переключаться между двумя сортировками, сведите классы в одну матрицу. Первая буква обозначает ABC по выручке, вторая — ABC по положительному вкладу. Например, N02 — AC, N04 — BA. C по вкладу означает небольшую долю положительной суммы, а не убыток: у N02 вклад 5 000 ₽. Отрицательные позиции в эту матрицу не включаются, их разбирают отдельно.

По выручкеA по вкладуB по вкладуC по вкладу
AAA: проверить надёжность наличия и поставкиAB: проверить состав затрат при большом оборотеAC: проверить цену, скидки и обслуживание; не наращивать объём только ради выручки
BBA: проверить возможность увеличить продажи без ухудшения вкладаBB: поддерживать предложение и следить за остаткомBC: разобраться, оправдывает ли роль товара его затраты
CCA: проверить ограничения видимости и спроса; не расширять закупку без тестаCB: оценить дополнение к основным покупкам и продажи отдельноCC: проверить роль, запас и альтернативу до решения о выводе

Матрица задаёт вопросы для проверки, а не обязательную стратегию. У товара CA может быть крупный вклад от одного разового заказа; повторная закупка по прежнему объёму тогда не обоснована. Для дополняющей позиции смотрите состав заказов: сколько покупок содержат её вместе с основным товаром и сколько вклада дают эти заказы. Даже частая совместная покупка сама по себе не доказывает, что удаление дополнения снизит продажи основного товара.

Чем ABC-анализ отличается от XYZ

ABC измеряет долю результата за выбранный период. XYZ добавляет другой вопрос: насколько равномерно распределены продажи внутри периода. Это отдельная классификация по разбросу ряда продаж относительно среднего. Различие подходов и совмещение групп описывает руководство Яндекс 360.

На учебном примере два товара принесли по 120 000 ₽ за квартал. Первый продавался на 40 000 ₽ каждый месяц, второй — на 0 ₽, 0 ₽ и 120 000 ₽. В ABC по выручке их суммы равны, а риск планирования по среднему различается: для второго товара нужно выяснить причину единственной крупной продажи. Это может быть акция, сезон, перебой наличия или разовый заказ. Три наблюдения здесь иллюстрируют различие, но не подтверждают устойчивый характер спроса.

Для формального XYZ потребуется ряд сопоставимых периодов по тем же SKU, определение используемого стандартного отклонения и заранее выбранные границы X, Y и Z. В расчёте спроса полезно смотреть штуки: изменение цены само по себе меняет денежную выручку. Нулевые продажи из-за отсутствия товара отмечайте отдельно; не превращайте предполагаемые потерянные продажи в фактические.

Метка AX означает высокую долю выбранного показателя и относительно ровный ряд, AZ — высокую долю и большой разброс. Ни одна из них не задаёт универсальный процент страхового запаса. XYZ также не устанавливает причину колебаний и не доказывает точность будущего прогноза. Подход к стабильности спроса и запасам продолжает материал об управлении запасами.

Не путайте AX с AA из предыдущего раздела. В AA обе буквы получены из долей двух денежных показателей; в AX вторая буква относится к изменчивости продаж во времени. Приложенный к этой статье шаблон рассчитывает два ABC, а не XYZ.

Как проверить результат и повторить анализ

Сначала сверьте подготовленные суммы с источником. В примере общая выручка должна дать 1 018 000 ₽, вклад — 251 000 ₽. После исключения новинки база положительной выручки равна 1 010 000 ₽, положительного вклада — 250 000 ₽. У этих баз разные определения, поэтому совпадать они не обязаны.

Затем вручную проверьте первую строку и товары на границах. Для выручки это N03 и N05, для вклада — N04 и N06. Сумма долей внутри каждого положительного набора должна составить 100 % до округления, а отрицательные и нулевые позиции должны остаться в отчёте отдельными статусами.

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

Различайте период данных и частоту пересчёта. Можно каждый месяц анализировать последние три полных месяца: окно содержит квартал, а обновление происходит ежемесячно. В стабильном небольшом магазине можно начать с квартального пересмотра; при коротких коллекциях и частых акциях проверка может требоваться чаще. После изменения закупочной цены, комиссии или условий доставки пересчитайте затронутую экономику сразу. Ежедневный контроль остатков не требует каждый день менять ABC-класс.

После решения по N02 фиксируйте цену, скидку, продажи, возвраты и вклад на заказ; по N01 — наличие и запас до следующей поставки. Если уменьшение скидки подняло вклад с единицы, но снизило общий вклад за сопоставимый период, новая цена пока не доказала пользу. Разберите изменение спроса и другие условия, прежде чем расширять эксперимент. Сам ABC-анализ не доказывает, что изменение ассортимента повысило прибыль.

Как оценить остаток и результат решения

Низкая доля продаж не говорит, сколько денег лежит на складе. В условном продолжении примера у скрепок N05 есть два возможных остатка: 10 000 ₽ или 60 000 ₽ по себестоимости. За квартал себестоимость реализованных скрепок составила 20 000 ₽. Если условно принять квартал за 90 дней и равномерное движение товара, эти остатки покрывают примерно 10 000 / (20 000 / 90) = 45 дней и 60 000 / (20 000 / 90) = 270 дней соответственно.

Класс B одинаков в обоих случаях, но вопрос к закупке различается. В первом случае сравните 45 дней со сроком следующей поставки и необходимым резервом, во втором — сначала проверьте причину накопления запаса. Этот расчёт покрытия не учитывает будущие акции, сезон и изменение себестоимости; при разной стоимости партий для закупки удобнее считать покрытие в штуках по каждому SKU.

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

Частые вопросы

Есть ли смысл в ABC-анализе, если товаров мало?

Да, он помогает сравнить суммы и затраты, но буквы часто мало что добавляют к самой таблице. При четырёх одинаковых положительных значениях наше правило по доле до строки даст всем товарам A: предыдущие доли равны 0 %, 25 %, 50 % и 75 %. Это не ошибка и не повод искусственно создавать B и C. При слабой концентрации результата полезнее следить за вкладом, остатком и ролью каждого товара.

Можно ли менять границы 80 % и 95 %?

Можно, если другое разделение помогает организовать контроль товаров. Сначала посмотрите на фактическое распределение и ресурсы команды, затем зафиксируйте новые границы и одинаково пересчитайте сравниваемые периоды. Не подбирайте проценты ради желаемого числа товаров A. Приложенный шаблон использует фиксированные границы 80 % и 95 %; в собственной таблице из раздела о ручном расчёте их можно изменить в формуле класса.

Что делать, если истории продаж ещё нет?

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

Проверка перед закупкой

  • Период, канал, уровень SKU и дата учёта возвратов записаны; сравниваются одинаковые данные.
  • Скидки и возвраты вычтены по одному разу, отменённые до выполнения продажи исключены, суммы сходятся с выгрузкой.
  • Выручка и вклад рассчитаны отдельно; состав затрат понятен и одинаков для всех строк.
  • Новинки, нули, отрицательные суммы и товары с перебоями наличия видны отдельно и не потеряны при фильтрации.
  • Для пороговых товаров вручную проверены доля до строки и правило присвоения класса.
  • Указан состав сравнения: весь магазин или категория; скрытые фильтром строки не перепутаны с исключёнными из базы.
  • У решения о закупке есть основание помимо буквы: остаток, срок поставки, минимальная партия и роль товара.
  • Для изменения цены, закупки или ассортимента записаны дата проверки и показатели, по которым решение будет пересмотрено.

3 месяца бесплатно · далее от 990 ₽ в месяц

Ваш следующий шаг —
свой магазин.

Начать бесплатно