Кейс Delivery Club: мы сделали свой ИИ, который прогнозирует спрос на доставку еды

Большой брат следит за тем, что, когда и где вы заказываете.

Интерфейс системы
Интерфейс системы

На прошлой неделе мы анонсировали «Алан» — «умную» систему, которая может прогнозировать спрос на доставку еды и автоматически формировать расписание курьеров в разных районах города. Мы назвали её в честь Алана Тьюринга. Его книга «Может ли машина мыслить?» — мастрид нашего отдела аналитики.

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

К примеру, старые метрики говорят нам о том, что в районе Южного Бутова в дождливые дни большой спрос на доставку из суши-баров: теперь «Алан» автоматически посчитает и распределит по ресторанам-партнёрам Бутова такое количество курьеров, которое поможет сделать доставку быстрой и эффективной в плохую погоду. Никакой магии — только математика.

Зачем нам «Алан»

Ключевая задача логистов Delivery Club — назначение курьеров на точки. До «Алана» курьерское расписание формировалось вручную: в Москве этим занималась одна команда, в Петербурге — другая, в регионах — третья.

Ни одна из команд в работе не опиралась на сложные исторические или внешние данные вроде спортивных событий или атмосферного давления. Это приводило к тому, что иногда в каком-то районе курьеры простаивали, а в другом их было слишком мало. При этом сами диспетчеры сильно перегружались и теряли эффективность. Внутренний запрос на что-то вроде «Алана» был у нас давно, и систему мы создавали с тремя целями:

  1. Повысить эффективность курьеров. У нас есть «рейтинг загруженности»: это количество заказов в единицу времени, которое курьер может доставлять. Чем меньше простой между доставкой одного заказа и получением нового, тем лучше. В этом заинтересованы и курьеры (больше заказов — больше денег), и сам сервис. Система поможет сотрудникам быть эффективнее и больше зарабатывать.
  2. Удовлетворить спрос на доставку. Тут всё ясно: когда в зоне достаточно курьеров, еда приезжает быстрее. Скорость — один из ключевых параметров, над которым мы сейчас работаем. В последние три-четыре года именно повышение скорости позволило изменить отношение к доставке от «еда на праздник» до «еда на обед».
  3. Упростить работу диспетчеров. Каждую неделю курьеры скидывали в чат с нашим ботом свои пожелания относительно расписания: где они хотят работать, в какое время и в каких зонах. Диспетчер обрабатывал информацию и формировал рабочие интервалы. На то, чтобы спланировать расписание курьеров на день вперёд, у него уходило около восьми часов.

Теперь диспетчеру остаётся только промодерировать результаты «Алана» — даже самые сложные логистические системы не могут работать без человеческого участия. Модерация расписания курьеров на всю следующую неделю занимает не более двух-трёх часов.

Так выглядит интерфейс назначения курьеров на точки
Так выглядит интерфейс назначения курьеров на точки

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

Раньше для диспетчеров и курьеров было два разных рабочих интерфейса. «Алан» помог их унифицировать. Можно сказать, что отныне эта система — «мозг» Delivery Club.

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

Главных задач у «Алана» три: почасовое прогнозирование спроса на доставку в разных районах, расчёт нужного количества курьеров и автоматическое формирование индивидуального расписания.

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

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

Важно: кроме исторических данных, при формировании расписания «Алан» учитывает тот самый «рейтинг загруженности». Система помогает сделать все зоны доставки сбалансированными — мы стараемся, чтобы новичков и опытных курьеров везде было поровну.

Вся разработка заняла у нас около 4 месяцев. Первоначальная версия была написана быстро: идейный вдохновитель «Алана», наш главный аналитик Константин Измайлов, сделал ее за три недели. После к работе подключились еще два аналитика — они взяли на себя работу с данными и поиск оптимальных решений. В целом над «Аланом» трудились примерно 15 человек: руководитель проекта Антон Сокольников, аналитик Костя Измайлов, команда бэкенд-разработки, дизайнеры, фронтенд-разработчики. А со стороны отдела логистики — я.

Итоги

Система постоянно совершенствуется. Мы делаем ретроспективный анализ каждую неделю: добавляем какие-то новые фичи, смотрим на бизнес-метрики, фиксим баги. А когда к Delivery Club подключается новый ресторан, прогноз спроса и количества курьеров для него делается просто: «Алан» автоматически ищет в системе похожие рестораны (так называемых «ближайших соседей») и копирует расчеты.

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

2929
48 комментариев

Итог: в прошлую пятницу Доставка 2 часа вместо часа, ни извинений, ни скидок

10
Ответить

Алан еще не расправил плечи просто

22
Ответить

Прошлая пятница была праздничным днем. Для нас праздники, а в особенности вечер праздничных дней — раштайм. Тут дело даже не в Алане, потому что он работает только и исключительно на курьеров Delivery Club, дело в аномальном количестве входящих по всем фронтам.
Мы правда старались сделать все максимально быстро и здорово, но порой что-то шло не так из-за валового напора на отдельно взятый ресторан, потому что когда ресторан понимает, что не в состоянии переварить все то что на него ссыпалось, он закрывается и удар получает уже следующий. Могу предположить, что именно так и произошло в вашей ситуации.
Вот что касательно отсутствия фидбэка — эта ситуация для нас нетипична. Потому что в случае, если курьер опаздывает, мы присылаем извинения подкрепленные промокодом.
От лица сервиса хочу принести вам извинения. Мы знаем, что голод — не тетка. Напишите мне в ФБ с номером телефона и названием ресторана, пожалуйста, посмотрю почему не пошла СМС и с вами никто не связался в итоге.

5
Ответить

Обязательно напишите об эффективности такого внедрения, с цифрами. Очень интересная тема.

12
Ответить

Как партнеру Деливери Клаб хотелось бы получать статистику, и подобные прогнозы, было бы легче прогнозировать нагрузку на кухню и продукты.

3
Ответить

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

Ответить

После Burger и Pizzoni, не понятно, почему рестораны с ними вообще сотрудничают?

2
Ответить