реклама
разместить

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

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

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

  • Формирование плана продаж. Прогноз всегда должен предшествовать постановке бизнес-целей. Если цель выше прогноза, то нужно понимать, за счет чего она будет достигнута: поиск новых каналов сбыта, увеличения бюджета на продвижение.
  • Управление складской организацией. Не должно быть никакого дефицита или переизбытка материалов/готовой продукции на складе. Предсказываем объем продаж и производим товаров столько, сколько необходимо для удовлетворения спроса.
  • Формирование ассортиментной матрицы. Технологии машинного обучения помогут не только увидеть общий спрос на товары, но и предсказать тренды в продажах определенных позиций.
  • Оптимизация ФОТ и работы персонала. Не нужно выводить на производство две смены, если с изготовлением товара по плану продаж справится и одна. Также прогноз подскажет, когда нанимать дополнительный персонал, если ваши продажи привязаны к сезонам.
  • Управление маркетинговой стратегией и оптимизация бюджета. Ориентация на прогноз позволит включать рекламные кампании со скидками тогда, когда этого особенно требует рынок, не растрачивая промо-бюджет.
  • ML делает бизнес гибким. Прогноз даст шанс мгновенно реагировать на спад показателей, выявлять причины и мобильно принимать управленческие решения.

Не так много компаний используют прогнозы, потому что для них нужны не только исторические данные о клиентах, товарах, покупках, сезонности спроса. Для качественных предсказаний с высокой точностью требуются еще и внешние данные вплоть до погодных условий, новостного фона и календаря городских событий – такие данные собирать сложнее. В большинстве случаев компании прогнозируют по средним значениям предыдущих периодов, что на большом объеме данных неизбежно приводит к высокой погрешности и влечет управленческие ошибки, потерю бюджета из-за неправильных закупок и перерасхода ресурсов сотрудников. Качественный прогноз помогает избегать этого и является точкой экономии расходов, а не наоборот.

Как на самом деле делают прогнозы: цена ошибки

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

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

Керимов Элчин

О Broniboy

Сегодня расскажем о кейсе по построению модели прогнозирования спроса для компании Broniboy.

Компания стартовала в 2017 году как сервис предзаказа блюд в ресторанах, нацеленный на всех, кто ценит свое время. И прошла путь к сервису курьерской доставки, которая на региональном уровне уверенно конкурирует с такими гигантами, как Яндекс.Еда и Delivery Club. Последнее обновление – курьерская доставка из пункта А в пункт Б небольших посылок и доставка продуктов из магазинов – позволило обеспечить курьеров нагрузкой в те часы, когда пользователем не нужна еда из любимых ресторанов.

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

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

Зачем нужен прогноз?

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

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

Иван Труфанов

Как построить прогноз при недостатке данных?

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

Об этом рассказал руководитель DS-разработки проекта: «При построении прогнозов важно обладать нужным количеством данных. Если у нас мало данных, то наши модели начинают переобучаться или находить закономерности, которых на самом деле нет. В итоге мы не можем построить качественный прогноз – в лучшем случае, это будет похоже на подбрасывание монетки. В ситуации с предсказанием количества заказов, поступивших на платформу Broniboy, обязательно нужна история заказов хотя бы за один год, так как в поведении пользователей присутствует сезонность – статистика по сезонам может сильно отличаться друг от друга. Летом люди больше времени проводят вне дома и сами посещают заведения, а в холодное время года – лишний раз не выходят и предпочитают заказывать еду из любимых кафе и ресторанов на дом».

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

Объем данных и фичи

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

В качестве факторов, влияющих на целевую переменную, выделено более 80 предикторов. К ним относятся:

  • лаговые фичи – кол-во заказов 2 недели назад, месяц назад, год назад;
  • погода в тот день и час, на который мы предсказываем – температура воздуха, признаки дождя/снега, сила и направление ветра;
  • признаки, описывающие день – день недели, час, день месяца, месяц;
  • признак коронавируса – так как количество заказов во время пандемии значительно выросло;
  • количество посещений приложения;
  • количество новых, текущих и лояльных клиентов;
  • количество действующих скидок на данный момент;
  • информация о праздниках.

С какими проблемами столкнулись?

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

Использовались различные модели, начиная от линейной регрессии и заканчивая моделями на основе градиентного бустинга и нейронных сетей. Лучше всего себя показал градиентный бустинг от Яндекса – catboost. Разбираясь в проблеме плохого качества предсказания, мы выяснили следующее: dataset состоял из всех ресторанов-партнеров, и количество заказов в них сильно разнилось. У некоторых был «1 заказ в случайный четверг», а некоторые, например, McDonalds передавали на доставку постоянный поток заказов. Анализируя данные, мы также заметили сильный дисбаланс в целевой переменной – количестве заказов в определенный день-час для определенного ресторана. Оказалось, что целевая переменная принимала значение 0 в 10 раз больше, чем все остальные значения.

В процессе работы над проектом пробовали разные модели для того, чтобы повысить точность по каждому отдельно взятому ресторану. Анализируя все рестораны выделили топ-20 – со стабильным потоком заказов, все остальные – с нерегулярными и ситуативными заказами.

Какие решения пробовали?

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

  • Использование больших весов для данных, которых мало в dataset (некая вариация class_weight для задачи регрессии).
  • Выбор k-лучших предикторов через кросс-валидацию. А остальные предикторы были удалены из обучения – таким образом мы избавились от шума.
  • Очистка данных от выбросов.
  • Попытки обучения по одной модели на каждый из ресторанов – в итоге получили почти нулевой R2.
  • Попытка убрать из модели рестораны, на которых наибольшая ошибка в «отдельный кластер», чтобы было две разные модели для разных ресторанов. Но и при таком решении обучение на одном из кластеров даёт почти нулевой R2.
  • Стекинг. Предсказания моделей lasso, catboostregressor, lgbmregressor были скормлены randomforestregressor – в итоге R2 уменьшился по сравнению результатом любой из моделей по отдельности.
  • Нейронные сети. Полносвязная нейронная сеть с контролем переобучения и подбором гиперпараметров даёт тоже печальный R2= 0,1. Попытка обучить lstm, при этом передавая дополнительные параметры: время, час, ресторан, чтобы он смог уловить зависимости, — дала примерно такой же результат.
  • Попытка классификации (был заказ/не был). Но она тоже на различных моделях (в т.ч. нейросетями) не дала выйти дальше 0,5 auc precison_recall_curve. Эта метрика выбрана потому, что dataset очень несбалансированный.

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

Оптимальным стало решение работать с ensemble из нескольких моделей, поскольку на результат, который дают модели влияют разные признаки. Например, catboostregressor лучше улавливает погодные параметры, но на его значения меньше влияли лаговые переменные.

Извечный вопрос – что делать?

Определившись с подходом, мы просуммировали данные по всем ресторанам и сделали предсказание на определённые день-час. Попытки предсказания на отдельных кластерах, в которых были бы топ-30 и не топ-30 ресторанов (тоже сагрегированных на день-час) не дало прироста точности, даже снизило показатель. В итоге агрегации по данных по всем ресторанам мы смогли получить довольно приличное значение R2 = 0,85. В прогнозе используется комбинация предсказания моделей lasso, catboostregressor, ridge с весами 0,6, 0,2, 0,2. Данная комбинация позволила получить лучшие результаты в пилотном проекте.

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

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

Труфанов Иван

Прогнозирование – это не просто современная технология, модная и интересная. Это реальный и доступный инструмент, который позволяет принимать верные управленческие решения, выводя бизнес на более высокий уровень, и увеличивать прибыль компаний. При наличии всех необходимых данных за достаточный промежуток времени, можно делать прогнозы очень высокой точности – так, на данных продаж за 4 года можно сделать прогноз с точностью 97% . Такой результат позволяет бизнесу зарабатывать больше благодаря точным планам, закупкам и формированию бюджета на маркетинг. Но, как показал кейс, даже недостаток данных не является препятствием для создания качественной прогностической модели.

Подводя итог кейсу, обратим внимание на несколько моментов:

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

Больше информации о решениях ищите:

22
реклама
разместить
Начать дискуссию
Вложили 1,5 млн рублей в кондитерский отдел — закрылись через 4 месяца с долгом в 350 000

История пары из Москвы, которая решила вместо свадебного путешествия вложиться в кондитерский бизнес. О том, как ребята подходили к расчетам инвестиций, выбору помещения и почему у них всё пошло не по плану, читайте в нашей новой статье.

Фото не нашего отдела, но у нас было что-то похожее на этот
55
«Газпром» на фоне убытков ждёт реструктуризация, её возглавляет местная «Серсея Ланнистер» Елена Илюхина — FT

Её план как замгендиректора должен «расшевелить болото».

Источник фото: РБК
4242
44
22
22
11
Сделать убыточным Газпром надо постараться конечно...
УСН под защитой: что делать, чтобы ФНС не оспорила ваш режим
УСН под защитой: что делать, чтобы ФНС не оспорила ваш режим

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

33
Открыл производство вывесок в 23 года, а через 5 лет выгорел и продал долю партнёру.

История, в которой реальность разрушает ложные представления о суровости бизнес-деятельности. Как уйти из найма и продавать вывески на протяжении 5 лет, а потом бросить всё и духовно преисполняться на Бали, — узнаем в сегодняшней статье.

Открыл производство вывесок в 23 года, а через 5 лет выгорел и продал долю партнёру.
22
11
11
Проект same.new выпустил генератор сайтов по текстовому описанию — его ИИ-агент может скопировать существующий интерфейс по ссылке

Сервис поддерживает русский язык.

1616
66
22
11
11
Еще один кол в джунов, которые хотят упасть на 400к после двухнедельных курсов скиллбокса
Как я превратила личную драму в миллионный бизнес: Секрет "невидимой" платформы, где женщины плачут и покупают

«Два года назад я была мамой в декрете с долгами и нулём на счету. Сегодня мой закрытый «островок доверия» собирает тысячи женских историй, а рекламодатели платят за доступ к аудитории. Расскажу, как стартовала с бюджетом 500К и окупила вложения за полгода»

Как я превратила личную драму в миллионный бизнес: Секрет "невидимой" платформы, где женщины плачут и покупают
99
11
11
11
🩸ЛУКОЙЛ — Налоги душат, квоты ОПЕК+ сдерживают, санкции давят. Как компания продолжает платить инвесторам и что ожидает в 2025? Анализ отчета

Потратил 100 млрд на байбек, раздал 14% дивидендов и накопил гору денег... и всё это на фоне падающей рентабельности. Что же делать инвесторам?

🩸ЛУКОЙЛ — Налоги душат, квоты ОПЕК+ сдерживают, санкции давят. Как компания продолжает платить инвесторам и что ожидает в 2025? Анализ отчета
1111
22
11
Обложки для YouTube, постеры на русском и макеты сайтов — для чего используют новый генератор изображений в ChatGPT

Собрали первые примеры пользователей.

3333
44
11
11
Минцифры обсудит ответственность УК за невыполнение норм доступа провайдеров в дома после DDoS-атаки на Lovit

В конце марта 2025 года жители домов от застройщика ПИК остались без интернета из-за DDoS-атаки на компанию — единственного провайдера.

2020
66
22
11
Роскомнадзор сообщил, что атаку продолжаем... ой атака продолжается четвёртый день.
реклама
разместить
Не фича, а баг: новый генератор картинок в ChatGPT отказывается создавать «сексуальных женщин», но зато генерирует «сексуальных мужчин»

Глава OpenAI уточнил, что это «ошибка» и её скоро исправят.

Источник: <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fx.com%2FNickADobos%2Fstatus%2F1904603128374452611&postId=1887605" rel="nofollow noreferrer noopener" target="_blank">Х</a>
2525
1111
11
Никакого будущего ии не будет, пока не будет возможности генерировать без цензуры порно
День 1127: дилеры начали предлагать скидки до 1 млн рублей на китайские машины из-за затоваривания складов

Собираем новости, события и мнения о рынках, банках и реакциях компаний.

Фото ТАСС
6565
66
11
11
Какая скидка... В здравом уме это г@вно никто не возьмет. Если б ввели акцию "миллион тому, кто заберет машину со склада", тогда еще можно было бы подумать.
Хотел купить готовый бизнес для пассивного дохода, но в итоге потерял 8 млн рублей за 5 месяцев

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

Хотел купить готовый бизнес для пассивного дохода, но в итоге потерял 8 млн рублей за 5 месяцев
1313
11
11
11