Всем привет! Меня зовут Вика Большова, я продакт-лид сборки в СберМаркете. Если вы пользуетесь нашим сервисом, то, возможно, заметили, что сейчас мы привозим заказы быстрее, чем в прошлом году. В этом материале я расскажу, как нам удалось увеличить скорость сборки на 20% и сделать условия сотрудничества для сборщиков более data-driven.

Как было раньше
Думаю, многие догадываются, что у e-com приложений есть и «обратная сторона» помимо витрины для клиентов. Я имею в виду админку и прочие сопутствующие сервисы, которые помогают учитывать, собирать и доставлять товары. Кроме покупателей у СберМаркета есть и другие группы пользователей: ретейлеры, бренды, курьеры и сборщики.
Сегодня расскажу про Шоппер — приложение, которым пользуются наши сборщики. А именно о том, как мы оптимизировали его работу.
До мая 2022 года сборщик заходил в Шоппер, видел список всех заказов и сам выбирал, к какому из них приступить. Мы заметили, что некоторые заказы собирают быстро, а другие могут идти в работу не сразу, и стали копать, в чём тут дело.
Оказалось, что сборщики негласно маркировали заказы как «удобные» и «неудобные». Удобный заказ — самый выгодный с позиции вознаграждения на трудозатраты. Вот его характеристики:
-
Много товарных позиций. Вознаграждение за сборку заказа рассчитывалось по формуле, привязанной к количеству позиций, поэтому сборщиков интересовали заказы побольше.
-
Товары лёгкие и компактные. Собирать чипсы и шоколадки гораздо приятнее, чем тяжёлые бутылки.
-
Мало или совсем нет весовых товаров, охлаждёнки и заморозки. Собирать фрукты, овощи и молочку нужно более тщательно: проверять срок годности и качество упаковки, а также согласовывать с клиентом перевес или недовес.

Руководствуясь этой негласной системой, опытные сборщики могли бронировать «удобные» заказы. Это влекло за собой ряд незапланированных эффектов:
-
Некоторые новички теряли мотивацию. Им доставались сложные заказы, которые они собирали медленно и могли допускать ошибки.
-
Заказы опаздывали. «Удобные» — потому что их откладывали и могли начать собирать не сразу, а «неудобные», потому что их собирали новички.
-
Как итог было сложно выстроить прозрачную систему аналитики. Мы не понимали, сколько времени по факту уходит на сборку. А из-за этого была закрыта опция мотивации сборщиков на основе скорости, которая помогла бы вознаграждать их более справедливо.
Супервайзерам и старшим сборщикам удавалось частично решить этот вопрос на уровне магазина: они записывали все заказы на листочки, чтобы распределить их по-честному. Однако было очевидно, что система несовершенна, и её необходимо значительно дорабатывать. На помощь выдвинулись две продуктовые команды.
Диспетчеризация
Одна команда взяла на себя задачу улучшить флоу сборки, а вторая начала работать над диспатчем.
Диспатч — это автоматическая система, которая назначает сборщика на основе параметров заказа. Диспатч работает на основе алгоритма first in, first out с поправкой на значительный ряд параметров: габариты, массу, сложность сборки, дедлайн, опыт сборщиков на смене и т. д.
Здесь рассказываю, как работает диспатч
Допустим, заказ должен быть доставлен клиенту в слот с 12:00 до 13:00. Назовём левую границу T1, а правую T2.
Для каждого слота имеется настройка «правило закрытия слота» (ПЗС). В нём учитывается среднее время на сборку и доставку — оно, в свою очередь, определяется для каждого конкретного магазина. Это наша подушка безопасности.
Допустим, в том магазине, откуда мы хотим заказать товары, закладывается 30 мин на сборку и 30 мин на доставку. Тогда ПСЗ равно 60 минут. В этом случае система рассчитывает в качестве рекомендованного дедлайна сборки 11:00. По формуле:
Далее ML-модель на основе исторических данных по магазину прогнозирует время сборки конкретного заказа. Туда входит сборка позиций, уточнения по заменам, оплата на кассе и упаковка. При этом учитываются самые разные параметры заказа, которые указала выше. Вычитая это время из Дедлайна мы получаем Старт — время, когда сборка заказа должна быть начата.
По полученному времени Старта диспатч приоритезирует заказы в очереди на сборку по методу first in, first out. При этом алгоритм с меньшим приоритетом выдает новичкам сложные заказы — если будет свободен опытный сборщик, такой заказ упадет на него.
-
Вознаграждение сборщиков стало прозрачнее. На этапе оффера им показывают, сумму, которая будет начислена за сборку.
-
Вознаграждение стало более справедливым, потому что заказы равномерно распределяются на сотрудников точки. Исчезли кейсы с бронированием «удобных» заказов и нежеланием собирать «неудобные».
И главное — у нас наконец-то появилась аналитика, из которой выросла система мотивации.
На этом этапе несмотря на значительные изменения процесса увеличение
х — кол-во позиций;
а — кол-во минут на сборку позиции;
b — время на упаковку и сборки.
A и b определялись по историческим данным для каждого отдельного магазина. Со временем мы заменили формулу на ML-модель, которая лучше учитывает специфику работы магазина от месяца к месяцу. Сейчас в ней учитывется сезонность, соотношение новичков и старичков в смене и изменения в расстановка внутри магазина
#2 Параллельная сборка
Исторически некоторые сборщики собирали по два заказа одновременно, чтобы упростить себе жизнь и больше заработать. Первый собирался через приложение Шоппер, а второй — просто по скриншотам. Удобства в этом было мало.
Мы реализовали фичу параллельной сборки и диспатч научился назначать сдвоенные заказы. Это продвинутый функционал, который доступен только опытным сборщикам. Он позволяет не проходить два раза по всему магазину и не стоять два раза в очереди на кассе. Плюс эта механика сделала процесс сборки двух заказов бесшовным для сборщика.
Эти две функции уже привели к значительному приросту в метриках: OPH увеличилось на 30%, а скорость сборки на 21%.
Lessons learned
Хочу поделиться несколькими уроками, которые мы с командой усвоили в процессе работы над проектом:
-
Большие автоматизации, которые напрямую меняют важный бизнес-процесс (и в которые инвестированы много сил и ресурсов) не всегда сами по себе дают какой-то значимый эффект в метриках. И это нормально 🙂 Гораздо важнее, что они могут открыть дорогу к новым инструментам и решениям, которые смогут показать значимый результат. Важно не бояться в них идти и аргументировать необходимость таких изменений долгосрочными эффектами.
-
Не всегда изменение в качестве услуги видно на качественных метриках (например, на оценке клиента). Зато оно может повлечь за собой увеличение или сокращение объема в операционных процессах, которые приводят к изменению затрат на заказ. Например, у нас сократилось количество довозов, когда за сложные заказы стали браться более опытные сборщики.
-
И самый противоречивый совет (зато от самого сердечка) — иногда не нужно сиюминутно прислушиваться к вашему клиенту. Он может сначала не воспринять улучшения, но вот потом ка-а-ак распробовать.
Сначала диспатч внедрялся со скрипом, как и любое значимое изменение в процессах. Супервайзеры на точках и сами сборщики утверждали, что руками они лучше справляются с распределением заказов и что диспатч нужно убрать. Но через пару месяцев работы все действующие лица осознали, что система сильно упростила им жизнь и уже просили не отключать его, когда нам приходилось делать это точечно для раскатки новых фичей или проведения экспериментов.
Надеюсь, эта история вдохновит вас на крупную автоматизацию в своей компании или поможет критически посмотреть на некоторые процессы. Если у вас остались вопросы о том, как мы реализовали эту автоматизацию, задавайте вопросы в комментариях. Буду рада ответить!
Product&data команда СберМаркета ведет соцсети с новостями и анонсами. Если хочешь узнать, что под капотом высоконагруженного e-commerce, следи за нами в Telegram и на YouTube. А также слушай подкаст «Для tech и этих» от наших it-менеджеров.
ссылка на оригинал статьи https://habr.com/ru/articles/757622/
Добавить комментарий