«Нет в наличии»: как магазины заменяют закончившиеся товары в корзине

Закончился товар в магазине, «нет в наличии» — проблема вроде бы логистическая, но интерфейс должен как-то сообщить покупателю плохую новость и желательно не потерять вместе с товаром часть заказа, а то и самого покупателя.
Как приложения решают этот вопрос: удалить, погасить карточку, «спрятать», вынести отдельно, показать предупреждение, предложить выход? Да как только не решают.
Не дают никакого выбора
Просто «Удалить» и привет, а то и удалить нельзя:
Здесь сложно оправдать систему за отсутствие решения. Возможно она не может предложить полезную альтернативу, честнее «товар закончился → удалить».
Решают всё за клиента
Система сама удаляет отсутствующее из корзины, и все дела:

Выглядит технарским решением. С одной стороны, система позаботилась (о себе или о юзере?) и очистила заказ от «ненужных» позиций. С другой, надеюсь, что удаляют только из чекаута, а сами позиции где-то остаются, чтобы пользователь мог поплакать поискать альтернативы.
Похожие / заменить
Клиенту надо предложить какой-то выбор. Это наверно самая популярная фича во многих приложениях:

Система не утверждает, что знает равноценную замену, а говорит: «вот товар, давай продолжим поиск рядом».
Кстати, здесь вам пример маленькой дилеммы для UX-редакторов: «Похожие» — когда сложно предложить точную замену (особенно в фешн); и «Заменить» — для утилитарных товаров (продукт под задачу) и когда есть замена в моменте. Чем важнее пользователю конкретный товар, тем осторожнее должна быть система с понятием «замена». Чем важнее сама функция товара, тем увереннее система может её предлагать.
НО хорошая замена манго — это что? такой же вес? та же страна? нарезанное / целое? не дороже 1120? А для кроссовок — тот же размер, бренд, силуэт, цена?
Сразу предложить альтернативы
Кажется, «похожий товар» — слишком простое решение. Пользователь выбирал исходный товар: по цене, размеру, бренду, характеристикам, сроку, да много чему. Хорошая замена должна как-то учитывать контекст первоначального выбора.
Например, предложить другой цвет или модель, да ещё чтобы одним кликом заменялось:

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

Хорошо бы ещё понимать, сколько ждать поступление товара. А «Изменить размер» выглядит немного рискованно, ну не может человек сделаться больше или меньше, а вот в цвете проще подвинуться?
Стесняются «нет в наличии»
Прячут это на отдельном экране:

Или показывают «невидимым» способом.
Вот сами попробуйте в списке товаров быстро уловить тот волшебный момент, когда товар «пропадает»:

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

И отсюда у нас вытекает главный инсайт для всех сценариев «нет в наличии».
Корзину можно рассматривать, как список зафиксированных решений юзера, а не просто список SKU. Сейчас большинство систем сохраняют результат — «положил / купил товар X», — но почти полностью теряют контекст, почему был выбран именно X.
Значит система должна сохранять всю историю попадания в корзину для каждого товара, например:
- откуда пришёл юзер: поиск, категория, рекомендация, реклама, избранное;
- поисковый запрос и фильтры;
- сортировка;
- открывал товары рядом;
- что сравнивал;
- характеристики изучал;
- отзывы / вопросы смотрел;
- цена и скидка в момент выбора;
- доставка в момент выбора.
Допустим, человек выбирал кроссовки. Система видит: поиск «кроссовки для бега» → мужские → размер 43 → до 12 000р → несколько моделей → сравнение A и B → у А изучал отзывы о размере → вернулся → положил А за 9 990р.
Если разделять явно заданные критерии и предполагаемые (чтобы система не выдумывала), то когда «нет в наличии» уже превращается в что-то такое:
Модель А закончились.
Нашли три альтернативы 43 размера:
А1 — 10 490р (+500р) максимально близкая модель, тоже для бега, есть 43 размер.
B — 9 790р (−200р) вы уже сравнивали её с выбранной моделью.
А2 — 9 990р та же цена и назначение, но лучшая амортизация.
И самое ценное, что это работает не только при отсутствии товара, но и для рекомендательных систем. Здесь без ИИ уже не обойтись, используя его прямо в интерфейсе, чтобы восстанавливать контекст принятого решения и помогать юзеру, когда условия изменились.
────────
Больше разборов в телеграм-канале ЗоЮ | Забота о юзерах
В статье использованы скриншоты из ScreenHunt — библиотеки анализа мобильных интерфейсов для продуктовых команд.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.