🔝Как выявить ТОП потенциально прибыльных товаров для магазина/сети?

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

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

В пейпере "Towards Revenue Maximization with Popular and Profitable Products" (https://arxiv.org/abs/2202.13041) представляют алгоритм OP3M и с его помощью пытаются обойти все минусы простых подходов ранжирования, таких как оценка по частотности продаж или по прибыльности за последнее время, но и избежать построения прогноза продаж каждого товара.

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

Минимальная информация для осуществления расчетов OP3M:

  • Данные о продажах в магазине (почековые)
  • Ассортимент магазина
  • Информация о маржинальности каждого товара
  • Информация о периодах out of stock

Подход OP3M:

  1. В каком разрезе анализировать данные - часы, дни, недели, месяцы, годы - решать вам. Но, мне кажется, что чем гранулярнее, тем лучше, так как лучше учитываются сезонные взаимосвязи в продажах товаров.
  2. Для каждого товара и периода рассчитывается его прибыль относительно прибыли всех товаров. Учитывается как положительная прибыль, так и отрицательная прибыль. Отрицательная прибыль возможна, если товар продается ниже его себестоимости.
  3. Рассчитывается относительная частота, как доля транзакций, включающих все товары магазина за период.
  4. В алгоритме ранжирования учитывается "оставшаяся положительная прибыль" , чтобы показать верхнюю границу потенциальной прибыли набора товаров. Оцениваются наборы товаров в каждом чеке, которые идет совместно с тем, который в данный момент подвергается оцениванию, т.е. текущий алгоритм среди прочего оценивает сколько один товар, может повлечь за собой потенциальной прибыли, не оценивая какие именно товары идут в чеках, а только их суммы. Например, это позволяет учитывать товары, на которые была сильная скидка в ущерб прибыли (отрицательная прибыль), а также, например, избегать повышения в рейтинге пакетов, как частотных товаров.
  5. Производится проверка доступности товара в оцениваемый период - out of stock, т.е. когда товар отсутствовал на остатке магазина. Помимо оценки периодов в истории, это важно оценивать в момент расчета, так как если товара нет сейчас в магазине, то он не может быть потенциально прибыльным.
  6. На этом этапе у нас имеется рассчитанный показатель RTWU (Redefined Transaction-Weighted Utilization) для каждого товара для всех доступных для продажи периодов.
  7. Каждый товар проходит проверку по трём критериям для удовлетворения минимальным порогам:- Доступность - доступен ли он сейчас:
    - Минимальному значению доли частотности за период (minfre), устанавливаемому в ручную пользователем
    - Минимальному значению доли прибыльности за период (minpro), устанавливаемому в ручную пользователем
    - Если хотя бы одно условие не удовлетворено, то товар исключается из дальнейшего анализа.
  8. Оставшиеся товары сортируются по возрастанию RTWU и снова участвуют в оценки с помощью OOP-tree - алгоритму, который проводит рекурсивный глубинный анализ по двум параметрам:
    - относительная частота встречаемости набора товаров в периоде должна быть не меньше заданного пользователем порога (minfre)
    - сумма положительной и отрицательной прибыли набора товаров в периоде, деленная на общую прибыль за этот период, должна быть не меньше заданного пользователем порога (minpro)
    т.е. выбираются потенциально частотные и прибыльные связки товаров, которые при своей продаже могут принести больше всего прибыли. Все ветки, которые не удовлетворяют заданным порогам отсекаются.

Если кратко, сперва мы оценили потенциал каждого товара к максимизации прибыли, затем мы оценили потенциал связок в чеках каждого товара.

На выходе мы получили набор товаров, который удовлетворяет всем заданным критериям.

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

Алгоритм делает акцент на общую прибыль магазина и несколько затрудняет прозрачность оценки ранжирования, что затрудняет понимание бизнесом появления определенного товара в топе перспективных к продажи товаров.

OP3M может помочь:

  • Формировать рекомендации: Предлагать клиентам прибыльные комбинации товаров, что потенциально увеличит средний чек и общую прибыль.
  • Оптимизировать ценообразование: Анализировать прибыльность разных наборов и корректировать цены для стимулирования продаж более прибыльных комбинаций.
  • Управления запасами и ассортиментом: Определить и обеспечивать наличие на складе товаров, входящих в состав наиболее прибыльных наборов.

Не хватает применения информации:

  • о потенциальных продажах в период OOS - упущенные продажи в прошлом могут сильно повлиять на расчет потенциальных продаж в будущем
  • об остатках в моменте расчета - если товара на остатке 2 единицы, но продажи по нему ожидаются максимальные, то это не совсем верная оценка. и необходимо корректировать расчет с учетом текущего остатка.

"Towards Revenue Maximization with Popular and Profitable Products" arXiv:2202.13041

Больше ежедневных статей и ссылок на материалы в телеграм-канале:

Начать дискуссию