Как прогнозировать цены с помощью машинного обучения

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

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

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

Эта функция — основной KPI ритейлера, на прогнозирование которого и будет работать данный алгоритм.

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

Чем больше данных в распоряжении алгоритма, тем точнее он работает. Поэтому данные — важнейшее условие конкурентоспособности ритейлера.

Причины отсутствия данных

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

Причины:

  1. Менялся формат данных.
    Различия внутренних систем, ИТ-решений, подходов к сбору данных (по дням или по транзакциям) приводят к тому, что данные в разные периоды жизни компании собираются в разных форматах .
  2. Данные собирались для разных целей.
    Если данные собираются в обобщенном виде, например, для расчета премии категорийным менеджерам и не категорируются, они, как правило, не пригодны для обучения алгоритмов.
  3. Ритейлер недавно вышел на рынок.
    На начальном этапе 90% продаж зависят от трафика сайта. Поэтому невозможно определить, как цены влияют на продажи в течение этого периода.
  4. Горящие распродажи.
    Если ритейлер работает в режиме flash sales (запуск кратковременных распродаж разных категорий или брендов), алгоритмы не могут использовать полученные неоднородные данные.

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

Как работать с существующими данными

Данные, независимо от источника, должны быть в едином формате. Если уже собран определенный объем данных, то ритейлеру потребуется около года, чтобы собрать данные в новом формате (например, включающие цены и акции конкурентов), прежде чем их можно будет использовать в алгоритмах.

Еще один путь — купить недостающие данные.

В то же время для создания моделей прогнозирования данные о конкурентах не нужны.

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

Как смоделировать недостающие данные

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

Для решения таких задач, как правило, используются классификаторы. Они прогнозируют недостающие значения на основе других независимых переменных, значения которых известны.

Рассмотрим типы «умного» заполнения отсутствующих данных.

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

Первая часть — известные данные, вторая — недостающие. Первый массив будет играть роль тренировочного для обучения модели, а данные из второй части станут целевыми переменными для прогноза.

В этой модели, бинарный классификатор будет отвечать на вопрос, произошло ли то или иное событие (например, были ли товары на полке). Категорийный классификатор — присвоит товар определенному сегменту (например, ценовому сегменту);

2. Заполнение методом KNN (k-nearest neighbor): предсказывает недостающие значения на основе ближайшей к целевому показателю переменной.

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

Самый распространенный пример классификатора — классификатор прогнозирования оттока клиентов ритейлера или сервис-провайдера.

Существует пять основных типов алгоритмов-классификаторов:

  • логистическая регрессия;
  • древо принятия решений;
  • нейронные сети;
  • семейство бустеров;
  • Random Forest.

Для прогнозирования конечного целевого показателя — продаж — используются регрессоры. Они предсказывают не сегмент или вероятность, а вероятное числовое значение.

Самые распространенные типы регрессоров — линейная и полиномиальная регрессия, нейронные сети, регрессионные деревья и упомянутый выше Random Forest.

Как использовать алгоритмы машинного обучения в работе с данными

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

Например, если у ритейлера есть достаточное количество исторических данных только о 30% товаров, а также небольшой трафик и редкие продажи, нейронная сеть не сможет работать. В таком случае, можно использовать алгоритмы-деревья для отдельных продуктов.

Примеры древовидного алгоритма — XGboost, LightGBM и CatBoost.

Этот тип алгоритма может прогнозировать оптимальные цены на основе 150-дневной истории активных продаж. Однако, у него есть недостаток: он не умеет учитывать взаимозависимость цен на разные товары. Такой алгоритм можно использовать для KVI-товаров, а к остальным — применять простые сценарии переоценки (rule-based pricing).

Чтобы вычислить эластичность цены для 20-30 товаров, ритейлер может использовать регрессию, добавляя три-четыре переменные. Регрессию можно использовать для принятия высокоуровневых решений: например, стоит или нет повышать цены.

Пример: линейная или полиномиальная регрессия (метод опорных векторов).

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

Другой метод, который используется, когда ритейлеру не хватает данных, это A/B-тестирование на основе аналитики и статистики. Начинающие ритейлеры могут воспользоваться им, чтобы оценить влияние рекламы и цен на продажи.

Пример: сопряженный анализ.

Сопряженный анализ на основе небольшой выборки данных, собранных с помощью A/B-тестирования, определяет оптимальные комбинации цена-промо-реклама. Этот метод показывает, как каждый из этих факторов влияет на цены, и определяет их оптимальное значение.

Выводы

Ритейлер может использовать несколько методов, чтобы восполнить недостающие данные или прогнозировать цены на основе небольших объемов данных: различные классификаторы, древовидные алгоритмы, метод регрессии, A/B-тестирование и совместный анализ.

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

Узнайте больше
47
11
0
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.