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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итоги

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

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

0
48 комментариев
Написать комментарий...
bullet bullet

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

Ответить
Развернуть ветку
Sam Beckett

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

Ответить
Развернуть ветку
Ultratesting

сук, смешно

Ответить
Развернуть ветку
Artem Kashaykin

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Artem Kashaykin

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

Ответить
Развернуть ветку
Евгений Круглов
Скоро все будет лампово и френдли

Это вы наберёте студентиков в поддержку или просто выпилите чат в приложении и замените его на тикеты?

Ответить
Развернуть ветку
Artem Kashaykin

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Artem Kashaykin

Как уже и писал выше — с чатом есть некоторые проблемы, которые мы решаем.

Насчет комментов — странная реакция, конечно, но ладно, наверное тут так принято.

Ответить
Развернуть ветку
Евгений Круглов

Так может делать так, чтобы число обращений минимизировать? А не вставлять чат-ботов.

Ответить
Развернуть ветку
Artem Kashaykin

Это неизбежность, которую образовала увеличение количество заказов на то же самое количество человек. Навскидку чатами у нас занимается 10 человек в смену. В среднем на человека приходится 250-300 обращений. То есть это грубо говоря 0,3 обращения на заказ. Но это не относится к периодам раштайма. Кажется, это вообще не много.

Ответить
Развернуть ветку
Евгений Круглов

300 обращений на 12 часов? Это же вообще мало

Ответить
Развернуть ветку
Artem Kashaykin

Да вот и я про то же. Однако проблема с SLA, вот как раз ее и решит бот.

Ответить
Развернуть ветку
Евгений Круглов

Так если вы признаёте, что 300 обращений на 12 часов это мало, значит проблема в квалификации сотрудников службы поддержки и, самое главное, РУКОВОДИТЕЛЯ этой самой службы поддержки. Надеюсь, вы догадываетесь, почему стоит задуматься над качеством работы руководителя поддержки.

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

Ответить
Развернуть ветку
Artem Kashaykin

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

И да, 300 чатов на 11 часов это, для удобства, чат в две минуты. Этого вполне достаточно, чтобы отработать качественно без скриптов, а используя персонализированное общение. Больше это просто потеря в качестве и это 100%.

Ответить
Развернуть ветку
Евгений Круглов

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

И да, 300 чатов на 11 часов это, для удобства, чат в две минуты.

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

Этого вполне достаточно, чтобы отработать качественно без скриптов

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

Если так по мелочам сейчас собирать, то получится, что у вас действительно есть какие-то проблемы со службой поддержки.

Ответить
Развернуть ветку
Евгений Круглов
Посмотрите на первую линию поддержки по не голосовым каналам в чатах. Вот это будет хорошей школой сотрудника поддержки.

Вот тут подразумевалась первая линия у операторов мобильной связи.

Ответить
Развернуть ветку
Евгений Круглов

Хотя я догадываюсь в чём конкретной ваша проблема
А средняя зп по Волгограду в 2018 году - 30 000р как раз.
https://www.volgograd.kp.ru/online/news/3367102/

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
bullet bullet

Да я все понимаю, меня как раз смутило отсутствие какой-нибудь компенсации. Притом я и в чат писал, что непорядок. Ну да ладно, переживу

Ответить
Развернуть ветку
Artem Kashaykin

Принял. Повторюсь — это для нас абсолютно нетипично, простите, пжлст. Да, также вам по идее, если привязана, должно придти письмо на почту с вопросом о решении проблемы. Глянете? Потому что оно там просто обязано быть.

Ответить
Развернуть ветку
Dmitry Perepiolkin

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

Ответить
Развернуть ветку
Shamil Daniyalov

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

Ответить
Развернуть ветку
Artem Kashaykin

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

Ответить
Развернуть ветку
Shamil Daniyalov

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

Ответить
Развернуть ветку
Dmitry Konstantinov

Шамиль, вечер добрый.
Стататистика вот-вот будет, по остальным вещам давайте пообщаемся, не могу добавить вас в фб. Напишите мне и приезжайте в гости с удовольствием пообщаемся о потребностя :)

Ответить
Развернуть ветку
Wilgelm Volman

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

Ответить
Развернуть ветку
Dmitry Perepiolkin

А что там было?

Ответить
Развернуть ветку
Dmitry Draganov

Да обоссали там страуса конкретно. Основная претензия, насколько помню, в том, что курьеры постоянно опаздывают даже за самим заказом, а страус отказывается оплачивать новое блюдо вместо остывшего (в отличие от желтых человечкой, Яндекс без вопросов оплачивает второе блюдо чтобы доставить горячим). А потом, когда страус доставляет холодное хрючево, то в лучшем случае извинится своим промокодом, в итоге клиент думает, что ресторан косячный.

Ответить
Развернуть ветку
Vladimir Frolov

Разбавлю негатив здешний. Уже 3 год пользуюсь Деливери, да был один косяк с доставкой,ОДИН ЗА 3 ГОДА! В остальном все отлично, и сервис и доставка, и промо-коды;-)

Ответить
Развернуть ветку
Shamil Daniyalov

Ни смотря ни на что, вместе стоят в очереди за чебуреками

Ответить
Развернуть ветку
Е. К.

При чём тут ИИ непонятно (наверное ради PR). Очень похоже на обычные статистические общения из базы данных.

Ответить
Развернуть ветку
Vadim Aptrakhmanov

Деливери клаб – говно, но конкуренты еще хуже.
Проекту удачи в развитии.
Интересно, как скоро будут появляться готовые решения для аналитики малого бизнеса на базе ИИ? Расходиться будет, как горячие пирожки

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Artem Kashaykin

А почему не должен, давайте так:)?

Ответить
Развернуть ветку
Andrew Panchenko

Артем, смотрите, что вспомнил...

1. Завышенные прогнозные сроки доставки - нередко на одни и те же рестораны у Яндекса полчаса, а у ДК - час.
2. Низкое качество поддержки - обычно ваша поддержка может сказать, что "проблема передана в ресторан". Дальше-то что? Особенно это забавно если заказ не везут в срок... ждать... не ждать... Яндекс проблему решает обычно.
3. "Поддельные рестораны" - ресторан Матрешка в ЮЗАО достаточно долго писал, что он - ресторан Деллоса с Набережной Тараса Шевченко, даже после прямой жалобы на дезинформацию ничего не менялось пару месяцев.
4. Увеличенный (относительно Яндекс) срок передачи заказа ресторану и достаточно частая ситуация, когда ресторан звонит что бы подтвердить оплаченный заказ и пытается зачитать его полностью. Не хотите какой риск брать на себя?

В общем, от работы ДК общее впечатление - тяжелая неповоротливая бюрократизированная компания, минимизирующая риски за счет клиента.

Но, по тому же ЮЗАО выбор ресторанов у вас сильно лучше, так как Яндекс совсем ушел от модели Фудфокса на премиальность и заполнил ленту оч некачественным джанкфудом.

Ответить
Развернуть ветку
FooWarrior

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

Ответить
Развернуть ветку
Sam Beckett

Желтые человечки стали хуже с момент появления обязательной платной доставки.

Ответить
Развернуть ветку
Pavel Dubrovskiy

Скорее с момента покупки foodfox Яндексом

Ответить
Развернуть ветку
Artem Kashaykin

Это на нас не похоже, потому что в обычный день мы осуществляем доставку в те сроки, которые указаны у отдельно взятого ресторана. Если точнее, то в 99% с копейками случаев.
Печально читать, что мы испортили о себе впечатление, но все же понадеемся исправиться.
Давайте попробуем может быть тестовый разок с новой фичей?

Ответить
Развернуть ветку
FooWarrior

Вы за желтых говорите или за зеленых?

Ответить
Развернуть ветку
Artem Kashaykin

За зеленых:).

Ответить
Развернуть ветку
Shamil Daniyalov

Плюс Деливери для клиента, в бесплатной доставке. А вот сам заказ почему-то очень долго до ресторана "долетает" относительно Яндекса, это я на стороне ресторана давно заметил.

Ответить
Развернуть ветку
Dmitry Konstantinov

Антон, мы тоже скучаем!

Ответить
Развернуть ветку
dd cc

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

Ответить
Развернуть ветку
Павел Котляров

А не сложная работа со статистикой - это теперь тоже ИИ?

Ответить
Развернуть ветку
Анарбек Буржуев

дайте карту и статистику загруженности и спроса. 

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
45 комментариев
Раскрывать всегда