Сервисы Иван Задохин
3 553

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

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

В закладки
Аудио
Интерфейс системы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итоги

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

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

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Иван Задохин", "author_type": "self", "tags": [], "comments": 47, "likes": 39, "favorites": 48, "is_advertisement": false, "subsite_label": "services", "id": 61034, "is_wide": false, "is_ugc": true, "date": "Thu, 14 Mar 2019 11:49:54 +0300" }
{ "id": 61034, "author_id": 269036, "diff_limit": 1000, "urls": {"diff":"\/comments\/61034\/get","add":"\/comments\/61034\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/61034"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 200396, "last_count_and_date": null }

47 комментариев 47 комм.

Популярные

По порядку

Написать комментарий...
10

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

Ответить
21

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

Ответить
1

сук, смешно

Ответить
4

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

Ответить
2

А зачем вам в приложении чат? Недавно у меня было 2 проблемы с вами и вашими желтыми конкурентами. Яндексу я написал в телеграм, ссылку который они дают в приложении, мне ответили через минуту, сообщили информацию, поплакали, что ничего сделать не могут, а потом дали скидку на 20% компенсации. А у вас я написал в чат - и ничего) кто-то к нему присоединился, но даже не ответил мне. Зато на следующий день, часов так через 12 после мого обращения в чат, пришло письмо - «вам еще нужна наша помощь?». Это что за поддержка в чате такая? (Скидки я не просил и не прошу, просто хотелось бы, чтоб служба поддержки таковой была, а не отвечала на следующий день по мейлу пространными вопросами)

Ответить
0

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

Ответить
1

Скоро все будет лампово и френдли

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
1

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

Ответить
0

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

Ответить
1

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

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

Ответить
0

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

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

Ответить
1

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

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

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

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

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

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

Ответить
0

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

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

Ответить
0

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

Ответить
0

Артем, мне не было предложено никакого общения в чате. Можно не лампово (френдли пока не получается), просто вы выше пишите, что отсутствие фидбека для вас нетипично, но в моем случае как раз ничего и не было. Или игнор в чате и письмо через 12 часов с текстом «помощь еще нужна?» - это и есть типичный фидбек и поддержка от DC? Конечно, с ботом будет проще - хоть какая-то видимость присутствия будет (а поддержка впяд ли)) и да, продолжайте минусовать комменты)

Ответить
0

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

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

Ответить
–1

Заставят курьеров на ходу отвечать клиентам в чате))

Ответить
0

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

Ответить
0

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

Ответить
12

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

Ответить
3

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

Ответить
0

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

Ответить
0

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

Ответить
2

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

Ответить
2

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

Ответить
0

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

Ответить
5

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

Ответить
2

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

Ответить
1

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

Ответить
1

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

Ответить
0

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

Ответить
0

Удивляюсь за счет чего Delivery Club до сих пор еще жив...

Ответить
1

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

Ответить
2

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

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

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

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

Ответить
0

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

Ответить
1

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

Ответить
0

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

Ответить
1

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить

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

0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Голосовой помощник выкупил
компанию-создателя
Подписаться на push-уведомления
{ "page_type": "default" }