Внутренняя кухня «Яндекс.Еды»
Меня зовут Маша Крот, и в «Яндекс.Еде» я отвечаю за работу с ресторанами после их подключения к нашей платформе. Расскажу, как мы помогаем заведениям эффективнее работать с доставкой.
Немного истории
«Яндекс.Еда» появилась в феврале 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 минуты), для каждого адреса в списке доступных ресторанов мы показываем только заведения поблизости.
В случае «Яндекс.Еды» радиус зоны доставки составляет около двух километров. Если посмотреть на неё на карте, радиус доставки может иметь неправильную форму — в зависимости от особенностей географии района, его инфраструктуры для пешеходов, транспорта и плотности покрытия ресторанами.
Внутри списка мы показываем заведения в определённом порядке. Изначально критерий для попадания на верхушку был один — всё та же удалённость от пользователя и, соответственно, скорость доставки. Люди хотят есть сейчас, и это главное, и рестораны поблизости имело смысл показывать в первую очередь.
При этом мы не учли как минимум два момента:
- При таком ранжировании популярные заведения с хорошим рейтингом могли сдвинуться в конец подборки. Это было плохо и для пользователей, которые не видели лучших предложений, и для ресторанов, которые теряли заказы.
- При выборе заведения люди обращают внимание не только на скорость доставки. Кому-то важнее видеть на первых позициях в списке привычные заведения, даже если подождать придётся дольше. А пробовать новое они будут охотнее, если ресторан уже проверен другими пользователями и получил высокий рейтинг.
Скорость доставки остаётся основным критерием для ранжирования, но с ростом бизнеса мы начали усложнять алгоритм. Вот какие дополнительные критерии сортировки выдачи используем сейчас (от более к менее значимым и без учёта заведений, которые подключились к сервису неделю назад и позже):
- По времени доставки.
- При равенстве по времени доставки — по рейтингу.
- При равенстве рейтинга — по проценту отмен со стороны ресторана.
Параллельно тестируем два алгоритма выбора первых позиций списка выдачи.
Первый алгоритм:эвристика. Мы смотрим на поведение пользователей, а затем пытаемся предсказать, что они будут делать. При этом на верхушке выдачи оказывается заведение, из которого человек заказывал что-то в последний раз, а на втором — самое популярное, из которого пользователь заказывает чаще всего.
Второй алгоритм:модель машинного обучения, которая анализирует, когда и из каких ресторанов пользователь заказывает доставку, и выявляет паттерны в его поведении.
Например, после 18:00 вас уже несколько заказов подряд неудержимо тянет на бургеры с картошечкой. А по утрам — на сырники из кафе рядом с офисом. Алгоритм это замечает и подбирает под такие условия подходящие заведения. И дальше начинает предлагать их на первых позициях: фастфуд вечерами и сырники или что-то из той же категории на завтрак.
Позже над основным списком мы также добавили «карусель» с подборкой всех текущих акций и недавно подключившихся заведений, чтобы они могли быстрее заработать оценки пользователей.
Эксперимент запустили относительно недавно, поэтому о результатах с цифрами и графиками пока говорить рано. По нашим расчётам, все эти нововведения помогут пользователям лучше ориентироваться среди обилия предложений, не держать в голове лишнюю информацию и быстрее делать выбор.
А рестораны получат возможность повлиять на свою позицию в выдаче — повышая качество обслуживания и свой рейтинг, сокращая время выдачи заказов, точнее рассчитывая нагрузку на кухню.
И конечно же копеечная оплата труда курьеров - это фишечка сервисов яндекса. Главное показать прибыль, а рабы и копейками обойдутся.
Ну почему, 30-50 тыр они зарабатывают. А на большее курьеру и не стоит рассчитывать.
Маша!
Действительно, не знал, что Маша в «Яндекс.Еде».
Куда не влез бы яндекс - всё превращается в говно. Этакий король Мидас наоборот. Что вы суете своё свиное рыло куда ни попадя?
Да обычный такой пузырь, акции порождают под их рост можно взять денег и создать ещё какой нить говно стартап, потом всем об этом растрещать и снова ждать роста акций, ну и естественно будет день икс когда все заинтересованные скинут портфели
Почему курьеры летом ходят в куртках? Раздайте майки или рубашки.