Прогнозирование закупок: адская, но очень полезная математика

в 6:32, , рубрики: data mining, анализ данных, Блог компании КРОК, ликбез, недозаказ, перезаказ, пиво, прогнозирование спроса, ритейл, метки: , , , , , ,

Представьте двух героев: коммерсанта Александра и сисадмина Василия. Вася, как олицетворение среднестатистического клиента, каждый вечер заходит в магазин Саши (представителя розничной сети) и покупает пиво. Саша заказывает для него 7 бутылок пива в неделю. Иногда Вася остаётся работать с ночевкой и не выходит из серверной, а иногда – после работы берёт по две бутылки пива для себя и главбуха.

Прогнозирование закупок: адская, но очень полезная математика
График спроса на пиво в зависимости от жизненных приключений Васи

Саша не может предсказать эти периоды, поэтому постоянно находится меж двух огней: либо купить больше товара, «заморозить» деньги и потратиться на его хранение, либо купить ровно по среднему спросу, рискуя в какой-то момент расстроить Васю и его друга бухгалтера отсутствием нужного количества пива.

Итак, много товара на складе для Саши — плохо. В него вложены и «заморожены» деньги, да и просто хранить его накладно. Мало товара в магазине – плохо, клиенты не находят нужного, он теряет их и прямую прибыль. Чтобы знать, сколько товара надо закупать, нужна система предсказания спроса. Эта же система помогает поддерживать нужное количество товара на точках.

Как это выглядит в принципе?

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

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

Что важно для Саши: правильный заказ или большая прибыль?

Торговые сети стремятся оптимизировать процесс поставок. Один из важных моментов – нужно считать не в штуках, а в общих издержках, например, на работу персонала и эффективность процессов. Для сети важна прибыль в результате, а не сама по себе точность прогноза. Итак, всё упирается в остаток товара на складе, куда его заказывают закупщики. Чтобы правильно управлять товарным остатком, нам надо сначала спрогнозировать спрос. При этом спрос – это не продажи: при отсутствии товара спрос может быть, но продаж не будет. Это очень важное отличие, потому что многие системы оперируют именно продажами.

Восстанавливаем спрос

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

Суть – в замене «разрывов» товара какой-то расчётной величиной. Можно использовать несколько разных методов усреднения, например, скользящее среднее: расчёты не так важны, как сам принцип. Итак, первым делом мы восстанавливаем уровень спроса. Затем строим прогноз на ближайший период. Далее, нам нужно получить поправки на то, что реальный спрос всегда отличается от прогноза, то есть построить оптимальный коридор допусков.

Присматриваемся к Васе

Например, у нас в среднем покупают 7 бутылок в день, но могут купить на пике 10, а минимуме – 4. Значит, коридор – 7 плюс-минус 3. Это, опять же, в среднем. Иногда бывает, что наш Вася устраивает вечеринку и хочет сразу 20 бутылок, но в таких случаях, по расчётам, нам выгоднее продавать 10 и отправлять его искать топливо дальше, чем держать на складе 10 лишних. В конце концов, он сисадмин, и вечеринки для него – явление крайне редкое. Выстраивается доверительный интервал, когда вероятность прогноза спроса от 4 до 10 единиц – 80%. Если разброс для товара большой (например, когда мы торгуем 4-10 блейд-серверами) – это повод заниматься товаром вручную. Когда разброс маленький (4-10 скрепок) — это вполне можно доверить автоматике.

Считаем деньги Саши

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

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

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

Прогнозирование закупок: адская, но очень полезная математика

Какова эффективность?

В моей практике внедрения в розничных сетях – экономится до 3% оборота компании.

Кто в компаниях работает с этой штукой?

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

Прогнозирование закупок: адская, но очень полезная математика
Пример внедрения

Каковы ограничения системы?

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

Автор: Alefima

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js