Skip to main content

Стратегия Out of stock - подробное описание реализации

le: Стратегия Out of stock - подробное описание реализации sync_to_confluence: true sidebar_position: 2 tags:

  • стратегии динамического ценообразования
  • дцо
  • out of stock

Данная стратегия срабатывает когда на складах ВБ остается мало остатка и нужно повышать цены, чтобы замедлить процесс выхода в Out of stock. Для данной стратегии есть общие настройки платформы РАКЕТА, которые распространяются на все стратегии, эти параметры можно настроить здесь.

Здесь указывается как именно рассчитать критерий “на сколько дней осталось артикула и что при этом учитывать”.

Если подключен ЛК, то есть возможность учитывать поставки в пути, т.е. если поставка принимается, она зачтется как остаток и система не будет повышать цены, так как посчитает, что товар уже есть на складе. Также есть возможность учесть QR поставки, которые были предварительно загружены в РАКЕТУ (в разработке). При этом учитываются не все поставки, а только те что созданы в течение 50 дней, так как обычно в кабинете довольно много зависших старых поставок, которые могут мешать системе, их не нужно учитывать.

Далее нужно указать как считать оборачиваемость по количеству продаж или заказов API, или ЛК.

А также какой остаток учитывать FBO, FBS или суммарный.

В РАКЕТЕ реализовано 3 варианта формул расчета цены в зависимости от параметра “Тип увеличения цены”.

По таблице остатка запасов суммарно по размерам

Требуется задать параметр “На сколько % можно повысить целевую цену максимально”, например 300% и заполнить таблицу - как поднимать цену в зависимость от того на сколько суток осталось запасов Артикула. В примере ниже если осталось Артикула до 15 суток, увеличиваем цену на 10% относительно цены на начало текущего дня, на 6% если остатка осталось до 17 суток, на 3% если остатка осталось до 21 суток.

Если не задана целевая цена или остатка осталось более чем на 21 суток (по примеру выше), то стратегия “out of stock” игнорируется и репрайсер переходит к следующей стратегии из конструктора данной стратегии.

Если таблица не заполнена, то также “out of stock” игнорируется.

Скорость продаж считается для каждого размера по отдельности по формуле:

Скорость продаж на размер = Заказы размера / Дней в наличии размера.

Скорость продаж артикула = Сумма всех скоростей продаж по размерам.

Заказы размера - это число заказов или продаж (в зависимости от настроек).

Дней в наличии размера - это число дней в периоде (30 дней по умолчанию), которое данный размер был в наличии по данным парсинга. Парсинг осуществляется с периодичностью каждые 10-30 минут. Скорость продаж на артикул вычисляется как сумма скоростей продаж по всем размерам.

Число суток на сколько осталось данного артикула вычисляется по формуле:

Артикула осталось на = Остаток артикула / Скорость продаж артикула.

Строка в таблице изменения цены ищется сверху вниз по отсортированной таблице по полю “Запасов менее чем включ” и используется первая строка, которая подходит по условию в отсортированной таблице по запасам в днях. Если по таблице строка не найдена, то программа переходит к следующему элементу стратегии, например к целевой цене.

Далее РАКЕТА проверяет цену на максимальное ограничение, по параметру - “На сколько % можно повысить целевую цену максимально”. Если значение не заполнено, алгоритм переходим к следующему элементу стратегии, out of stock игнорируется.

Исходя из значения “На сколько % можно повысить целевую цену максимально” рассчитываем максимальную цену по целевой цене по формуле:

Максимальная цена = Целевая Цена * (100 + На сколько % можно превысить целевую цену) / 100

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

Далее вычисляем новую цену по формуле:

Формула для новой цены = Цена на начало дня * (100 + % изменения цены по таблице) / 100

Если новая цена по формуле превышает максимальную цену, то считаем, что алгоритм отработал, цена не требует изменения и все следующие элементы стратегии игнорируются.

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

Если новая цена меньше максимальной цены, а также текущая цена меньше новой цены по алгоритму, то репрайсер увеличивает цену до новой цены и все следующие элементы стратегии игнорируются.

По остаткам на каждый размер

Для работу с данным типом увеличения цены требуется задать параметр “На сколько % можно повысить целевую цену максимально”, например 300% и заполнить число дней на сколько осталось артикула - если артикула останется менее чем на это число дней, то “out of stock” отработает.

Если не заполнена целевая цена на артикул, то данный элемент стратегии игнорируется. Алгоритм перейдет к следующему элементу, например к целевым ценам.

Если не заполнено число дней на сколько осталось Артикула - также данный элемент стратегии игнорируется.

Формула расчета новой цены рассчитывается по каждому размеру и цена плавно повышается при выпадении размеров. Сама формула с примером показана выше на скриншоте.

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

Скорость продаж на размер = Заказы размера / Дней в наличии размера.

Размера осталось на = Остаток размера / Скорость продаж на размер.

Максимальная цена = Целевая Цена * (100 + На сколько % можно превысить целевую цену) / 100

Максимальное превышение цены в рублях = (Максимальная цена - Целевая Цена) / Число размеров артикула

Формула для новой цены = Целевая цена + СУММА ПО РАЗМЕРАМ(Максимальное превышение цены в рублях * (Размера осталось на - Число дней на сколько осталось из стратегии) / Число дней на сколько осталось из стратегии)

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

По остаткам суммарно по размерам

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

Скорость продаж на размер = Заказы размера / Дней в наличии размера.

Скорость продаж артикула = Сумма всех скоростей продаж по размерам.

Число дней на сколько осталось артикула = Остаток артикула / Скорость продаж артикула.

Максимальная цена = Целевая Цена * (100 + На сколько % можно превысить целевую цену) / 100

Максимальное превышение цены в рублях = Максимальная цена - Целевая Цена

Формула для новой цены = Целевая цена + Максимальное превышение цены в рублях * (Число дней на сколько осталось артикула из стратегии - Число дней на сколько осталось артикула) / Число дней на сколько осталось артикула из стратегии

Особенности, ограничения и потенциал для доработки по Out of stock.

В данный момент используется цена с кошельком, так как она доступна конечному покупателю и она определяет спрос, т.е. все расчеты выше в алгоритме “out of stock” идут по цене с кошельком. К разработке: сделать по цене с СПП или по цене поставщика. Максимальный процент повышения цены на размер можно задать только общий, поартикульно пока не задается. Число дней на сколько осталось товара задается общее, индивидуально поартикульно пока задать нельзя.

При расчете на сколько дней осталось Артикула сейчас не учитывается:

  • Неснижаемый остаток суммарный или по каждому складу ВБ (сложный вариант)
  • Остатки складов поставщика
  • Поставки в пути: запланировано, отгрузка разрешена, идет приемка, QR поставки
  • товары от клиента и к клиенту

Все действия репрайсером логируются и понять алгоритм работы не сложно. Нижи пример.

1 Out of stock. Вычисление целевой цены

_ Приоритет целевых цен: По варианту с максимальной маржой. Без учета диапазона маржинальности_

_ Подошла целевая цена по цене: 4000,7 руб, максимальная маржа: 2158,18 руб, цена поставщика: 4000,7 руб, цена с СПП 3240 руб, цена с кошельком 3142 руб_

_ Итоговая целевая цена поставщика: 4000,7 руб, цена с СПП: 3240 руб, цена с кошельком 3142 руб_

_1 Out of stock. Информация по расчету скорости заказов/продаж отдельно по размерам. Общая скорость: 18,28 шт в сутки. _

_ Размер: 56. Скорость заказов API: 4,33 продаж API: 130 шт, размер был в наличии: 30 суток, осталось на: 20,79 суток_

_ Размер: 62. Скорость заказов API: 3,88 продаж API: 85 шт, размер был в наличии: 21,88 суток, осталось на: 4,12 суток_

_ Размер: 68. Скорость заказов API: 4,4 продаж API: 132 шт, размер был в наличии: 30 суток, осталось на: 36,82 суток_

_ Размер: 74. Скорость заказов API: 2,6 продаж API: 78 шт, размер был в наличии: 30 суток, осталось на: 45,38 суток_

_ Размер: 80. Скорость заказов API: 2,07 продаж API: 62 шт, размер был в наличии: 30 суток, осталось на: 23,19 суток_

_ Размер: 86. Скорость заказов API: 1 продаж API: 30 шт, размер был в наличии: 30 суток, осталось на: 109 суток_

1 Out of stock. Суммарно всех размеров артикула осталось на: 29,7 суток

1 Out of stock. Формула для новой цены с кошельком = Целевая цена с кошельком + СУММА ПО ВСЕМ РАЗМЕРАМ(Максимальное превышение цены на размер*(Критерий в днях Out of stock - На сколько осталось РАЗМЕРА)/Критерий в днях Out of stock) = 3 142 + 1571*(10-4,12)/10 = 4066 руб

1 Out of stock. Подняли цену с кошельком до: 4066 руб, старая цена с кошельком: 3800 руб

1 Out of stock. Все другие стратегии ниже игнорируем