Сети супермаркетов (на самом деле не только они) проводят регулярные промоакции. Они их часто называют «Товар недели» или как-то похоже. Суть в том, чтобы в каждой товарной категории выбрать несколько позиций, на которые поставить скидку, что должно привести к увеличению объемов продаж. Такие промоакции интересны для покупателей, они дают возможность сэкономить немного денег. Но они интересны и для сетей – увеличивают товарооборот и расширяют ассортимент потребительской корзины покупателей. Но есть и минус. У категорийных менеджеров уходит много времени, чтобы готовить такие списки каждую неделю, да еще и стараться максимально точно прогнозировать акционные объемы продаж, особенно по новым товарам.
К счастью, эта задача вполне хорошо автоматизируется в том случае, когда у вас все в порядке с данными. Ниже коротко опишу как мы решали ее для одного из клиентов – сети супермаркетов (https://www.youtube.com/watch?v=_hgpCAuVe4E таймкоды – 45:00, где ИТ-директор коротко рассказывает о решении, и 1:10:10, где коммерческий директор рассказывает о результатах и экономическом эффекте от решения)
Давайте разберем, что именно нам надо сделать. У нас есть несколько тысяч товаров, которые распределены по различным категориям. Нам необходимо выбрать такой перечень товаров, чтобы прирост товарооборота в случае предоставления скидки на товар был максимальным. Казалось бы, все просто: на основании коэффициента эластичности для каждого товара посчитай дельту товарооборота для каждой позиции и выбери топ-N позиций. Все так, но есть ряд ограничений. Например, потеря валовой маржи при этом должна быть минимальной, товары не должны попадать в акционную корзину чаще чем раз в 3 недели, или из каждой категории в акцию должно попадать определенное количество товаров и т. п. Ограничений на самом деле намного больше, и они у каждой сети могут быть свои.
И тут мы решили поменять корзину на рюкзак. Помните, что такое задача коммивояжера, или задача об укладке рюкзака? Это подраздел оптимизационных задач, когда у нас есть некоторая целевая функция, которую мы должны максимизировать (в нашем случае дельта товарооборота), и ряд ограничений, которые мы должны при этом соблюдать.
Проще будет объяснить на примере. Пусть у нас есть рюкзак с максимальной грузоподъемностью 15 кг. И есть ряд коробок, каждая из которых имеет свой вес и свою ценность. Нам необходимо уложить в рюкзак такой набор коробок, чтобы их суммарный вес не превысил грузоподъемность рюкзака, а суммарная ценность при этом была максимальной.
В нашем случае в качестве ценности была дельта товарооборота (или дельта маржи для других сценариев), а в качестве весов было удовлетворение всем правилам и условиям ротации товаров в акциях. Например:
Методы решения таких задач уже давно известны и достаточно хорошо проработаны. Осталось только для каждого товара знать дельту акционного товарооборота и дельту валовой маржи. Для решения этой задачи у нас есть модель прогнозирования, которая учитывает много факторов, в том числе и эластичность спроса. Для каждого товара мы вычислили цены, которые дают максимум товарооборота и максимум маржи. И выполнили прогноз продаж с учетом этих цен, как это описано на рисунке.
После всех этих вычислений мы можем сформировать четыре сценария, комбинируя два показателя – используемую для прогноза цену (максимизирующую товарооборот или маржу) и показатель для максимизации (товарооборот или маржа)
В результате мы не только высвободили 40% времени категорийных менеджеров, но и сформированный моделью список товаров демонстрировал в среднем прирост товарооборота на 50% больше, чем сформированный вручную, при этом маржинальность была на 1-2 процентных пункта лучше.
Вот так, поменяв «корзину» на «рюкзак», мы решили важную задачу для бизнеса.