Comments 12
При моделировании спроса для оптимизации цен необходимо получить функцию зависимости спроса от цены.
Пробуете несколько типов функций, строите регрессию в любимом инструменте, выбираете наилучший вариант и получаете конкретные цифры, которые отвечают за зависимость спроса от цены и прочих факторов.
Каждый покупатель голосует за тот или иной магазин своим кошельком. Оптимизация процессов (куда входит и оптимизация ценообразования) приводит к снижению издержек в компании, что позволяет в том числе снизить цены (в условиях конкуренции) и сделать более доступными те вещи, которые ранее были очень дорогими.
Про товарно-геогр. иерархию совсем не понятно:
-агрегация данных и каскадирование параметров регрессии в глубину идет по уровням этой иерархии?
- как вырабатывать эту струтуру если есть принятая в компании иерархия по географии (своя коммерческая) и иерархия по продукции (то же коммерческая)? Как есть-компоновать наверно толку не будет, опрашивать категориалов-сколько людей столько и мнений (зачастую противоречащих)
- допустим в истории есть резкий провал на каком то верхнем уровне иерархии по котором оцениваем коэф. сезонности в модели и успешно учли этот провал. ок, каскадируемся вниз. а по факту провал обусловлен тем что одна из сетей тупо вывела наш продукт из своей ассортиментой матрицы и число магазинов с этого месяца упало ощутимо, от того и спрос пошел на агрегированном уровне не в ту сторону, как учитывать флуктуации клиентской базы в истории продаж? делать пересчет на точку и затем в прогнозе обратно ( по актуальной клиентской базе?)
Если я правильно понял, то вопрос из области производства/CPG, не совсем из ритейла. В производстве/CPG обычно добавляется еще уровень клиента, т.е. итоговая иерархия состоит из товарной/географической/клиентской.
агрегация данных и каскадирование параметров регрессии в глубину идет по уровням этой иерархии
- да, агрегация и каскадирование делается по новой иерархии, построенной именно для задачи моделирования спроса.
как вырабатывать эту струтуру если есть принятая в компании иерархия
основная идея заключается в определении характеристик товаров, географии/складов, клиентов и выстраивании их в нужном порядке
- по опыту самый быстрый способ все таки опросить категориалов. Если после усреднения мнений все еще остается несколько основных вариантов, то можно попробовать все, и выбрать наилучший это обычно занимает не так много времени
- аналитический способ 1 — анализ собственных продаж. Надо сделать кластеризацию продаж. Например:
- По схожести временных рядов
- По коэффициентам вот такой регрессии dep ~ indep + time_index + seasonal_dummy
С помощью классификации кластеров определить значимые признаки. Рассмотреть несколько вариантов упорядочивания признаков. "Правильный" порядок будет давать наилучшую точность прогноза на нижнем уровне
- аналитический способ 2 — анализ чековых данных клиентов. Часто самая большая сложность построить именно товарную иерархию. Для решения этой задачи можно использовать анализ транзакционного графа. Для этого надо — получить чековые данные ритейлера. Построить на них граф продаж (пример есть в статье), из графа получить иерархию сообществ. Удивительным образом иерархия сообществ легко трактуется по признакам товаров.
допустим в истории есть резкий провал на каком то верхнем уровне иерархии
В статье речь идет больше про классический ритейл, где один клиент не оказывает такого большого влияния на продажи на верхних уровнях. В приведенном примере надо рассмотреть несколько вариантов, например восстановить продажи выведенного товара / убрать проблемную ветку клиент-товар и определить сезонность без нее / оставить как есть, т.к. сезонность усредняется за несколько периодов / воспользоваться ARIMA с индикатором проблемы / ...
По поводу флуктуации клиентов надо смотреть конкретно вашу ситуацию.
так же про каннибализацию не понял, добавили в функц.зависимость цены наиболее коррелированных товаров и неслабо словили мультиколлинеарность, как дальше использовать параметры модели?
Чтобы не словить мультиколлинеарность, можно начать с добавления в формулу спроса только самых сильных кросс-эффектов, например только промо на наиболее схожие товары, можно использовать регуляризацию. В обоих случаях параметры модели используются таким же образом, как и при отсутствии мультиколлинеарности.
Спасибо за интересный материал.
1.Правильно ли я понимаю, что под сезонностью мы понимаем значения сезонной составляющей (например из STL decomposition)?
2.При переходе от «высшего уровня» к «среднему уровню» вычитается сезонность.
Вычитаются именно абсолютные значения? Или есть какие-то переходы в относительные значения?
Пример:
otexts.org/fpp2/fpp_files/figure-html/elecequip-stl2-1.png
Есть ряд, пусть будет это уровне страны РФ.
Оценили сезонность — она варьируется от -10 единиц до 10 единиц.
И теперь будем ее вычитать из ряда на уровне города Урипинска, где сам ряд может гипотетически до 10 единиц по продажам не достигать?
Добрый день.
Правильно ли я понимаю, что под сезонностью мы понимаем значения сезонной составляющей (например из STL decomposition)
Не совсем, скорее сезонная компонента + тренд.
Т.е. если максимально упростить алгоритм, то последовательность действий следующая:
- Прогнозируем ряд методами временных рядов (без учета прочих факторов)
- Вычитаем результат, получаем остатки 1
- Прогнозируем остатки 1 с помощью регрессии и внешних факторов
- Вычитаем из остатков 1 прогнозы регрессии, получаем остатки 2
- Остатки 2 прогнозируем методами временных рядов и собираем результат обратно
Вычитаются именно абсолютные значения? Или есть какие-то переходы в относительные значения?
Есть переходы в относительные значения. Необходимо масштабировать эффекты на нужный уровень иерархии. Говоря простым языком — если сезонность и тренд мультипликативны, то достаточно их значений. Если аддитивны, то их необходимо нормировать на продажи конкретного ряда.
Оптимизация цен в оффлайн ритейле