25 июля 2015

Machine Learning в коммерческих банках

Machine Learning в коммерческих банках

big data in banking

По оценке компании McKinsey финансовая индустрия владеет до 25% данных, имеющихся в мире. Из них банки США хранят >1 экзабайта данных (McKinsey, 2013), объем данных российского банковского сектора оценивается в >100 терабайт (IBS, 2013).

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

  • управления рисками;
  • клиентоориентированности;
  • оптимизации операционной деятельности.

Перед современным банком по каждой из перечисленных задач стоит целый ряд проблем. Опишем их тезисно ниже.

Клиентоориентированность
Клиенты банков становятся все более и более требовательными как к банковскому сервису, так и к банковским продуктам. Клиентам уже не нужна «просто пластиковая карта». Клиентам нужен составной продукт, который позволит им покупать товары (offline и online); продукт, с постоянным и удобным доступом (со смартфона, планшета, домашнего ПК); продукт, который позволит экономить средства (скидки по карте, cashback, бонусы).

Управление рисками
Модели расчет банковских рисков, скоринговые модели все более и более усложняются, одновременно со сложностью моделей (качественной сложностью) растет и объем анализируемых данных (количественная сложность). А все увеличивающееся разнообразие способов оплаты (mPOS, мобильные платежи) и количество получателей платежей открывает все новые и новые фронты борьбы с мошенничеством.

Оптимизация операционных затрат
Увеличение конкуренции как со стороны виртуальных банков, так и со стороны стартапов, предоставляющих финансовые сервисы (P2P-кредитование, агрегаторы банковских счетов), вынуждают игроков на рынке банковских услуг снижать маржинальность многих банковских продуктов. В такой ситуации «полноценным» банкам важно уменьшать операционные издержки.

Общая проблема: обработка данных
Все возрастающие объемы как внутренних данных банка (профили клиентов, журнал финансовых операций и т.д.), так и внешних данных (данные НБКИ, отзывы в социальных сетях и т.д.) требует от банка качественно новых подходов к хранению и обработке данных.

Это лишь поверхностный список проблем, с которыми банковский сектор уже столкнулся.

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

Терминология (немного математических терминов)

Наука о данных (Data Science) – раздел информатики, изучающий проблемы анализа, обработки и представления данных в цифровой форме. Объединяет методы по обработке данных в условиях больших объёмов и высокого уровня параллелизма, статистические методы, методы интеллектуального анализа данных и приложения искусственного интеллекта для работы с данными [1].

Машинное обучение (Machine Learning) – обширный подраздел искусственного интеллекта, математическая дисциплина, использующая разделы математической статистики, численных методов оптимизации, теории вероятностей, дискретного анализа выделяющая знания из данных [1].

Большие Данные (Big Data) – серия подходов, инструментов и методов обработки структурированных и неструктурированных данных огромных объёмов и значительного многообразия для получения воспринимаемых человеком результатов, эффективных в условиях непрерывного прироста, распределения по многочисленным узлам вычислительной сети [1].

Классификация (Classification) – один из разделов машинного обучения, посвященный решению задачи построения алгоритма, способного классифицировать произвольный объект из исходного множества [2].

Регрессионный анализ (Regression Analysis) – статистический метод исследования влияния одной или нескольких независимых переменных X1, X2, ..., Xp на зависимую переменную Y [1].

Кластерный анализ (Cluster Analysis) – многомерная статистическая процедура, выполняющая сбор данных, содержащих информацию о выборке объектов, и затем упорядочивающая объекты в сравнительно однородные группы [1].

Предиктивный анализ (Predictive Analytics) – класс методов анализа данных, концентрирующийся на прогнозировании будущего поведения объектов и субъектов с целью принятия оптимальных решений [1].

Латентно-семантический анализ (Latent Semantic Analysis) – это метод обработки информации на естественном языке, анализирующий взаимосвязь между коллекцией документов и терминами в них встречающимися, сопоставляющий некоторые факторы (тематики) всем документам и терминам [1].

Коллаборативная фильтрация (Collaborative Filtering) – один из методов построения прогнозов (рекомендаций) в рекомендательных системах[⇨], использующий известные предпочтения (оценки) группы пользователей для прогнозирования неизвестных предпочтений другого пользователя [1].

Источники определений:
[1] Википедия
[2] MachineLearning.ru

Сегментация клиентов (Customer Segmentation)

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

Сама по себе сегментация не дает никаких ответов (в тем более точных), она лишь говорит о наличии/отсутствии паттернов или определенной структуры в данных. Источники данных, по которым будет проводиться сегментация, зависят от конкретной задачи, для которой идет поиск паттерна. В большинстве случаев это банковская анкета клиента и лог транзакций – журнал финансовых операций, проведенных всеми клиентами банка за определенный период времени.

Методы машинного обучения, которые применяются для решения данной задачи – это методы кластерного анализа. Метод k-средних (k-means) в большинстве случаев довольно хорошо справляется с задачей кластеризации по клиентам банка.

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

Сегментация клиентов относится к задаче пакетной обработки данных (batch processing) и, в общем случае, не является задачей реального времени (real-time processing).

Обнаружение мошенничества (Fraud Detection)

Можно выделить следующие способы фрода (от англ. fraud – мошенничество), приводящие к несанкционированному снятию/пополнению денежными средствами банковского счета клиента:

  1. операции с украденными пластиковыми картами;
  2. операции с украденными идентификационными данными клиента, карты (в том числе скимминг);
  3. мошенничество при оплате пластиковой картой через интернет-магазины;
  4. использование украденных учетных данных интернет- и мобильных банков (в том числе фишинг), взлом и эксплуатация уязвимостей мобильных и интернет-банков.
  5. инсайд (мошенничество со стороны сотрудников банка).

Для решения задач [1-3] необходимо провести первичную сегментацию клиентов, определить поведенческий паттерн движения денежных средств для конкретного клиента. Далее имеет смысл использовать такие методы как Дерево решений (Decision Tree) или нейросети (Neural Network), чтобы определить вероятность того, что платеж является мошенническим.

Источники данных: логи транзакций; личные сведения о клиенте, известные банку (такие как адрес проживания). Для задачи [3] хорошей практикой будет использовать сведения от мерчанта (IP адрес, с которого пришел запрос на проведение платежа, адрес доставки товара, имя владельца учетной записи), справочники адресов (определение приблизительного по индексу, по IP адресу).

Для решения задачи [4] необходимо анализировать лог интернет-банка/мобильного приложения и логи backend-сервисов, работающих с этими приложениями, а затем с помощью методов обнаружения аномалий (Anomaly Detection) искать нехарактерную активность (слишком частые попытки авторизации, слишком высокая частота внешних денежных переводов) по подмножеству учетных записей.

Задача [3] – выявление мошенничества при online-оплате посредством пластиковых карт – одна из наиболее интересных историй использования data science в банковском секторе. Так известно, что международная платежная система Visa в 2011 году разработала новую версию антифрод-системы с использованием методов big data. Заявлено, что за год система останавливает на сумму ~ $2 млрд. Компания IBM в своем отчете заявила, что использование методов машинного обучения в антифрод-системе позволило «отлавливать» на 15% больше мошеннических платежей и на 50% уменьшить ложное срабатывание антифрод-системы. Антифрод-системы, спроектированные с использованием концепций Больших Данных – одна из тем конференции «Big Data and Analytics for Banking Summit 2015», среди участников которой такие гиганты финансовой индустрии как JPMorgan, Morgan Stanley, Bank of America, Barclays.

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

Задачи выявления мошенничества – time sensitive. Так задачи [1-3] являются near realtime задачами, где большие задержки в обработке данных – это прямые и косвенные (репутационные) убытки для банка.

Кредитный скоринг (Credit Scoring)

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

Анализ анкеты клиента и данных НБКИ производится с помощью элементарных статистический методов, и в этих методах сложно что-то качественно улучшить. А вот применение методов семантического анализа к сообщениям потенциального заемщика и графовых алгоритмов к его друзьям в соцсетях позволит сделать более глубокие выводы о его социальной активности. В целом, идея анализа кредитоспособности по соцсетям нова и пока не имеет описанных отраслевых best practices.

Из лога транзакций, применяя регрессионный анализ, можно узнать, как довольно простые показатели – динамика доходов/расходов клиента, равномерность доходов, так и с помощью кластерного анализа определить, к какой группе – плательщики или неплательщики – относится потенциальный заемщик.

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

Для скоринговых систем отлично подходят фреймворки пакетной обработки с in-memory хранилищем, запускаемые на компьютерном кластере (например, Apache Spark).

Индивидуальные предложения для клиента (Personalized Product Offering)

В интересах банка стимулировать клиента тратить больше, взамен предоставляя клиенту некоторые выгоды – прямую или косвенную экономию. Тут на первое место выходит именно актуальность предложения от банка для клиента. Предложения от банка можно условно поделить на 2 категории:

  1. рекомендации банковских продуктов (депозиты, кредитные и кобрендинговые карты);
  2. рекомендации покупок (программы лояльности от различных ритейлеров).

Так для категории [1] банк может предложить клиенту потребительский кредит на отдых при покупке авиабилета за границу и/или оформить кобрендинговой карты со скидками у авиаперевозчиков. Для категории [2] банк N может предложить клиенту, который часто покупает ювелирные изделия у продавца M1, скидки на покупку драгоценностей у продавца M2, чей расчетный счет открыт в банке N.

Для решения задачи рекомендаций необходимо предварительно сегментировать клиентов на группы со сходной структурой покупок и далее для кластера, в которую попал клиент, применить сингулярное разложение (Singular value decomposition, SVD) – ключевой метод современной коллаборативной фильтрации.

Источники данных, которые необходимо анализировать: лог транзакций, социальные сети.

Прогнозирование ухода клиента и привлечение новых клиентов (Customer Loyalty and Marketing)

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

Используя данные лога транзакций, анкет в социальных сетях, данных по откликам клиента на маркетинговые предложения банка (web-логи), возможно провести:

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

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

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

Затраты на маркетинговые компании, в том числе и по привлечению новых клиентов, можно оптимизировать, анализируя отношение к бренду в социальных сетях и СМИ. В этом помогут современные алгоритмы семантического анализа: они умеют довольно точно определять эмоциональную окраску сообщения, выделять субъекта и объекта из сообщения.

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

Отчетность и соответствие нормам регулятора (Compliance and Regulatory Reporting)

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

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

Современный уровень развития Massive Parallel Processing (MPP) систем позволяет успешно решать эту задачу в короткие сроки. Алгоритмы параллельной обработки данных (такие как map/reduce), уже реализованы во многих как проприетарных, так и открытых (такие как Apache Hadoop) системах управления данными. Последние в совокупности со специальными аппаратными решениями, нацеленными на ускорение операций ввода-вывода, позволяют в короткие сроки выполнять запросы к огромному количеству разнородных данных.

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

Неэффективность операционной деятельности (Improving operational efficiencies)

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

Такая всесторонняя оптимизация требует применения значительно спектра математических алгоритмов – от комбинаторной оптимизации (минимизация сети отделений) до распознания графических образов (подсчет количества посетителей по камере наблюдения отделения).

Заключение

«Big Data + Machine Learning» помогает решать следующие банковские проблемы на качественно другом уровне:

  • сегментация клиентов (Customer Segmentation);
  • обнаружение мошенничества (Fraud Detection);
  • кредитный скоринг (Credit Scoring);
  • индивидуальные предложения для клиента (Personalized Product Offering);
  • прогнозирование ухода клиента и привлечение новых клиентов (Customer Loyalty and Marketing);
  • отчетность и соответствие нормам регулятора (Compliance and Regulatory Reporting).

Для решения перечисленных выше задач современный уровень развития Data Science позволяет без участия аналитика:

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

Принимая во внимание стремительно растущие объемы данных, современные же Big Data подходы позволяют:

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

Ложка дегтя

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

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


Приложение. Big Data кейсы и соответствующие им методы машинного обучения

В заключении приведу сводную таблицу big data кейсов в банковском секторе и методов машинного обучения.

Источники данных (data sources):
Transactions Log – лог финансовых транзакций;
Banking CRM Data – банковский профиль клиента;
Merchant CRM Data – профиль клиента у мерчанта;
Web-clicks Stream – данные о активности клиента в приложениях банка (сайта банка, интернет-банк, переход по рекламным объявлениям банка);
Web-applications Log – логи интернет- и мобильного банков, а также связанных с ними backend-сервисов;
External Services – внешние сервисы, такие как НБКИ, сервисы определения географического местоположения (по IP клиента, например);
Support Service Data – данные отдела клиентской поддержки: результаты семантического анализа разговоров и/или переписки со службой поддержки;
Social Network – социальные сети.

Алгоритмы машинного обучения (терминология):
C – классификация (Classification);
CA – кластерный анализ (Cluster Analysis);
LSA – латентно-семантический анализ (Latent Semantic Analysis);
AD – обнаружение аномалий (Anomaly Detection);
CF – коллаборативная фильтрация (Collaborative Filtering).

Автор статьи

,
DS/ML Preacher, Microsoft MVP && Coffee Addicted