«Магнит» совершенствует сервис доставки: новые алгоритмы определяют лучший магазин для вашего заказа

Меня зовут Александр, я CDO в «Магнит Фудтех» — одной из вертикалей «Магнит» OMNI, где мы развиваем собственный сервис доставки и самовывоза продуктов из магазинов, а также партнерский сервис доставки товаров из «Магнита» агрегаторами. Помимо «Магнит Фудтех», в контур OMNI входят еще два направления: маркетплейс «Магнит Маркет» и программа лояльности «Магнит Плюс». 

Когда вы заказываете товары на сайте и в приложении, сервис доставки привозит их из магазинов «Магнит». Раньше для сборки заказов выбирался ближайший к покупателю магазин. Причём ближайший в буквальном смысле — по прямой. Это позволяло экономить на курьерах, но во всех магазинах разное количество сотрудников и ассортимент: где-то заказы собирали дольше, а где-то, из-за отсутствия определенных товаров, позиции в заказе меняли на аналоги. Поэтому мы решили поменять логику выбора магазинов, провели в нескольких городах пилотный проект и делимся первыми результатами.

31f664228bc8fe83fd7c5fef63c28322.png

Новый алгоритм

Сначала мы пробовали использовать обновленный алгоритм выбора офлайн-точек, чтобы просто убирать из доступных магазинов те, в которых слишком часто бывали отмены заказов или замены позиций. А потом перешли к более сложной схеме. Когда покупатель оформляет заказ, мы не направляем его в ближайший магазин, а сначала анализируем ключевые метрики за последние N дней для каждого магазина в определенной мультизоне. Это зона, внутри которой идет подбор доступных магазинов для клиента. Таким образом мы анализируем:

  • долю отмен сборки заказов;

  • долю опозданий доставки;

  • ширину ассортимента;  

  • долю идеально собранных заказов (в которых не удалены и не заменены позиции).

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

0,38 — ближайший магазин, 0,76 — более релевантный магазин, согласно метрикам

0,38 — ближайший магазин, 0,76 — более релевантный магазин, согласно метрикам

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

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

Что мы получили в результате теста

Честно говоря, при запуске мы опасались, что длительность доставки увеличится. Но произошла компенсация: средняя дистанция доставки выросла на 500 метров, зато курьеры стали брать за один рейс больше заказов и реже возвращаться в магазины за новой партией (доля рейсов, в которых больше одного заказа, стала на 20% выше). В результате длительность доставки увеличилась всего на 4 минуты, а доля отмен снизилась на треть.

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

Следующие этапы

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

  • стоимость доставки из конкретного магазина;

  • средний чек внутри конкретной географической зоны;

  • маржинальность;

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

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

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

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

Вернемся на Хабр с результатами, следите за обновлениями!

© Habrahabr.ru