В марте этого года программа лояльности в сетях
«Пятёрочка» и «Перекрёсток» была приостановлена. Баллы за покупки копились на
картах, но потратить их было нельзя. Дело в том, что мы переходили на новый
процессинг. Это была крупнейшая миграция в российском ритейле, реализованная в
очень сжатые сроки.
О тонкостях инициативы, команде и подводных
камнях, с которыми нам пришлось столкнуться, — рассказывают Елена Фатыхова,
руководитель направления по развитию и сопровождению платформ прогнозирования X5
Tech, Александр Чухонцев, директор по лояльности и партнёрствам X5 Group, и
Мария Форостьянова, директор по продукту Loymax.
Зачем что-то менять
Наша старая программа лояльности была построена
на западных решениях, которые стали работать нестабильно. В процессе подбора
альтернативы мы рассмотрели предложения всех российских поставщиков — в том
числе компаний, у которых нет готовых систем процессинга, но есть экспертиза для
кастомной разработки и больших миграций. Также мы рассматривали вариант с
разработкой собственного процессинга на открытом стеке. Какое-то время назад
внутри X5 Group даже стартовал такой проект. Однако проделанный объём работ не
позволял перейти к внедрению в сжатые сроки.
Критерии отбора были довольно простыми.
Во-первых, как мы уже отметили, нам была важна скорость внедрения, чтобы
возобновить работу программы. Во-вторых, мы ориентировались на функциональность,
которую предлагает поставщик — как она соотносится с нашими задачами и сколько
объёмных доработок в итоге потребует. В-третьих, рассматривали архитектуру и
стек — мы хотели, чтобы их основу составляли open source решения без большого
количества legacy.
К сожалению, продукты многих вендоров имели
архитектурные особенности, которые мы не хотели переносить в нашу систему. Кроме
того, одним из важных критериев был объём железа, требуемый для соблюдения SLA
высоконагруженной системы. В текущих условиях стоимость закупки сильно возросла,
да и сама возможность приобретения оставалась под вопросом.
В итоге мы остановили свой выбор на системе с
широкой функциональностью компании Loymax. Быстрые тесты показали, что платформа
выдержит наши нагрузки — полмиллиарда покупок в месяц. Система готова была
обрабатывать несколько тысяч запросов в секунду, поступающих с касс, и
справляться с ещё более существенной фоновой нагрузкой на API. Стек нас также
устроил. Он был нам знаком, мы понимали, как с ним работать и развивать.
Веб-сервисы построены на .NET с интерфейсом Web API, поддерживающим формат
OpenAPI 3.0. Брокеры сообщений — Apache Kafka и RabbitMQ. Что касается фронтенда,
то приложение по управлению продуктом написано с помощью Angular 8.0. Основное
хранилище — СУБД MS SQL 2019, но в будущем её заменит PostgreSQL.
Как мы подошли к задаче
В проекте участвовали специалисты Loymax,
команды из обеих торговых сетей и бизнес-единицы «X5 Технологии» (X5 Tech). Была
огромная поддержка от коллег со стороны бизнеса, которые сопровождали запуск
процессинга, согласовывали нюансы с магазинами и юристами.
Мы также решили воспользоваться перезапуском
процессинга программ лояльности «Пятёрочки» и «Перекрёстка», чтобы реализовать
ещё одну идею — единые бонусные баллы, которые клиенты могли тратить и в
«Пятёрочке», и «Перекрёстке» одновременно.
Если говорить об X5 Tech, то в процессе активно
участвовали порядка тридцати человек — разработчики, специалисты техподдержки,
архитекторы и аналитики. Двигаться приходилось быстро, поэтому на старте команда
набросала только ключевые шаги и вехи, которые необходимо пройти до запуска. Как
таковую дорожную карту мы не строили — она бы всё равно очень быстро менялась по
ходу разработки и внедрения. Важнее было понимать ключевые зависимости разных
стримов, чтобы они не блокировали работу друг друга.
Наши аналитики и архитекторы оценили, какая
функциональность уже реализована в системе Loymax, а какую необходимо
доработать. Изучили, как корректно сформировать интеграции с мобильным
приложением и системой хранения персональных данных клиентов и пользователей в
рамках X5 Group и сразу её подключили, чтобы не переделывать архитектуру в
дальнейшем. Были добавлены балансировщики, интеграционная платформа, DMP.
Пришлось доработать и кассовое ПО — с учётом нашего масштаба это было непросто.
Активное участие в проекте также принимала
техподдержка, которую мы подключили с первых дней. Специалисты второй линии Х5
доработали мониторинг, переключив его на новую систему для отслеживания ошибок
на кассах, колл-центр получил все необходимые доступы и инструкции к системе для
возможности обрабатывать обращения. Было проведено обучение для всех линий
поддержки. Специалисты Loymax со своей стороны настроили и ежедневно мониторили
дашборды в Zabbix, отслеживали логи в Elastic.
Уже 30 апреля был первый пробный запуск в одном
из магазинов «Пятёрочка», далее раскатили по одной кассе в пяти магазинах,
убедились в работоспособности, исправили ошибки. По согласованию с директорами
магазинов подключили все кассы пилотных торговых точек, а после успешной работы
в течение недели продолжили раскатку. Ко второй половине июня у нас было
подключено уже 1500 магазинов в Москве и Московской области, мы признали пилот
успешным и начали тираж по 3500 касс в день во всех регионах присутствия. К 15
июля тираж в «Пятёрочках» и «Перекрёстках» был завершён для всех типов касс.
Развёртка и обкатка
Когда мы приступили к запуску обновлённой
лояльности, в проекте не было собственных вычислительных ресурсов, способных
обработать необходимый объём данных. Прошлый процессинг был развёрнут в облаке
вендора. Поэтому нам пришлось строить ИТ-инфраструктуру с нуля. Но нам повезло —
выручил тот самый проект по разработке своего процессинга на open source, от
которого мы отказались в пользу Loymax. Под него уже было закуплено железо, и
оказалось, что оно нам подходит. Хотя, конечно, с учётом роста объёма данных, в
перспективе нам понадобится дополнительное железо, и мы уже ведём закупку.
Далее мы начали миграцию. Нашей целью на этом
этапе был максимально бесшовный перевод клиентов на новый процессинг программы
лояльности. Покупатели не должны были видеть изменения в нашем процессинге. Мы
хотели, чтобы у них осталась возможность применять привычные бонусные карты и
тратить все накопленные ранее баллы. Кроме того, важно было не потерять баллы,
накопленные за время, когда программа лояльности не работала. Для этого
впоследствии мы доначислили баллы этого периода после запуска новой системы. На
этом этапе возник нюанс — база данных была масштабная, а стандартный
инструментарий Loymax не был заточен под работу с такими объёмами. Все другие
клиенты вендора были существенно меньше по масштабу бизнеса. Перенос информации
занял бы месяцы, но специалисты Loymax ускорили этот процесс. Часть информации
переносили напрямую в базу данных, часть проводили через полноценный слой
бизнес-логики, чтобы создать необходимые дополнительные записи. В итоге за счёт
предварительной обработки записей в БД и оптимизации алгоритмов мы провели
миграцию за одну неделю.
После работы с данными мы перешли к интеграции и
запуску процессинга в магазинах торговых сетей. Ежедневно сотрудники поддержки с
помощью дашбордов и логов касс искали покупательские кейсы с ошибками: когда не
применилась скидка или не списались баллы. Если в этот период вы ловили ошибку
на кассе — будьте уверены, она падала к нам в лог и уходила в анализ в тот же
день. Задачей было обеспечить функциональность продукта для 99,9% покупателей в
сжатые сроки, поэтому при отработке инцидента мы смотрели, насколько он
массовый. Серьёзные кейсы сразу брали в работу, остальные откладывали, чтобы
вернуться к ним после запуска. Например, тестировщики нашли пару сценариев,
которые на практике не реализуются (в статистике реальных покупателей их нет),
разбор таких сценариев мы откладывали на более поздний этап.
Одним из примеров ошибок был кейс с картами
пенсионеров. В определённой последовательности действий на кассе их скидка не
применялась. С таким багом мы бы не выпустили систему в продакшн — ведь это
очень большой процент наших покупателей, и нам было очень важно не подвести
наших клиентов. Сотрудники торговых точек тоже помогали нам искать проблемные
ситуации. Мы разослали инструкции по работе с системой лояльности и информацию о
функциях для кассиров. Все обращения по инцидентам со стороны магазинов
обрабатывались практически на лету, чтобы процессы торговых точек не встали, а
кассиры оперативно получали ответы на вопросы.
В ходе работы мы старались заложить
качественную основу в новую систему процессинга, чтобы потом не пришлось делать
рефакторинг и можно было сфокусироваться на развитии функций и «плюшек». Что
дальше В первую очередь, переход на новый процессинг принёс пользу клиентам.
Теперь программа лояльности Х5 существует в едином формате, она объединяет опыт
покупателей «Пятёрочки» и «Перекрёстка». Мы подключим к ней торговые точки
«Много Лосося», онлайн-гипермаркет Vprok.ru, подписку «Пакет» и медиа о питании
Food.ru. Преимущества также получили сотрудники и партнёры торговых сетей. На
платформе Loymax можно реализовать различные маркетинговые кампании — от
кобрендинговых и партнёрских инициатив до персональных акций с уникальным
набором преференций. В ближайшем будущем мы продолжим развивать продукт и
дополнять его полезными функциями — у нас уже есть примерный план действий на
2023 год. Кроме того, параллельно реализуются планы по техническому развитию,
например, уже сейчас готовится одно крупное обновление для системы, призванное
дополнительно увеличить производительность и пропускную способность программной
платформы.
***
{Добавление}.
В начале года многие западные компании ушли из
России. Так произошло и с нашим вендором. Он отказал нам в поддержке системы, и
она перестала работать. Так как система размещалась на облачных серверах вендора,
и у нас не было доступа ни к базе, ни к коду, мы не могли самостоятельно
возобновить работу этого решения. К нашему большому сожалению, это привело к
тому, что программа лояльности была недоступна нашим покупателям. Но мы
приложили все усилия к тому, чтобы возобновить её работу в кратчайшие сроки,
насколько это было возможно. Обычно системы такого масштаба внедряются от года и
более. Мы же смогли возобновить работу лояльности за 4 месяца.
Блог компании X5 Tech