Сезонность передача знаний в SPAR

1.

Сезонный алгоритм
в SPAR

2.

Термины
• Праздничные даты: Дата праздника + несколько дней до +
несколько дней после
Пример: 8 марта + 3 дня до + 1 день после,
Итого праздничные даты 5 – 9 марта
• Новые товары: товары, которые впервые продаются на праздник
2

3.

Общая информация
• Документация
• Прогноз строится моделью Профет на уровне товаров
• Прогноз строится на основе истории за 2 года
• Прогноз строится для топ-300 товаров по обороту в
«праздничных» категориях (те, которые показали рост в
предыдущие 2 года). Категории согласовываются со Спаром
• В прогнозе используются фичи: праздники, флаг, есть ли акция,
номер дня в акции
• Для новых товаров используется средний прогноз товаров
аналогов
3

4.

Скрипты
• season_items_collecting.py – отбор топовых товаров. Запускался
только вручную
• prophet_predicition.py – непосредственно расчет прогноза.
Запускается ежедневно днем (чтобы не мешать основному
инференсу)
4

5.

Отбор топовых товаров
• Вручную отбираются категории на 4 уровне, которые растут на праздник. В
первую очередь смотрим темп WoW
• Скрипт season_items_collecting.py
5

6.

Отбор топовых товаров
• Вручную отбираются категории на 4 уровне, которые растут на праздник. В
первую очередь смотрим темп WoW
• Скрипт season_items_collecting.py
1.
2.
3.
4.
Загружаются продажи в праздничные даты в предыдущие 2 года
Берется топ 300 товаров по ТО (в деньгах)
К ним добавляются все новые товары из праздничных категорий
Осуществляется разметка новый товар или нет
6

7.

Отбор топовых товаров
• Вручную отбираются категории на 4 уровне, которые растут на праздник. В
первую очередь смотрим темп WoW
• Скрипт season_items_collecting.py
1.
2.
3.
4.
Загружаются продажи в праздничные даты в предыдущие 2 года
Берется топ 300 товаров по ТО (в деньгах)
К ним добавляются все новые товары из праздничных категорий
Осуществляется разметка новый товар или нет
Проблемы:
• Надо обновить каталог (сейчас обращаемся к старому)
• Сейчас считается топ за оба года. Если товар популярный, но продавался
только один год – может не попасть в топ
• Топ 300 может быть мало в некоторых случаях
7

8.

Построение прогноза
Скрипт prophet_predicition.py
Прогноз считается для всех праздников, которые попадают в горизонт 42 дня
Подготовка датасета
с продажами, как в старом препроцессинге (учитывается
производство, ротация и т.д.)
Для отправки в Спар берется прогноз, посчитанный вчера
8

9.

Построение прогноза
1.
2.
3.
4.
Скрипт prophet_predicition.py
Прогноз считается для всех праздников, которые попадают в горизонт 42 дня
Подготовка датасета
с продажами, как в старом препроцессинге (учитывается
производство, ротация и т.д.)
Для отправки в Спар берется прогноз, посчитанный вчера
Подготавливаем датасет с продажами
Для старых товаров строим прогноз профетом
Для новых товаров усредняем прогноз аналогов / берем медианный прогноз по
категории
Если товар в предыдущие 2 года стоял на акции в праздник, а в этом году без акции –
для него ничего не считаем – проверить актуальность
9

10.

Построение прогноза
1.
2.
3.
4.
Скрипт prophet_predicition.py
Прогноз считается для всех праздников, которые попадают в горизонт 42 дня
Подготовка датасета
с продажами, как в старом препроцессинге (учитывается
производство, ротация и т.д.)
Для отправки в Спар берется прогноз, посчитанный вчера
Подготавливаем датасет с продажами
Для старых товаров строим прогноз профетом
Для новых товаров усредняем прогноз аналогов / берем медианный прогноз по
категории
Если товар в предыдущие 2 года стоял на акции в праздник, а в этом году без акции –
для него ничего не считаем
Проблемы:
• Товары аналоги не очень хорошо подбираются
• Обновить препроцессинг
• Старый каталог
10

11.

Структура
/data/raw/prophet
/prediction
/{store_id}
/{holiday_name}.parquet
/{store_id}
Список праздничных товаров
для данного праздника
/{date}.parquet
Прогноз, построенный на эту
дату + 41 день
11

12.

Что дальше?
• Возвращение к прогнозу до категории
• Корректировка расчета прогноза для новых товаров
12
English     Русский Правила