Big Data в потоковой обработке данных

Аннотация
Разработка инструмента для выполнения программ лояльности с целью снижения уровня оттока клиентов, повышения прибыли с одного клиента и увеличения доли POS операций в общем объеме транзакций в денежном эквиваленте.

Задача
Разработать фреймворк для создания и выполнения программ лояльности, направленных на разные сегменты клиентов.

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

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

Сфера деятельности:
Бэк-офис

Технологии:
Cloudera CDH (Spark, Structured Streaming, Kafka, HBase, Hive, Oozie), Python

География:
Восточная Европа

Размер команды:
4

Продолжительность:
24 человеко-месяца

Кейс 1: Потоковая обработка покупок клиентов

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

Технологии, использованные в проекте
  • Structured Streaming
  • Spark
  • Kafka
  • HBase
Исходное состояние
Несколько жестко запрограммированных бонусных программ, коммуникация по которым осуществлялась офлайн один раз в сутки. Такой подход не позволял бизнесу гибко и своевременно воздействовать на клиентов.

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

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

Цель проекта
Разработка инструмента для создания программ лояльности с возможностью гибкой настройки.

Описание проекта
Создание back-части для интерпретации описания программ, описанных на предметно-ориентированном языке. 

Технологии, использованные в проекте
  • Python
  • Apache HBase
Исходное состояние
Несколько жестко запрограммированных бонусных программ, коммуникация по которым осуществлялась офлайн один раз в сутки. Такой подход не позволял бизнесу гибко и своевременно воздействовать на клиентов.

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

Кейс 3: Фреймворк для проверки программ лояльности

Цель проекта
Разработать инструмент для тестирования корректности настроек программ лояльности.

Описание проекта
Создание back-части для проведения тестов программ, описанных на предметно-ориентированном языке.

Технологии, использованные в проекте
  • HBase
  • Spark
  • Kafka
  • Python
Исходное состояние
Фреймворк для создания и запуска программ лояльности, имеющий высокую степень гибкости настроек.

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