Pattern

Блог Tarantool

BackIcon

Кейсы антифрода и рекомендательной системы на базе Tarantool

Кейсы антифрода и рекомендательной системы на базе Tarantool

CalendarIcon

01.11.2024

scroll iconScroll

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

Антифрод как пример важности принятия решений в реальном времени

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

Например, в банковской сфере антифрод может быть сфокусирован на выявлении и блокировании:

  • подозрительных транзакций;
  • действий в приложениях и банкоматах, выходящих за рамки привычных паттернов;
  • нетипичной активности.

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

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

  • Большой поток записей. Нередко антифрод-системы вынуждены обрабатывать тысячи записей в секунду, а на пиках — десятки тысяч записей.
  • Необходимость апдейтов. Банковские операции могут изменяться по последствиям. Например, когда по одной и той же транзакции сначала списывается проверочная сумма, а только после — весь платеж. Соответственно, антифрод-система должна уметь отличать легитимные операции от мошенничества и иметь возможность изменять уже сохраненные данные.
  • Высокие требования ко времени ответа. Для пользователей банковских продуктов важно, чтобы результат по операции был доступен в течение нескольких секунд — например, чтобы на кассе не пришлось долго задерживаться в ожидании подтверждения покупки. Но со стороны антифрод-системы это значит, что за эти несколько секунд надо успеть выполнить все проверки на наличие признаков фрода.
  • Сложность и количество правил. За выделенное время система должна обработать множество правил разной сложности: оценить разные счетчики, сопоставить данные, сегментировать их по категориям и выполнить еще сотни (а иногда и больше) аналитических действий.

Кейс поиска решения для выстраивания антифрод-системы

Теперь о том, как мы командой Tarantool справлялись с этими вызовами при реализации антифрод-системы для одного из наших клиентов — крупного банка.

  • Для обработки большого потока записей важно использовать преимущества транзакционных БД, а именно — запись в строчный буфер. То есть система должна быть адаптирована под запись. Вместе с тем запросы для обработки имеют аналитический характер, а для таких запросов колоночный формат хранения подходит лучше строчного. Итого: для хранения нужна транзакционная система, способная быстро совершать сложные запросы. То есть HTAP-система, способная выполнять гибридную транзакционно-аналитическую обработку данных.
  • Есть необходимость совершать апдейты. Для этого нужен соответствующий движок. При этом классические решения под сложные аналитические запросы используют колоночные хранилища, которые плохо справляются с большим потоком записей и апдейты не поддерживают. В итоге для закрытия этой потребности мы написали собственный движок.
  • Для обеспечения высоких скоростей ответа на запросы было однозначно решено хранить данные в памяти. То есть, требовалось именно in-memory хранилище.
  • В ответ на сложность правил надо было также предусмотреть возможность быстрого получения данных и их оперативную обработку. Поэтому вычисление правил мы также решили перенести ближе к данным — в оперативную память (in-memory compute). Это позволяет быстро обсчитывать правила и считать состояние непосредственно рядом с данными, уменьшая влияние сети на время выполнения запросов.
  • Чтобы эффективно работать с большим количеством правил, мы решили организовать колоночное хранение. Это важно, поскольку правила транзакций обычно достаточно широкие, но расчеты задействуют всего несколько отдельных колонок. Более того, это дает возможность работать с заготовленными выражениями (prepared statements), чтобы сокращать время на вычисления.

В итоге для реализации банковской антифрод-системы клиент выбрал нашу in-memory колоночную СУБД для транзакционно-аналитической обработки данных в реальном времени Tarantool Column Store, которая отвечает всем запросам. Вместе с этим, помимо ответа на исходные вызовы, клиент получил:

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

Формирование рекомендательной системы в режиме реального времени

Один из ключевых драйверов развития бизнеса и продвижения его продуктов является маркетинг. Но классический маркетинг строится на формировании предложений на основе исторических данных и ранжировании клиентов по общим группам. Такой подход имеет право на жизнь, но сопряжен с рядом проблем:

  • Скорость. Крайне важно не упустить момент влияния на действия клиента, чтобы работа была эффективной и точной. За счет быстрого расчета предложения и мгновенного отклика на действия пользователя можно увеличить вероятность конверсии. Например, в банке: если клиент купил что-то в торговом центре, банк сразу предлагает скидку в соседнем магазине. С классической аналитикой реализовать такое невозможно. В итоге несвоевременное маркетинговое действие напрямую влияет на конверсию.
  • Персонализация. Классический подход работает с группами и не учитывает индивидуальные особенности клиентов. То есть, если покупатель относится к категории, условно, «Мужчины 40+» и неделю назад искал в интернет-магазине дрели, то и сейчас ему будут предложены дрели и сверла на выбор, несмотря на то что сегодня он целый день ищет стиральную машину. В итоге клиент не получает релевантного предложения и уходит, магазин недополучает прибыль.
  • Отчетность. В маркетинге важно иметь возможность оценивать результаты запущенных кампаний или нововведений в продуктах. Но обычно для формирования отчетов нужно накопить данные, на что нужно время. Соответственно, выводы об эффективности запущенной кампании придется делать уже по итогу, когда она будет завершена и деньги на рекламу будут израсходованы, что не всегда рационально.

Альтернативой классическому маркетингу и решением присущих ему недостатков является real-time marketing (RTM), который предполагает формирование и доставку клиенту персональных предложений в момент события в его жизни (на основе актуальных, горячих данных о нем).

RTM применяется там, где клиент совершает покупки или пользуется услугами в режиме реального времени. Наиболее эффективен он в ритейле, но также применим в банковской сфере и телекоммуникациях, где есть необходимость быстро сформировать конкретное предложение и доставить его клиенту. Не меньший спрос на реал-тайм-маркетинг и в партнерских программах — например, когда человек снимает деньги в банкомате, ему можно на лету сообщить, что в соседнем магазине-партнере есть скидка на товар, которым клиент интересовался утром. Причем аналогичное предложение, присланное на почту завтра, уже будет совсем неактуально.

Поэтому real-time marketing, анализируя действия пользователя в конкретный момент времени и предлагая наиболее подходящее предложение, решает сразу несколько задач:

  • Повышение конверсии. Легче анализировать успех предложений, так как они привязаны к конкретным действиям пользователя. Мгновенные предложения обеспечивают лучшую конверсию по сравнению с традиционными рассылками.
  • Персонализация предложений. Персонализация и предиктивный анализ на основе предыдущих действий пользователя позволяет учитывать индивидуальные предпочтения клиентов, а не просто предлагать товары группам. Такой рекомендательный маркетинг становится более точным и эффективным, повышая удовлетворенность клиентов и конверсию.
  • Омниканальные коммуникации. Централизованная система, отслеживающая, какие предложения были сделаны и через какие каналы они ушли, помогает понять эффективность маркетинговых кампаний и корректировать алгоритмы. Более того, оперативная аналитика ответных действий клиентов позволяет строить гипотезы и корректировать стратегии маркетинга.
  • Повышение эффективности коммуникации. Эффективная коммуникация с клиентом должна происходить через один, наиболее подходящий канал, чтобы не перегружать его информацией. Это позволяет сделать взаимодействие с клиентом более релевантным и ненавязчивым.

Больше информации о real-time маркетинге — в статье нашего блога.

Кейс поиска решения для реализации маркетинга в реальном времени

В качестве примера необходимости реал-тайм-маркетинга и аспектов построения таких систем разберем кейс одного из клиентов Tarantool — телеком-компании. Сразу отметим, что система уже внедрена и успешно работает несколько лет. Началось всё с того, что у заказчика к тому моменту не было развитой системы real-time marketing — фактически данные загружались ночью, обрабатывались с помощью сложных процедур, а на следующий день рассылались предложения. То есть клиенты получали уже неактуальные предложения и не всегда удобным для них способом. Это влияло на конверсию и лояльность клиентов. Возник запрос на построение RTM-системы.

Классически система аналитики формируется из:

  • каналов взаимодействия с клиентами;
  • больших и медленных core-систем, в которых есть информация о клиенте, его действиях и предпочтениях, пути клиентского опыта и других признаках.

3.jpg

Для построения RTM-системы нужно между каналами и медленными core-системами внедрить быстрый промежуточный слой, в котором будут на лету выполняться все расчеты предложений.

Для реализации такого слоя вычислений требуется несколько компонентов:

  • витрина профилей, на основе которой можно будет понимать, с каким именно клиентом происходит взаимодействие;
  • витрина офферов (в идеале — предварительно рассчитанных наборов), из которых можно быстро выбрать релевантное предложение;
  • витрина коммуникаций, в которой будет консолидирована информация о каналах коммуникации пользователя — например, чтобы не слать сообщения тем клиентам, которые этого категорически не хотят;
  • верхнеуровневый движок, который будет реализовывать логику поверх витрин по генерации, выбору предложения, оценке эффективности кампании, выбору каналов взаимодействия и другим аспектам;
  • верхний слой, который будет взаимодействовать с каналами пользователя.

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

  • реализует in-memory хранение, поэтому обеспечивает быстрый доступ к данным, а также дает возможность расчетов in-memory;
  • снижает требования к инфраструктуре, ресурсам и экспертным знаниям за счет своей гибкости и возможности быстрого развертывания в продуктивной среде;
  • может предложить более гибкое решение, которое будет проще адаптироваться к изменяющимся потребностям бизнеса;
  • делает простым и прозрачным процесс изменения модели данных за счет своей гибкости и адаптивности;
  • имеет высокую производительность на единичную вставку, а также способен выполнять расчеты агрегатов на лету.

В итоге RTM-система была реализована именно на базе Tarantool. Сейчас у нее под капотом 7 ТБайт данных в различных витринах, на которые суммарно приходится до 3 тысяч запросов в секунду. На предоставление автоматически рассчитанного оптимального предложения системе требуется всего 0,5 секунды.

Внедрение RTM-системы дало и профит на уровне бизнес-метрик. Так, продажи компании увеличились на 20%, количество кликов на предложения выросло на 7%, а стоимость клика снизилась на 27%.

Что в итоге

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

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

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

Читайте также

Сложности проектирования высоконагруженных систем и как их преодолеть

ArrayIcon

Сертификация ФСТЭК для ПО Tarantool

ArrayIcon

Выбор хранилища S3 On-Premises: анализ вариантов в РФ

ArrayIcon