Как мы внедряли новый процессинг для программ лояльности «Пятёрочки» и «Перекрёстка»

В марте этого года программа лояльности в сетях «Пятёрочка» и «Перекрёсток» была приостановлена. Баллы за покупки копились на картах, но потратить их было нельзя. Дело в том, что мы переходили на новый процессинг. Это была крупнейшая миграция в российском ритейле, реализованная в очень сжатые сроки.

О тонкостях инициативы, команде и подводных камнях, с которыми нам пришлось столкнуться, — рассказывают Елена Фатыхова, руководитель направления по развитию и сопровождению платформ прогнозирования 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 год. Кроме того, параллельно реализуются планы по техническому развитию, например, уже сейчас готовится одно крупное обновление для системы, призванное дополнительно увеличить производительность и пропускную способность программной платформы.

Комментарии (45)


  1. m03r
    06.09.2022 09:55
    +4

    То-то в местной Пятёрочке почти два месяца висело объявление, что карты лояльности временно не работают.

    А это, оказывается, внеплановая миграция.

    Интересно, что же так нестабильно работало?


    1. X5RetailGroup Автор
      06.09.2022 15:53
      +1

      Добрый день!

      Причина в том, что в начале года многие западные компании ушли из России. Так произошло и с нашим вендором. Он отказал нам в поддержке системы, и она перестала работать. Так как система размещалась на облачных серверах вендора, и у нас не было доступа ни к базе, ни к коду, мы не могли самостоятельно возобновить работу этого решения. 

      К нашему большому сожалению, это привело к тому, что программа лояльности была недоступна нашим покупателям. Но мы приложили все усилия к тому, чтобы возобновить её работу в кратчайшие сроки, насколько это было возможно. Обычно системы такого масштаба внедряются от года и более. Мы  же смогли возобновить работу лояльности за 4 месяца.


      1. PereslavlFoto
        06.09.2022 16:19

        Так как система размещалась на облачных серверах вендора, и у нас не было доступа ни к базе, ни к коду, мы не могли самостоятельно возобновить работу этого решения.

        По какой причине было принято изначальное решение заплатить деньги вендору, не получая взамен ни базу данных, ни код приложения, ни уверенность в работе?

        Может быть, ввести эту систему для розничной торговли, то есть выдавать людям в магазинах хлеб и воду, не получая взамен никаких денег?


      1. kalach_89
        07.09.2022 06:39
        +1

        А этот эффективный менеджер, который проталкивал данный продукт, еще работает в компании?


  1. NeoCode
    06.09.2022 10:05
    +1

    Раз уже здесь официальный блог X5, то хочу внести предложение. Регулярно сталкиваюсь с какими-то программами лояльности (это ведь так называется), когда право на скидку при следующей покупке печатают на чеке. И предполагается что этот чек нужно сохранять предъявлять при следующей покупке.

    Зачем так делать, если есть карта покупателя? Почему нельзя записывать эту информацию на цифровой носитель (карточку, или в вашу базу, ключом к которой является номер карточки)?


    1. naff
      06.09.2022 10:08

      Ну так то что у вас на карте скидка можно и забыть и в следующий раз прийти в магазин не «простимулированным» и при этом скидку получить.


  1. grokinn
    06.09.2022 11:12
    +2

    Не рановато ли заявлять об окончании миграции? В приложении до сих пор такое. На сайте аналогичная заглушка.


    1. tempick
      06.09.2022 12:50
      +2

      у них новое приложение пятерочки теперь. У вас - старое. Сам узнал только от кассира несколько дней назад об этом


      1. grokinn
        06.09.2022 13:00
        +1

        Действительно, месяц назад вышло, спасибо за инфу. (повесить в старое приложение или хотя бы в ЛК на сайте уведомление они конечно не догадались:), на сайте так до сих пор "баланс недоступен").


        1. X5RetailGroup Автор
          06.09.2022 22:35

          Здравствуйте! Сообщение об ограничении функционала и предложение скачать новое приложение было в старом приложении в виде баннера в самом верху, но чтобы его увидеть, нужно было обновить приложение. Да, согласны, что это не самое удобное решение. 

          Вы можете скачать новые приложения торговых сетей «Перекрёсток» и «Пятёрочка» на сайте https://x5club.ru/ в разделе «Скачайте мобильные приложения». В них вы сможете видеть актуальный баланс, а также вам будут доступны списание и начисление баллов по штрих-коду.


          1. 631052
            06.09.2022 23:45
            +2

            нет, в старом приложении не было сообщения о новом. или все кто не знал до этого поста - слепые?

            на сайте не могу авторизоваться - требует фамилию.

            прочитал правила обработки ПД -

            1. емайл (ну ок)

            2. имя (видимо, это в широком смысле, т.к. фамилия тоже обязательное поле, зачем - не знаю)

            3. дата рождения (зачем???)

            4. данные банковской карты (у вас точно всё нормально?)

            5. данные о покупках (ну пусть)

            6. номер карты лояльности (ок)

            7. данные о претензиях, жалобах, обращениях. (ок)

            8. страницы сайта, время нахождения на них (ваше дело)

            9. идентификатор устройства, айпи адрес, тип устройства, фотография крупным планом ключа от квартиры, где деньги лежат.

            мобильного номера в этом списке нет.

            в общем и целом - есть физический пластик "5ки", по которому иногда получаю скидки. ну и хватит.


  1. DMGarikk
    06.09.2022 11:54
    +1

    Уже полгода приложение работает через одно место, постоянно чтото не подгружается, постоянно 'ошибка связи с сервером'… где блин тут бесшовность то?
    и сейчас 'списать баллы? да!!! — НЕВОЗМОЖНО списать баллы… точка'

    вы сами хоть пользуетесь этим всем?


    1. tempick
      06.09.2022 12:52
      +1

      у них новое приложение пятерочки теперь. У вас - старое. Сам узнал только от кассира несколько дней назад об этом. Баллы можно списать только если новое приложение использовать. И, как я понял, теперь только максимум 50% от суммы покупки можно баллами оплатить


      1. DMGarikk
        06.09.2022 13:58

        у них новое приложение пятерочки теперь. У вас — старое.

        я вот это тоже слышал, а новое — какое? кассир блеет про то что его обновить надо — но у меня последняя версия с google play, или там какоето совсем новое и его отдельно ставить надо?


        1. tempick
          06.09.2022 14:13

          отдельно ставить. В гугл плее только новое и могу найти, старого нет.


          1. DMGarikk
            06.09.2022 14:22

            ну у меня установлена та версия которая в google play


            1. 631052
              06.09.2022 14:48

              я сейчас в гугл плее нашел, установил. с крокодильчиком.

              вот оно новое, а какой старое - так уже и не обновляется.


  1. 13werwolf13
    06.09.2022 12:14
    +2

    Как мы внедряли новый процессинг для программ лояльности «Пятёрочки» и «Перекрёстка»

    ооооооооооооооооооооочень долго, да впрочем ещё не закончили, а то что уже сделали глючит безбожно.

    вот и вся статья..


    1. X5RetailGroup Автор
      06.09.2022 16:07
      -1

      Здравствуйте! Можете, пожалуйста, уточнить, с какими именно проблемами Вы столкнулись при использовании программ лояльности?


      1. digdream
        06.09.2022 17:15
        +1

        можно я тоже присоединюсь к жалобам. самая большая из которых, что в в новом приложении невозможно открыть в самом приложении карту лояльности со штрихкодом если нет нет доступа к интернету, а в моем кейсе в самом магазине еле-еле edge ловится. приходится или открывать приложение до входа в магазин или показывать скрин кода.
        очень расстраивает, я понимаю что в код что то подмешивается, но нельзя ли сделать чтобы без интернета тоже можно было воспользоваться?


      1. PereslavlFoto
        07.09.2022 11:02

        Учтите: далеко не каждый ваш клиент может платить за мобильный доступ к интернету.


        1. DMGarikk
          07.09.2022 11:52

          чёто мне вспомнились древние времена из истории пятерочки… середина-конец нулевых
          'В магазинах пятерочка не принимаются банковские карты, потому что клиенты пятерочки не могут себе их позволить' (с)

          тут скорее не 'интернет не могут себе позволить', а 'нифига я не разбираюсь в этих ваших смартфонах' (с)


  1. AlexGluck
    06.09.2022 12:23
    +3

    А где мой любимый экспрес скан? Я так расстроился из-за очередей и толпы в магазине(

    Несколько раз даже от покупок пришлось отказываться прям возле касс.


  1. Dolios
    06.09.2022 13:06
    -1

    Так вот почему карту перекрестка по номеру телефона перестали принимать? Я бываю в перекрестке раз в пятилетку, карту постоянно ради этого мне таскать лень, теперь, в этих случаях, просто выбираю другой магазин. Удачи вам в бизнесе, всё правильно делаете.


    Наша старая программа лояльности была построена на западных решениях, которые стали работать нестабильно.

    Я кого-то из ваших топов раньше регулярно в новостях видел то с Путиным, то с Медведевым. Диарею чопиком не вылечишь.


    1. X5RetailGroup Автор
      06.09.2022 16:11
      -2

      Здравствуйте! Согласны - функционал нахождения карты лояльности по номеру телефона действительно очень важный, и мы его обязательно вернём.


      1. PereslavlFoto
        07.09.2022 11:00
        +1

        А зачем вы его убрали?


  1. PereslavlFoto
    06.09.2022 13:50
    +2

    К 15 июля тираж в «Пятёрочках» и «Перекрёстках» был завершён для всех типов касс.

    Почему в течение марта, апреля, мая, июня, июля — сотрудники магазинов на вопрос, когда вернётся программа лояльности, отвечали незнанием?

    Почему в течение всех 5 месяцев работы ваши сотрудники не могли предсказать срок выполнения этой работы?

    Почему ваши разработчики скрывали срок выполнения работы от кассиров?

    Спасибо.


    1. X5RetailGroup Автор
      06.09.2022 16:15
      -1

      Добрый день! Проект был очень амбициозный, и его сроки даже команде внедрения казались нереальным, поэтому мы не торопились с пресс-релизом и обещаниями по срокам. Как только появилась уверенность в функционале, все магазины были проинформированы и снабжены новыми инструкциями. Очень сожалеем о том, что не имели возможности дать нашим клиентам информацию раньше.


      1. PereslavlFoto
        06.09.2022 16:17

        Вы могли дать клиентам точное известие о том, что всё начнёт работать в декабре. Всё-таки была бы рамка, была бы надежда.

        В реальных же условиях, во-первых, не было никакой надежды, а во-вторых, была глухая уверенность в том, что всё рухнуло и не может быть восстановлено.


  1. 631052
    06.09.2022 14:24

    у меня тоже ничто не работает.

    но, как я сейчас узнал из каментов, у них новое приложение, а у меня - старое. откуда я должен был узнать об этом факте, науке неизвестно.

    зашел на сайт на компе, указал город, но список магазинов не грузится, т.к. стоит запрет на геолокацию. а зачем она вам, я же указал город?

    ну и "выпуск карты недоступен, переходи к акциям".

    а заголовок верный, внедряли, а не внедрили.


    1. X5RetailGroup Автор
      06.09.2022 17:04

      Здравствуйте! В рамках проекта мы перезапустили процессинг, но, конечно же, в программе лояльности участвуют много других компонентов (например, мобильное приложение). На старте для нас было важным обеспечить работоспособность базового функционала (такого, как списание и начисление баллов). 

      Выпуск карты уже доступен в мобильных приложениях торговых сетей «Пятёрочка» и «Перекрёсток». Мы же, в свою очередь, передадим информацию по кейсу со списком магазинов коллегам, которые отвечают за этот вопрос. Спасибо большое за это замечание!


      1. genericX
        08.09.2022 01:58

        Когда в приложение "Перекресток" для Android можно будет добавить пластиковую Дебетовую карту "Перекресток" от X5 Банка (ту, что активируется в приложении Альфа-банка")? Сейчас ввод номера такой бонусной карты, который напечатан на лицевой стороне карты, завершается ошибкой. Обычной Клубной Карты у меня не было никогда. В вашей группе в VK меня уверяли, что со временем банковская X5-карта "сама пропишется в аккаунте", но я таким заверениям не верю..


  1. segment
    06.09.2022 15:18

    Основное приложение раньше было классным, но уже более полугода оно почти не работает у меня, постоянно какие-то ошибки, да еще стало требовать регистрацию X5 или что-то в таком духе. Потом выяснилось про новое приложение, но в итоге теперь я вообще не могу списать баллы, тк в магазине сказали что невозможно списать из-за перехода на новое приложение.


    1. X5RetailGroup Автор
      06.09.2022 19:54
      -1

      Здравствуйте! Списание баллов доступно в новом приложении по специальному штрих-коду. Вы можете обратиться с вопросами в службы поддержки «Перекрёстка» (тел. 8 (800) 200 95 55) или «Пятёрочки» (тел. 8 (800) 555 55 05), и Вам помогут. На сайте https://x5club.ru/ Вы также можете найти много полезной информации о работе программ лояльности наших торговых сетей.


      1. Pongo
        06.09.2022 20:21

        У вас есть техподдержка по email? Не хочу висеть на линии.


        1. X5RetailGroup Автор
          07.09.2022 10:22

          Здравствуйте! Вы можете написать нам в мобильном приложении «Перекрёстка» или «Пятёрочки» (в разделе «Связаться с нами»).


          1. PereslavlFoto
            07.09.2022 11:00

            Но ведь оно перестало работать?


      1. denilenko
        07.09.2022 10:02

        Только вот этот штрих-код не работает (не грузится) когда с приложением какие-то проблемы (вчера, 06.09.2022 , например, были). Почему нельзя штрих-код сделать картинкой постоянно храняшейся в приложении и не зависящей от проблем с сетью?


  1. kvazimoda24
    07.09.2022 00:09

    Столько движа и всё ради скидки в 1%...


  1. BigD
    07.09.2022 08:49
    +1

    X5, неуд вам за «1770 баллов = 177 рублей». Понятно, почему так сделано, но за это и неуд и незачот.


  1. PaulZi
    07.09.2022 10:37

    Когда история покупок вернётся в перекрёстке?


  1. qyix7z
    07.09.2022 11:02
    +1

    единые бонусные баллы, которые клиенты могли тратить и в «Пятёрочке», и «Перекрёстке» одновременно.
    Я правильно понимаю, что теперь можно 5-шную карту предъявить в Перекрестке и наоборот?


  1. kashkaroff
    08.09.2022 01:55

    А что сделали для того чтобы баллы с карты не воровали?

    29 августа 250 руб пропало.


  1. SolFJ
    08.09.2022 02:02

    Судя по ситуации за последнии пол года, X5Tech состоит вплоть из джунов, а может даже одних эффективных менеджеров. Как объяснить, тот факт что после каждого крупного обновления приложения на мобильных платформах, вы стабильно ломаете что то фундаментальное. Баллы, так и не работают. Приложение постоянно сбрасывает авторизацию и чистит данные о пользователе, оставляя только голый аккаунт, а последнее просто клоунада, вы забыли....... включить отображение корзины. БРАВО, БРАВО.

    Вы сами хоть пользуетесь этим всем?


  1. nekit-0123
    08.09.2022 02:03

    1. Огромные затраты it, аналитическим и прочим отделам

    2. Выпуск пластиковых карт

    3. Печатание отдельных ценников для товаров по "выручай карте"

    И ради чего? Разве покупателям это надо? может товар продавать без наценки или просто скидками?

    Не понимаю этого,,,