Как стать автором
Обновить

Оптимизируй, если сможешь: как мы рассчитываем спрос на подарки с помощью ML

Время на прочтение7 мин
Количество просмотров1.6K
Всего голосов 2: ↑2 и ↓0+2
Комментарии7

Комментарии 7

Довольно интересная статья

С Маркетингом и бюджетом сталкивался косвенно, слышал о маркетинг-микс, он чем-то существенно отличается от Вашего подхода?

По возможности хотелось бы видеть какую-то тех. составляющую. Не часто на хабре можно встретить статьи связанные с R =)
Учитывая последние события в мире - на работоспособности модели как-то сказалось?

Здравствуйте:) Ярослав, автор статьи, опубликовал ее и ушел в отпуск. Но он скоро выйдет на связь и сможет ответить!

Привет!)
Спасибо за вопрос :)

Да, отличается. Во-первых, целью задачи. Маркетинг микс ставит целью поиск эффективного распределение бюджетов на основе сравнительного анализа показателей рекламных сегментов (например, по каждому рекламному сегменту: доля рекламных расходов, отдача от инвестиций, эластичность изменения продаж от изменения бюджетов, синергетический эффект дополнения рекламных каналов, прямая и вероятностная атрибуция). То есть маркетинг микс отвечает на то, как нужно распределить рекламный бюджет по каналам для достижения лучших показателей.

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

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

По поводу тех составляющей Вас интересует код или примерные этапы анализа? Если второе, то выглядит примерно так: постановка бизнес-задачи, формулировка технического задания - что и как можем сделать на языке аналитики уже, извлечение данных из наших СУБД, очистка данных, первоначальный анализ данных, подготовка гипотез, проверка гипотез, отладка моделей: обучение моделей на различных промежутках, тестирование моделей на "будущих" временных периодах, отбор лучших моделей с точки зрения нашего бизнес-процесса, внедрение моделей в бизнес-процесс - например, прогнозирование на следующий месяц.

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

Во-первых, использование изменения уровня тренда (ДО и ПОСЛЕ) - в таком случае общая картина (сезонности и цикличности) остаются прежними, просто будет изменение показателя после определенной точки, которую мы вправе задать. То есть тренд будет с дрейфом после той временной точки, которую мы сами зададим.

Второй возможный подход - использование методов, позволяющих давать разные веса наблюдениям. Например, мы даем большую ценность недавним показателям. Например, метод Holt Winters позволяет экспоненциально уменьшать вес событий, в зависимости от их давности, по каждому дню.

Изучал BI систему Superset и там есть реализация предсказания временных рядов при помощи библиотеки на prophet на python. Разработкой занималась FB. На python работает в несколько строк кода, может подчерпнете для своей модели от туда чего ?

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

Да, как уже правильно отметили, я также пробовал использовать prophet - очень привлекательно выглядит концепция модели - выделение различных составляющих: выходные, недельные циклы и др. Но на тестах она показала не такой хороший результат, как, например, Seosonal ARIMA. Возможно, если докрутить модель под наши нужды, то будет подходяще. Prophet не дал адекватного прогноза именно в сезонные пики - а для нас это критично. То есть нам предельно важно понять выручку в пиковые сезонные временные промежутки с учетом сезонности и тренда.

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

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

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

За развернутый ответ выше отдельное спасибо!)

Возможно будет интересно, у сбера есть интересный кейс, связанный с пиками (задача - держать в банкоматах х сумму, для обычных дней и y сумму в пиковые, например в дни выдачи зп), на ютубе выложенный. Пробовали множество моделей (в том числе арима/профет) но остановились на обычной регрессии. Задача с правильным прогнозом пиков довольно часто поднимается. Sota решение не знаю, но для себя выбрал 2 различные модели (стандарт/пик) на верхнем уровне и суммы выступающие в роли регрессоров для того же бустинга при декомпозиции на нижний.

Еще раз спасибо за статью, надеюсь увидим продолжение уже про эффективность вложений =)

ПыСы Про тех часть, просто пожелание, ибо в ру сегменте R, примеров кода по вот таким кейсам, не так много как хотелось бы. Условно - вдруг для себя что либо подметить интересное смогу

Зарегистрируйтесь на Хабре, чтобы оставить комментарий