Приложение сборки товара
Редизайн сценариев замены товара и работы с несколькими заказами одновременно
О проекте
Контекст
Приложением для сборки заказов ежедневно пользуются около 5000 сборщиков. Сборщик может вести один заказ за раз, а может собирать несколько заказов одновременно, это называется мультипикинг
Проблемы
Через полгода после роста доли мультипикинга время сборки в мультизаказах выросло на 12% относительно единичных заказов. Доля ошибок сборки выросла на 8%. Следом просели и основные продуктовые метрики, CSI покупателей после доставки снизился на 6 пунктов. Причины пока не были понятны. Требовалось разобраться, что именно в сценариях замены и «Уточнить» стало узким местом при масштабировании мультипикинга.
Цели проекта
Моей задачей было найти причины падения метрик в сценариях замены товара и работы с вкладкой «Уточнить», и спроектировать решение, которое вернёт Time to Task и CSI к прежнему уровню при растущей доле мультипикинга.
Вкладка «Уточнить»
Исследование
Как устроен процесс
Сборщик получает заказ и начинает его собирать. Если нужного товара нет на полке, он отправляет позицию на вкладку «Уточнить». Дальше товар ищут ответственные сотрудники зала. Если товар всё равно не находится, решение, что с ним делать, заменить или удалить, принимает сборщик
Кастдев
Поговорил с 8 сборщиками прямо на смене, чтобы увидеть вкладку «Уточнить» в реальной работе, а не по описанию сценария
Информационная слепота
Сборщик не видит на вкладке «Уточнить», что выбрал клиент при оформлении. Разрешена ли замена, нужен ли звонок, есть ли комментарий. Решение приходится принимать вслепую
Смешение заказов
При мультипикинге товары разных заказов лежат в одном списке. Сборщик не может быстро понять, к какому заказу что относится, и путает заказы при звонке клиенту
Удаление как чёрная дыра
Пока судьба товара не решена, заказ нельзя упаковать. Сборщик удаляет товар, чтобы двигаться дальше, а потом теряет к нему контекст и время на поиск
Что говорили пользователи
Реальные слова сборщиков, которые мы услышали на кастдеве
«Перепутала и позвонила клиенту из 1 корзины, говоря про срок годности товара из 2 корзины и наоборот»
Сборщица (опыт работы 6 мес.)
«Запутанность из какой корзины товар, было тяжело понять, что выбрал клиент, удалить или позвонить и уточнить»
Сборщик (опыт работы 1год)
«При сборке нескольких заказов одновременно перепутал заказы из-за того что вкладка уточнить работала некорректно и не показывался нужный товар»
Сборщик (опыт работы 8 мес.)
Про опрос
Боли, найденные на кастдеве, проверил количественно на опросе среди 500 сборщиков, чтобы убедиться, что это массовая проблема, а не мнение восьми человек
Вкладка «Уточнить»
Проектирование
JTBD
Параллельно сформулировал и сверили JTBD опирался на боли из интервью
Когда я открываю товар на вкладке «Уточнить»
Я хочу сразу видеть, что выбрал клиент при оформлении, замену, удаление или звонок, чтобы не заходить в детали заказа за этой информацией
Когда я веду несколько заказов одновременно
Я хочу видеть, к какому именно заказу относится товар в списке, чтобы не путать заказы при звонке клиенту
Когда товар ещё не найден, а заказ пора паковать
Я хочу отложить решение без вынужденного удаления, чтобы не терять товар из виду и не тратить время на его возврат
Когда мне нужно позвонить клиенту
Я хочу точно знать, по какому товару и какого заказа звонок нужен, чтобы не звонить туда, где звонок не требовался
Гипотеза 1: вкладки заказов внутри «Уточнить»
Разбить общий список вкладки «Уточнить» на вкладки по номеру заказа. Сборщик сначала выбирает заказ, потом видит только те товары этого заказа, что попали в «Уточнить» по кнопке «Нет товара»
Плюсы
❇️ Меньше путаницы между заказами
Сборщик сразу видит товары одного заказа, не ищет их среди чужих в общем списке
❇️ Быстрее звонок клиенту
Открыв вкладку заказа, сборщик точно знает, кому звонить и по какому товару, без риска перепутать заказы
❇️ Меньше ошибок при удалении
Товар удаляется в контексте своего заказа, а не выбирается вслепую из общего списка
❇️ Понятный прогресс по заказу
Счётчик на вкладке заказа показывает, сколько решений осталось именно по нему, а не по всем заказам сразу
Риски
🔴 Переполнение вкладок
При четырёх и более заказах одновременно вкладки могут не поместиться на экране и создать путаницу уже на уровне переключения
🔴 Работа не в той вкладке
Сборщик может забыть переключить вкладку заказа и нажимать «Нет товара» не туда, думая, что работает с прошлым заказом
🔴 Устаревший счётчик
Число на вкладке заказа может отставать от реального состояния, и сборщик решит, что там больше нечего решать, хотя это не так
Гипотеза 2: вкладки заказов внутри «Уточнить»
Разбить общий список вкладки «Уточнить» на вкладки по номеру заказа. Сборщик сначала выбирает заказ, потом видит только те товары этого заказа, что попали в «Уточнить» по кнопке «Нет товара»
Плюсы
❇️ Меньше лишних звонков
Комментарий клиента виден сразу, не нужно переспрашивать то, что клиент уже написал
❇️ Быстрее принятие решения
Понятно с первого взгляда, разрешена замена или нет, значит меньше сомнений на месте
❇️ Меньше ошибок из-за невнимательности
Информация не спрятана в другом экране, поэтому её сложнее пропустить или забыть проверить
Риски
🔴 Перегруженная карточка
Больше данных на карточке замедлит просмотр списка глазами, особенно на маленьком экране ТСД
🔴 Нет места для нового статуса
Если позже понадобится показать ещё какой-то признак товара, например срочность или повторный звонок, карточка уже будет плотной, и добавить что-то новое станет сложнее
🔴 Устаревшее решение клиента
Число на вкладке заказа может отставать от реального состояния, и сборщик решит, что там больше нечего решать, хотя это не так
Вкладка «Уточнить»
Валидация гипотез и тестирование
Выбор гипотезы на тестирование
Гипотеза 1 меняла структуру экрана, гипотеза 2 только дополняла карточку данными. Смешение заказов оказалось более частой болью, 31% против 21%, и напрямую било по ошибкам при звонке клиенту. Поэтому в тест пошла гипотеза 1, риск и приоритет были выше
Юзабилите тест
Протестировал прототип на 6 сборщиках. Пошёл в магазин и общался с ними прямо на смене, между заказами, чтобы сценарий был максимально приближен к реальной работе, а не к лабораторным условиям
Пользователь
№1
№2
№3
№4
№5
№6
Правильно объяснил, почему товары оказались именно на вкладке «Уточнить»
🟢
🟢
🟢
🟢
🟢
🟢
Описали функцию/концепцию табов
🔴
🟢
🟢
🔴
🟢
🟢
Быстро навигировались по табам
🔴
🟢
🔴
🟢
🟢
🔴
Правильно принял решение по каждому заказу в списке, замена, звонок или отказ, и назвал, на основе каких данных
🟢
🟢
🟢
🟢
🟢
🟢
Нашли подробности заказа
🟢
🔴
🔴
🔴
🟢
🟢
Уверенно продолжил работу, поняв, что делать с товаром дальше
🟢
🟢
🟢
🟢
🟢
🟢
Изменения после тестирования
Часть заданий сборщики выполнили уверенно, но с табами и подробностями заказа были проблемы. По итогам добавил цветовую индикацию товара на вкладке с зелёной на красную, чтобы карточка сразу читалась как требующая решения, а не как уже найденный товар
Вкладка «Уточнить»
Результаты
Замена товара
Исследование
Кастдев
Поговорил с 10 сборщиками прямо на смене, чтобы увидеть как они осуществляют замену товара. Выявили следующие боли
Многократное сканирование
Штрихкод не добавляется с первого раза, товар нужно сканировать заново. Для маркированных позиций добавляется ещё скан марки, всего до трёх действий на одну замену вместо одного
Нельзя сравнить цену без выхода из процесса
Окно замены держит только один товар. Чтобы проверить цену второго варианта для клиента, сборщик выходит из замены и заходит заново. Один звонок клиенту растягивается с 20 секунд до 2-3 минут
Потеря контекста при замене
При сборке нескольких заказов сборщик не всегда понимает, для какого именно заказа он делает замену. После возврата из окна замены список сбрасывается, и заменённый товар приходится искать заново
Что говорили пользователи
Реальные слова сборщиков, которые мы услышали на кастдеве
«При замене молока нужно отсканировать два раза штрих-код и только потом марку, иногда это не очень удобно и приходится тратить чуточку больше времени»
Сборщик
«Когда хочешь узнать стоимость товара на замену, чтобы сообщить её клиенту, пикаешь один товар, а потом чтобы пикнуть другой надо заново выйти и начать замену»
Сборщик
«При комплектации не отображается исходный товар, и когда после моей замены звонит клиент, то надо вспоминать, что за товар мной заменён был»
Сборщик
Замена товара
Проектирование и гипотезы
JTBD
Параллельно сформулировал и сверили JTBD опирался на боли из интервью
Когда сканирование не срабатывает с первого раза
Я хочу добавить товар одним действием, чтобы не терять время на повторные сканирования
Когда клиент просит сравнить цену нескольких вариантов
Я хочу проверить их прямо в окне замены, чтобы уложиться в разговор за секунды, а не за минуты
Когда я подбираю замену
Я хочу сразу видеть, подходит ли она клиенту по цене, весу и составу, чтобы не звонить повторно и не предлагать вариант, который потом откажут
Когда замена согласована и добавлена
Я хочу вернуться в то же место общего списка, чтобы не искать заново, что уже собрано
Гипотеза A: замена через сканирование марки, количество наследуется автоматически
После выбора причины сборщик сразу сканирует штрихкод и марку нового товара. Система сама подставляет количество из заказа и показывает готовую замену зелёным бейджем, без отдельного экрана ввода числа
Плюсы
❇️ Меньше шагов до готово
От причины замены до подтверждения всего два действия, выбор причины и скан, без дополнительных экранов
❇️ Меньше ручного ввода
Количество подставляется автоматически, сборщику не нужно набирать цифры на клавиатуре
❇️ Меньше ошибок при удалении
Раз количество не вводится руками, невозможно случайно указать не то число товара
❇️ Понятный визуальный результат
Зелёный бейджик с количеством сразу показывает, что замена завершена и заказ можно продолжать собирать
Риски
🛑 Не подходит для частичной замены
Если из заказа нужно заменить 2 шт, а в наличии только 1, автоматическое количество придётся всё равно поправлять вручную, а такого шага в этом флоу не предусмотрено
🛑 Нет паузы на проверку
Сборщик может отсканировать не тот товар и не заметить ошибку, потому что подтверждение происходит автоматически, без отдельного шага сверки
🛑 Не решает сравнение цены
Флоу оптимизирует одну замену, но не даёт посмотреть несколько вариантов подряд, если клиент просит сравнить цены
Гипотеза B: выбор замены из списка кнопкой «Выбрать», количество вводится отдельно
После причины замены сборщик видит список товаров на замену и нажимает «Выбрать» на подходящем, а количество вводит вручную на отдельном экране с клавиатурой
Плюсы
❇️ Видно несколько вариантов сразу
Список товаров на замену можно пролистать и сравнить, не выходя из экрана и не сканируя каждый по очереди
❇️ Гибкое количество
Отдельный шаг ввода числа позволяет закрыть частичную замену, например 1 шт вместо исходных 2, без дополнительных обходных действий
❇️ Меньше зависимости от скана
Если штрихкод или марка не считываются, выбор всё равно можно сделать кнопкой из списка
❇️ Явное подтверждение
Отдельный шаг с количеством и кнопкой «Подтвердить» даёт паузу, чтобы сборщик проверил выбор перед завершением
Риски
🛑 Больше шагов и экранов
От причины замены до готового результата на один экран больше, чем в гипотезе A, значит и на замену уходит больше времени
🛑 Нужно проверять список глазами
Если товаров на замену много, поиск нужного кнопкой «Выбрать» может занять больше времени, чем один точный скан
🛑 Ручной ввод количества
Клавиатура на отдельном экране открывает возможность опечатки в числе, особенно при спешке
Замена товара
Валидация гипотезы и тестирование
Выбор гипотезы
ATM Locator позволяет держателям карты находить банкоматы по всему миру внутри приложения. VRL Locator расширяет функциональность: держатель предоплаченной карты VISA может пополнить счёт через терминал продавца
Юзабилити тест
Перед началом редизайна мы синхронизировались с бизнесом и зафиксировали ключевые задачи, которые приложение должно было решать в ближайшей перспективе
Пользователь
№1
№2
№3
№4
№5
№6
Правильно объяснил, почему товары оказались именно на вкладке «Уточнить»
🟢
🟢
🟢
🟢
🟢
🟢
Описали функцию/концепцию табов
🔴
🟢
🟢
🔴
🟢
🟢
Быстро навигировались по табам
🔴
🟢
🔴
🟢
🟢
🔴
Правильно принял решение по каждому заказу в списке, замена, звонок или отказ, и назвал, на основе каких данных
🟢
🟢
🟢
🟢
🟢
🟢
Нашли подробности заказа
🟢
🔴
🔴
🔴
🟢
🟢
Уверенно продолжил работу, поняв, что делать с товаром дальше
🟢
🟢
🟢
🟢
🟢
🟢