Блог компании Мосигра
Управление продажами
Управление проектами
22 октября

Ассортимент — классическая задача оптимизации



Ассортимент очень влияет на выручку магазина, но управляется не самим магазином. Судя по последним исследованиям, ассортиментом в России в целом мало кто управляет эффективно. Просто если поддерживать нужные товары в нужном количестве в нужных местах, можно дико поднять эффективность продаж многих магазинов. Дико — это, например, на треть.

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

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


Почему какого-то товара может не быть?


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

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

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

В идеальной модели мира вы хотите делать так: есть 5 рулонов, каждый вечер приезжает машина с поставкой, если осталось 4 рулона — надо, чтобы она привезла ещё один.

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

Появляется две новых сущности: предсказание спроса и прогнозирование запаса.

Я сейчас пропущу особенности предсказания спроса на более сложные товары вроде пива, хрустящих батонов и других вещей со сроками годности, а просто скажу, что есть две целевых функции:

— Минимум запаса на складе.
— Максимум: покрытие всех потребностей клиентов при разных флуктуациях спроса.

И ещё есть функция времени, поскольку поставки идут не мгновенно, и их надо планировать. Появляется лаг.

Вы можете использовать простой движок типа минимакса: определить минимум рулонов на складе и их максимум. Например, «Когда остаётся меньше 4 штук, дозаказать в следующую поставку до 25». Это хорошо работает на малых числах.

Теперь давайте чуть усложним задачу. Машина с поставкой не одна, а от разных поставщиков. Каждый привозит что-то своё, по своему графику. Стало чуть сложнее, но всё равно терпимо, правда?

Ассортимент частично пересекается. Иногда выгоднее брать маленькие партии у одного, а побольше — у другого. И иногда выгоднее терпеть, пока товар не потребуется большой партией. Ладно, вы пишете ещё модуль математики и всё более-менее хорошо.

Поставщики часто меняют условия и сами меняются. Один может повысить цены, второй может уйти с рынка, третий может опаздывать на 1-2 дня, четвёртый всегда задерживает заказ… Адище? Ещё нет. Один хочет полную предоплату, второй готов торговать под реализацию, третий даёт вам отсрочку платежа на 3 недели и так далее.

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

Большой моделью занимается закупка.

И эту модель уверенно перехеривает одно ДТП с любой из машин поставщиков.

Чтобы такого не случалось, сеть ставят на входе «конденсатор», сглаживающей эти шершавости реального мира — собственный склад, который собирает всё с поставщиков и развозит внутри своей сети. Получается более стабильно и с более понятными зонами ответственности. Но всё равно риски поставщиков в духе «у нас брак по всей партии, и теперь упс» лежат на закупке. Закупка же выступает в роли контроля: например, звонит: «А вы нам машину отправили? А он точно знает, где разгружаться? А он вовремя приедет?». У больших сетей, например, закупка подписывает договоры с совершенно драконовскими мерами по отношению к любому косяку — это их способ стабилизировать модель.

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

К счастью, в реальном мире задача сводится не к «100% наличия всегда», а условно, к тому, чтобы удовлетворить спрос с вероятностью 95%, потратив минимум денег. Можно подтянуться до 96, 97 или 98, но каждый новый процент будет дороже, и почти на порядок.

Можно ли добиться постоянного наличия самых важных товаров?


Да. Иначе бы иногда в фастфудах не было гамбургеров, например. Нам, условно, не надо соблюдать 100% наличие товара. Достаточно установить SLA (SLO) по наличию и удерживать его. У нас есть товар, например, который даёт 1% выручки всей сети. Это одна-единственная коробка Шакала.

Теперь представьте, что мы убрали Шакал. Как вы думаете, сколько мы потеряем? Весь 1%? 0,7%, потому что те, кто зашёл, будут брать что-то ещё, например, Имаджинариум? Нет. Мы потеряем 1,5–1,6% выручки, потому что те, кто приходил за Шакалом, берут что-то ещё из товара, добивая его до среднего чека в 1,6 позиций.

Если вы убираете один товар из топа из продаж — вы теряете деньги. Больше, чем давали бы вам продажи этого товара.

То есть в наших интересах удерживать наличие этого товара и подобных. Скажем, тех 5% товаров, которые дают 20% выручки сети. Или тех 20% товаров, которые дают 80% выручки сети.

Но этого мало. Ассортимент — это не только выручка. Это ещё повод зайти в магазин. Чем больше ваш ассортимент, тем больше людей будет на входе. И наоборот. Мало кто заходит просто попыриться, и вы их уже всех охватили. С другой стороны, невозможно держать в наличии все товары прайса. Поэтому умные люди разработали две модели: ABC-анализ и XYZ-анализ.

И в этом есть красота математики.

Теперь как определить, что вам нужно закупать и держать в наличии?


Сначала делается ABC-анализ по выручке — это оценка, сколько денег вам приносит товар (например, А: 20% ассортимента 80% выручки, В: 30% ассортимента 15 % выручки, C: 50% и 5% соответственно). Потом делается ABC-анализ по прибыли (можно продать кучу Монополий, но мало заработать из-за низкой наценки). Потом делается XYZ-анализ, это анализ стабильности спроса (и его предсказуемости) — например, то же Уно могут спрашивать очень-очень часто, а приносит она довольно мало денег (потому что мелкая и дешёвая).

Итог — у вас получается на каждый товар категория по выручке, прибыли и доступности. Например, AAZ (A — большая доля в выручке, A — большая доля в прибыли, Z — очень плохо спрашивают) — это товар, который сам себя не продаст, но принесёт вам много денег. Это может быть какой-нибудь Space Alert из наших игр, например. AAX — это Шакал или Имаджинариум, товар, который выгодно продавать, и его хотят люди. Что-то вроде ABY (много прибыли, средне выручки, нормально спрашивают) — это, например, Дженга. Она явно должна быть в магазине, но если её не будет — потеря не так велика (потому что конкретно в этом сегменте много башен). И так далее, вот ещё примеры:

  • AAX — лучшие товары в мире для вас.
  • ACX — товары, которыми вы привлекаете людей, но почти на них не зарабатываете.
  • CCX — это может быть всякая дешёвая фигня типа батареек, например: её надо много, но в финмодели она не видна.
  • CAX — товары, которые спрашивают, на которых вы делаете огромную маржу, но которые мало стоят. У нас это упаковка (она стоит времени продавца на самом деле).
  • CAZ/CBZ — товары, которые никто не спрашивает, которые приносят вам большую маржу с единицы, но почти не продаются. Вполне может оказаться, что это какая-нибудь супермегаделюкс коробка, заведённая для контраста по цене с другими, либо на случай внезапного появления на пороге олигарха.

Дальше, после такой оценки, надо взять и закупить все товары, которые имеют буквы A и X в анализе. И установить по ним SLA.

В этот момент, как показывает опыт в регионах, матрица магазина внезапно выправится, и магия закупок повысит выручки точки на 15-20% точно. Потому что руками такое редко кто-то отслеживает полностью. Это было бы слишком умно, логично и правильно, поэтому так не делают.

Затем надо пристально присмотреться к тем, где есть буквы B и Y. Их надо стараться заполучить, но не рвать ради этого пупок.

В чём отличие? В том, что когда Владивосток остался без товара на Новый год, «хорошие» буквы A и X я бы, возможно, рекомендовал бы заказывать на край страны авиадоставкой, то вот уже B и Y — вряд ли.

Потом надо постараться избавиться от товаров, которые у вас висят годами — гены C и Z в диагнозах. Точнее, уменьшить их запас до возможного минимума. Естественно, на сегодня, потому что после подрезания матрицы снова появятся новые C и Z. Анализы-то сравнительные. Но этот процесс (как и процесс ввода и оценки нового товара) не стоит останавливать.

Откуда берутся эти отчёты?


Чтобы получить ABC-анализ и XYZ-анализ, нужно иметь какую-то статистику продаж, где весь ассортимент уже есть, и всё работает правильно. Ну или использовать матметоды, позволяющие восстановить дыры в наличии чего-то. Для этого есть и специальный софт, и разные методы, часто связанные с прогнозированием спроса.

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

Дальше простое действие такое: взять первые 100 товаров ABC. Что туда попадает, должно быть железно, иначе магазин работает с низким КПД. Более сложное действие — взять ABC/XYZ-анализ по региону. И закупить наконец этот товар. Важно, что в X и A не должно быть ни одной дыры. Считается, что закупщик плохо делает работу, если есть выход за SLA, например, при отсутствии в сезон любого A-товара по любой причине (включая катастрофы и войны) больше 1 дня. Просто его надо доставать любой ценой у любого поставщика. Если у вас ещё есть дыра в A — вы просто теряете деньги каждый день.

С товарами AAX есть ещё особенность: их можно хранить на складе почти сколько угодно. По ним не бывает перезапаса, потому что точно известно, что они продадутся. Товары типа CCY — под вопросом в этом плане, с ними можно остаться грызть картон (и иногда их дешевле выкидывать, чем хранить на складе, пока партия будет уходить).

Пока всё. Я помню, что обещал ещё показать, что бывает в выкладке конкретно, и почему это важно. В частности, нас интересует ряд товаров, который не продаётся, не приносит выручки, но зато может работать в общей модели. Про это следующий раз.
+71
21,7k 147
Комментарии 86
Похожие публикации
Популярное за сутки