ABC-анализ ассортимента: 6 шагов в Google Таблицах против 4 строк кода

Каждый, кто хоть раз работал с товарным ассортиментом, слышал про правило Парето (80/20). Оно гласит: 20% товаров приносят 80% выручки. И это не просто теория — в нашем небольшом магазине из 20 позиций 12 товаров (60% ассортимента) действительно приносят почти 78% денег.

ABC-анализ — это способ разложить весь ваш ассортимент по полочкам в зависимости от вклада в общую выручку:

  • Группа A — «Локомотивы». Немногочисленные товары, которые дают основную прибыль. Их нельзя терять.
  • Группа B — «Середнячки». Дают около 15% выручки.
  • Группа C — «Хвост». Многочисленные товары с низкой долей в продажах.

Зачем это нужно на практике?

Главная цель ABC-анализа — управление запасами и оборотным капиталом. Товары группы А мы закупаем бесперебойно, потому что у них высокая оборачиваемость (деньги вкладываются и возвращаются быстро, принося прибыль). А вот с товарами группы С ситуация интереснее.

Почему «С» — это не всегда «выбросить с полки»? Если бы речь шла о складе стройматериалов, товары группы С можно было бы просто убрать. Но в продуктовом магазине (особенно формата «у дома») товары группы «С» часто играют роль товаров-маячков для хорошего ассортимента.

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

Мы обращаем на них внимание после самых важных, но всё равно обращаем. Разница в подходе: товары группы С мы закупаем минимальными партиями (30-50 штук на полку). Почему? Потому что у них долгая оборачиваемость. Если закупить «Соль» вагоном, деньги «заморозятся» на складе на несколько месяцев. А нам нужно, чтобы оборотный капитал работал. Мы держим их ради ассортимента, но не позволяем им замораживать наши финансы.

Сегодня я покажу два способа провести такой анализ на примере продуктового магазина (20 позиций): как это делает большинство в Google Таблицах, и как эту же задачу решить в ArrayVator.

Способ 1. Классический: Google Таблицы

ABC-анализ ассортимента: 6 шагов в Google Таблицах против 4 строк кода

Шаг 1. Открываем исходную таблицу с данными: товар, категория, количество и цена. Столбец «Итого» считаем формулой =C2*D2 (Количество × Цена).

Шаг 2. Сортируем таблицу по столбцу «Итого» по убыванию (от самых прибыльных к самым дешевым).

ABC-анализ ассортимента: 6 шагов в Google Таблицах против 4 строк кода

Шаг 3. Создаем общую сумму всех продаж: =SUM(E2:E21).

Шаг 4. Считаем долю каждого товара в общей выручке: =E2/SUM($E$2:$E$21).

Шаг 5. Считаем накопительный процент: =SUM($F$2:F2).

Шаг 6. В последний столбец записываем логику ABC: =ЕСЛИ(G2<=0,8;"A";ЕСЛИ(G2<=0,95;"B";"C")).

Итог: Мы получили отличный результат.

Способ 2. Альтернативный: ArrayVator

А теперь давайте посмотрим, как эта же задача решается в ArrayVator — скриптовом языке для аналитиков данных.

Смотрите: вся логика с сортировкой и накопительным процентом уже встроена в функцию abc(). Нам не нужно писать формулу ЕСЛИ — язык сам разложит товары по группам. А чтобы отфильтровать товары-маячки, достаточно одной команды:

Шаг 1. Откроем файл через графическое окно и запишем данные в переменную m:

m = OpenExcelShow()

ABC-анализ ассортимента: 6 шагов в Google Таблицах против 4 строк кода

Шаг 2. Выведем таблицу в консоль, чтобы убедиться, что мы открыли то, что нужно:

print(m)

ABC-анализ ассортимента: 6 шагов в Google Таблицах против 4 строк кода

Шаг 3. Пишем функцию ABC и говорим ей, что нужно проанализировать столбец «Итого»:

m = abc(m[:, "Итого"], %)

Шаг 4. Выведем готовую таблицу в графическом режиме (show):

printshow(m)

ABC-анализ ассортимента: 6 шагов в Google Таблицах против 4 строк кода

Все! Скрипт работает.
И самое главное — ArrayVator позволяет упаковать этот скрипт в обычный исполняемый файл.exe (меню Инструменты → Экспорт в EXE). Теперь, чтобы обновить отчет за следующий месяц, вам не нужно открывать редактор и вспоминать код. Вы просто запускаете готовую программку, выбираете новый файл, и она моментально выдает результат.

ABC-анализ ассортимента: 6 шагов в Google Таблицах против 4 строк кода

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

Кстати, про оборачиваемость…

ABC-анализ не обязательно делать только по выручке. Иногда полезнее посмотреть на количество проданных штук.

В ArrayVator для этого достаточно поменять один столбец в коде. Вместо «Итого» передаем «Кол-во»:

m = abc(m[:, "Кол-во (шт)"], %)

Зачем это нужно?

Выручка может вводить в заблуждение. Дорогой сыр (200 руб.) может давать много денег, но покупают его редко. А дешевый хлеб (20 руб.) могут брать каждый день. Сравнив ABC по деньгам и ABC по штукам, вы найдете те самые «товары-маячки», которые имеют высокую оборачиваемость, но низкую маржинальность. И поймете, что они жизненно необходимы для трафика.

Скачать ArrayVator

11