О MySales

Обзор

MySales – это продукт, который поможет вам:

  • Анализировать продажи

  • Использовать различные регрессионные модели для товарных групп и позиций

  • Раскладывать продажи по влияющим факторам

  • Понимать причины изменения продаж

  • Смотреть влияние цен и скидок

  • Понимать влияние других факторов, включая цены конкурентов и курс валют

  • Строить прогноз продаж на основе различных моделей

  • Совершенствовать планирование промоакций

  • Заказывать товар на основе прогноза продаж и страхового запаса

  • Оптимизировать поставки через распределительный центр и логистику закупок

  • Оптимизировать розничные цены на основании статистики и цен конкурентов

  • Анализировать ценовой имидж с использованием динамики ценовых индексов

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

Алгоритмы машинного обучения

В MySales можно выделить несколько основных алгоритмов машинного обучения, используемых для прогнозирования:

  • Набор регрессий и дерево принятия решений, используемые для построения многофакторного прогноза

  • Алгоритм градиентного спуска, используемый для многофакторного регрессионного анализа

  • Алгоритмы расчета аддитивной и мультипликативной сезонности

  • Система нейронных сетей для прогнозирования промо

  • Алгоритм оценки cхожести и сопоставления промо-позиций

  • Алгоритмы оптимизации количества в заказах

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

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

Ключевым отличием и ноу-хау алгоритмов MySales, является их предсказуемое поведение в различных условиях и низкая склонность к эффекту переобучения, которых также известен как "эффект подгонки" или "over fit". Это достигается за счет того, что машинное обучение в MySales выполняется в рамках логических правил и ограничений, заданных как параметрами системы, так и индивидуальными настройками для заказчика.

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

Регрессионный анализ

Нейронные сети

Модель

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

MySales выбирает лучшую модель для каждого уровня: Группа/Магазин, SKU/Магазин, Группа/Вся сеть, Группа/Регион, SKU/Вся сеть, SKU/Регион, однако вы можете установить свои собственные модели на этих уровнях.

Выбор модели

Вы можете выбрать собственные модели для каждой товарной группы, SKU, или даже для каждого уровня: Группа/Магазин и SKU/Магазин.

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

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

Добавление моделей

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

Для того, чтобы добавить модель, обратитесь к вашему администратору MySales, поскольку это требует редактирования файла 'options.js' в корневом каталоге приложения. Всегда сохраняйте резервную копию файла 'options.js' при добавлении моделей.

Предикторы

Предиктор – это независимая переменная, которая загружается в MySales из исходной системы или рассчитывается для конкретной модели.

Типичными предикторами в розничной торговле являются:

  • Сезонность – рассчитывается на основе исторических продаж

  • Тренд – рассчитывается на основе несезонных продаж

  • Цена, скидка – загружается из исходной системы

  • Влияние цены, скидки – рассчитывается с использованием нелинейных регрессий на основе цены

  • Изменение цены – процент изменения цены за определенную неделю к средней цене за последние несколько недель

  • Кол-во позиций – количество позиций в товарной группе

  • Остаток – загружается из исходной системы

  • Курс – обменный курс валюты из внешнего источника

  • Изменение курса – процент изменения обменного курса валюты за определенную неделю к среднему обменному курсу за последние несколько недель

  • Доля продаж – доля продаж определенного продукта в группе, в процентах

Стандартный набор предикторов

Выбор предикторов

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

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

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

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

  2. Избегайте включения в модель предикторов, которые имеют нелинейное (экспоненциальное, логарифмическое, степенное) влияние на ваши продажи для определенных товарных групп или SKU, вместо этого включайте влияние этих переменных, например, если цена экспоненциально влияет на ваши продажи, включите предиктор 'Рег. цена' вместо предиктора 'Цена'.

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

Добавление предикторов

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

Каннибализация

Ценовая эластичность

Прогнозирование новых позиций

Как MySales работает

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

Для того, чтобы разложить ваши продажи на влияющие факторы, MySales вычисляет большое количество переменных:

  • Аддитивная сезонность

  • Тренды, основанные на линейной и нелинейной регрессии для несезонных продаж

  • Линейная и нелинейная регрессия по цене, скидке и другим предикторам, которые вы настроили

  • Линейная (или нелинейная) регрессия для подсчета позиций в товарных группах

Затем MySales включает эти переменные в различные модели регрессии, с которыми вы можете ознакомиться на странице НАСТРОЙКИ, тестирует каждую модель и выбирает модель, наиболее подходящую для ваших продаж.

Фиксирование моделей

Параметр 'Фиксирование моделей' находится в разделе '10. Обработка Параметров'. По умолчанию его значение равно undefined. Это значит, что MySales будет фиксировать выбранную модель в том случае, если доступная история больше или равна undefined недель, или если она была зафиксирована вручную. Если же доступной истории не достаточно, то MySales каждый раз будет выбирать лучшую модель.

Вы можете ознакомиться с этим параметром на странице НАСТРОЙКИ.

Оценка прогноза для выбора лучшей модели

При тестировании каждой модели, MySales строит прогноз на прошлые 52 недель, и вычисляет Среднюю Абсолютную Процентную Ошибку (MAPE) для прогноза по каждой модели. Затем, основываясь на ваших настройках модели, MySales добавляет штраф для каждой модели и выбирает модель с минимальной ошибкой, включая штраф. Штраф – это процент, который вы можете использовать для уменьшения чувствительности по конкретной модели.

Вы можете увидеть процент штрафа для каждой модели на странице НАСТРОЙКИ. Для просмотра исследуемых и выбранных моделей используйте кнопку “Список” Модели на странице MY SALES.

Использование прошлых неопределенных недель для оценки прогноза

Этот параметр можно увидеть на странице НАСТРОЙКИ, в разделе '6. Другие Параметры Прогноза'.

Этот параметр может быть изменен до 3-6 недель при построении краткосрочного прогноза, и увеличен до 9-13 недель для среднесрочного или долгосрочного прогноза.

Как заказать товар на основе прогноза

Существует несколько вариантов, самый простой из них – это взять прогнозируемое количество для периода поставки (от ближайшего дня поставки до следующего дня поставки) и добавить Среднее Абсолютное Отклонение (MAD) или Среднюю Абсолютную Процентную Ошибку (MAPE) в качестве страхового запаса. Ваше целевое количество остатка готово, затем надо просто вычесть текущее значение остатка и вы будете иметь необходимое количество товара для заказа. Если точность прогноза высокая, то использование MAPE является предпочтительным, когда вам нужно увеличить страховой запас для прогнозируемых пиков. Использование MAD предпочтительней, когда точность прогноза меньше, или продажи низкие, либо продажи ожидаются более гладкие без высоких пиков.

Пример 1:

  • Вы заказываете товар на 1 неделю, каждый понедельник

  • Прогноз на следующую неделю составляет 10 штук

  • MAPE составляет 20%, MAD – 1.2 штуки

  • Ваш заказ на следующую неделю это 12 штук (10 + 20%) минус текущий остаток

Пример 2:

  • Вы заказываете товар на 1 неделю, каждый понедельник

  • Ваш прогноз на следующую неделю составляет 0.5 штуки

  • MAPE составляет 50%, MAD – 0.3 штуки

  • Ваш заказ на следующую неделю это 1 штука ( round(0.5 + 0.3) ) минус текущий остаток

О том, как MySales работает с автоматическим заказом товара, читайте в статье https://mysales-labs.atlassian.net/wiki/spaces/SUPPORT/pages/7798869.

(c) MySales Labs Ltd
Единственным и исключительным владельцем программного обеспечения MySales, данной документации и других связанных с MySales сопроводительных материалов, является MySales Labs Ltd