Ригла
Электронная коммерция
Россия, Москва
Март 2025
Своевременное обновление товарных остатков является одной из основных «болей» бизнеса. Особенно остро вопрос стоит для ритейлеров с большим объемом каталога (более 100 000 SKU). Омниканальность — ключевое конкурентное преимущество компаний, позволяющее усилить лояльность клиентов и удерживать их на долгой дистанции.
Оно достигается в том числе за счет своевременной актуализации доступности товаров в разных точках контакта с клиентом. Многие пользователи используют онлайн-витрину как справочник для проверки доступности товара в конкретном оффлайн-магазине.
В этих условиях вопрос своевременного обновления стоков стоит особенно остро. Мы поделимся кейсом, как наша компания решила проблему синхронизации товарных остатков (около 70 миллионов позиций) для нескольких онлайн-витрин и в оффлайн-точках, которые интегрированы с сайтом.
Исходные данные
3 витрины, из которых 2 являются интернет-магазинами и 1 — портал для партнеров, а также порядка 5000 оффлайн-точек. Более 100 000 SKU. Также существует несколько вариантов доступности товара — фактическое наличие на сайте, доставка товара в день заказа или на следующий день к определенному времени, оформление предзаказа у поставщика. Дополнительную сложность накладывает ряд особенностей бизнес-логики:
товары с низкой представленностью (доступные только в определенном количестве оффлайн-точек), которые можно оформить только через самовывоз через отдельный вид чекаута
товары с истекающим сроком годности (также доступные только в определенном количестве оффлайн-точек), который варьируется в диапазоне от 3 до 6 месяцев до даты его истечения. Эти товары также оформляются через отдельную логику
Доступность товара в конкретной оффлайн-точке пользователь может проверить не только на этапе оформления заказа, но и в каталоге через систему фильтрации.
Как быстро и своевременно отслеживать изменения остатков. Ведь при покупке товара в одной точке нужно синхронизировать данные и для других каналов, а значит это нужно делать в режиме реального времени.
Решение по поводу того, как должны храниться актуальные данные по стокам. Загружать ли остатки отдельно для всех витрин или же реализовать прослойку в виде сервиса между централизованным хранилищем и точками сбыта.
Мультирегиональность. Внутри конкретной витрины есть ряд подвитрин, разделенных по принципу принадлежности к субъектам РФ. Доступность товара зависит от выбранного региона.
Переход от хранения данных об остатках на витринах к получению информации из отдельного сервиса, являющего прослойкой между централизованным хранилищем данных и каналами дистрибьюции товаров. Сервис стоков устранил множество проблем, связанных с дублированием и несогласованностью данных на различных витринах.
Все витрины получили доступ к единому источнику данных, что снижает вероятность ошибок, связанных с расхождением информации о наличии товаров, и позволяет оперативно корректировать информацию о стоках. Процесс обновления данных упрощен. При этом сохранена логика с различными состояниями доступности товара — в наличии в выбранной оффлайн-точке, возможен подвоз в выбранную оффлайн-точку к определенному времени, возможен заказ товара у поставщика.
Также сохранена логика с разделением остатков товара в зависимости от срока годности — срок годности более 6 месяцев, менее 6 месяцев, менее 4 месяцев и менее 2 месяцев.
Со стороны онлайн-витрин запросы на получение остатков в каталоге и при оформлении заказа отправляются через API в сервис, предоставляющий актуальные данные. Также были выполнены доработки, связанные с частичным реиндексом стоков, в результате которых обновление информации о доступности товаров происходит не при полном импорте остатков, а при изменении его состояния на основе данных модуля, который регулярно запрашивает информацию по стокам товаров.
В результате время актуализации остатков между системами составляет около 1 минуты, что практически равноценно обновлению в режиме реального времени.
В результате внедренных изменений пользователи получают актуальную информацию о доступности товаров за счет чего повышена эффективность бизнес-процессов, формируется комфортный клиентский опыт и увеличивается лояльности к бренду ритейлера.
Кроме того, засчет внедренного подхода улучшена не только точность данных, но также упрощается процесс разработки и перехода на новые версии.
Поскольку витрины взаимодействуют с единым API, обновления и изменения на уровне сервиса стоков могут быть легко внедрены без необходимости модификации каждой витрины по-отдельности. Это способствует более быстрой адаптации к изменениям в бизнес-логике или товарных запасах.