Внутренняя кухня «Яндекс.Еды»

Меня зовут Маша Крот, и в «Яндекс.Еде» я отвечаю за работу с ресторанами после их подключения к нашей платформе. Расскажу, как мы помогаем заведениям эффективнее работать с доставкой.

Мария Крот, руководитель отдела по работе с партнёрами «Яндекс.Еды»
Мария Крот, руководитель отдела по работе с партнёрами «Яндекс.Еды»

Немного истории

«Яндекс.Еда» появилась в феврале 2018 года после того, как в конце 2017-го «Яндекс.Такси» приобрел небольшой московский стартап Foodfox. Новый сервис лёг в основу фудтех-направления «Яндекса».

Команда сразу начала расти — первым пополнением стал присоединившийся к «Такси» вместе с Uber сервис доставки Uber Eats. Сейчас к нашему фудтех-направлению добавился сервис доставки продуктовых наборов и рецептов «Яндекс.Шеф». Но обо всём по порядку.

По мере роста сервиса росли и наши планы и множились задачи. Спойлер: менее чем за год мы разрослись в десять раз, сегодня с нами работает более 10 тысяч ресторанов в 24 городах России, мы каждый месяц доставляем более миллиона заказов.

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

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

Механизмы слаженной работы:

Даём ресторанам самим работать с заказами

Ещё в прошлом марте у нас многое проводилось вручную: заказы ресторанам в основном передавали сотрудники нашего колл-центра, они же были службой поддержки для пользователей. В пиковые часы, с 12:00 до 14:00 и в 19:00, спланировать загрузку колл-центра было очень сложно.

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

Сколько бы операторов колл-центра мы не нанимали, масштабировать и ускорить процесс при такой системе было невозможно. Ресторан не берёт трубку, время доставки уже идёт, клиент ждёт заказ, а мы не понимаем, сможем ли забрать еду, потому что в ресторане про заказ всё ещё никто не знает.

Как решили

Сегодня заведения сами подтверждают заказы с помощью приложения «Яндекс.Еды» для ресторанов, его веб-версии или интеграции в кассовую систему.

Начинали разрабатывать приложение только для Android, а функции добавляли постепенно. Сначала появилась функция приёма и отмены заказа, далее более сложные — временная приостановка работы ресторана. Затем появилось отражение времени прибытия курьера и его телефона для связи.

Сейчас приложение интегрируется с кассовыми системами Iiko, Fast Operator и другими. Доступно для Android, iOS, есть веб-версия.

Внутренняя кухня «Яндекс.Еды»

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

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

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

Внутренняя кухня «Яндекс.Еды»

На планшеты и самостоятельную работу с заказами большинство партнёров мы перевели всего за месяц. Веб-версия появилась в июне 2018 года — здесь мы подключаем ресторан к системе через браузер с любого устройства.

Благодаря автоматизации процесса мы снизили нагрузку на колл-центр примерно на 30% и выровняли её в пиковые часы.

До и после автоматизации нагрузки колл-центра
До и после автоматизации нагрузки колл-центра

Распределяем нагрузку грамотно

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

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

Случай довольно банальный, но он лишний раз подтолкнул нас к быстрым изменениям в других частях сервиса, а именно в колл-центре. Из-за экстренных перегрузок по разным фронтам центр часто работал на пределе.

Чтобы это исправить, мы запустили workforce management, управление человеческими ресурсами, в сентябре прошлого года и стали прогнозировать нагрузку на операторов.

Чтобы предсказать количество обращений на каждой следующей неделе, мы разбиваем нагрузку предыдущих четырёх недель на 15-минутные интервалы и высчитываем нагрузку по каждому интервалу по формуле.

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

Параллельно мы научились экономить 35% ресурсов при росте заказов. С сентября снизили количество входящих обращений на 10% по отношению к заказам (другое название — контакт-рейт).

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

Здесь же помогла автоотмена заказов, по которым не прошла оплата, автообзвоны роботом по статусам заказов — он предупреждает о том, что необходимо принять заказ, поставить статус «Доставлено» и так далее.

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

План на этот год — снизить контакт рейт ещё на 5−10%.

Ранжируем доступные рестораны умнее

Чтобы еда приезжала как можно быстрее (сейчас это в среднем 32 минуты), для каждого адреса в списке доступных ресторанов мы показываем только заведения поблизости.

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

Внутри списка мы показываем заведения в определённом порядке. Изначально критерий для попадания на верхушку был один — всё та же удалённость от пользователя и, соответственно, скорость доставки. Люди хотят есть сейчас, и это главное, и рестораны поблизости имело смысл показывать в первую очередь.

При этом мы не учли как минимум два момента:

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

Скорость доставки остаётся основным критерием для ранжирования, но с ростом бизнеса мы начали усложнять алгоритм. Вот какие дополнительные критерии сортировки выдачи используем сейчас (от более к менее значимым и без учёта заведений, которые подключились к сервису неделю назад и позже):

  1. По времени доставки.
  2. При равенстве по времени доставки — по рейтингу.
  3. При равенстве рейтинга — по проценту отмен со стороны ресторана.

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

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

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

Например, после 18:00 вас уже несколько заказов подряд неудержимо тянет на бургеры с картошечкой. А по утрам — на сырники из кафе рядом с офисом. Алгоритм это замечает и подбирает под такие условия подходящие заведения. И дальше начинает предлагать их на первых позициях: фастфуд вечерами и сырники или что-то из той же категории на завтрак.

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

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

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

4040
24 комментария

И конечно же копеечная оплата труда курьеров - это фишечка сервисов яндекса. Главное показать прибыль, а рабы и копейками обойдутся.

5

Ну почему, 30-50 тыр они зарабатывают. А на большее курьеру и не стоит рассчитывать.

Действительно, не знал, что Маша в «Яндекс.Еде».

2

Куда не влез бы яндекс - всё превращается в говно. Этакий король Мидас наоборот. Что вы суете своё свиное рыло куда ни попадя?

3

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

Почему курьеры летом ходят в куртках? Раздайте майки или рубашки.

1