RUS

Горячая линия +7 (495) 268-09-63

Аналитика

РЕШЕНИЕ ЗАДАНИЯ КОНКУРСА ПО МОДЕЛИРОВАНИЮ

24.12.2020
Выполнено: пресс-службой СКОРИСТА

СКОРИСТА приняла участие в конкурсе Китая по моделированию “2020 Xiamen International Bank Digital Finance Cup Marketing Modeling Contest”. По итогу первого этапа Скориста заняла 126 место (см. Рис. 1).  В этой статье мы расскажем подробнее, какая задача стояла перед нашими математиками, и как они подошли к её решению.

 

                                                                                                    Рис. 1

Актуальность и задачи конкурса

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

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

Данные

1) Общий обзор данных. Данные разделены на два набора данных, x_train.rar, y_train.rar и x_test.rar, где x_train.rar содержит характеристики обучающего набора, а  y_train.rar является целевой переменной в обучающей выборке. Обучающий набор состоит из двух выборок данных за 2 квартала. x_test.rar  - это характеристики тестового набора, переменные характеристик согласуются с обучающим набором. Цель моделирования состоит в том, чтобы обучить модель в соответствии с обучающим набором и предсказать тестовый набор. 

2) Описание таблицы и полей данных. Обучающий набор состоит в основном из выборочных данных за 3-й и 4-й кварталы, а тестовый набор-из выборочных данных за 1-й квартал. 

а) aum_m (Y) представляет данные об активах на конец месяца за месяц Y 

Поле  

Значение  

cust_no 

Уникальный id пользователя 

X1 

Баланс структурированного депозита на конец месяца 

X2 

Остаток срочных депозитов на конец месяца 

X3 

Остаток на текущем счете на конец месяца 

X4 

Остаток финансов на конец месяца 

X5 

Остаток денежных средств на конец месяца 

X6 

Баланс по управлению активами на конец месяца 

X7 

Остаток по кредиту на конец месяца 

X8 

Остаток депозитного сертификата на конец месяца 

b) behavior_m (Y) представляет данные о поведении за месяц Y 

Поле  

Значение

cust_no 

Уникальный id пользователя 

B1 

Количество входа в мобильный банкинг, онлайн-банкинг за Y-месяц 

B2 

Количество ежемесячных поступлений за Y-месяц 

B3 

сумма поступлений за Y-месяц 

B4 

Количество ежемесячных переводов за Y-месяц 

B5 

Сумма переводов за Y-месяц 

В6 

Самое последнее время транзакции только за март, июнь, сентябрь и декабрь 

B7 

Количество действий по счету за квартал, только за март, июнь, сентябрь и декабрь 

 

c) big_event_Q (Z) представляет важные исторические данные клиента за квартал Z 

Поле  

Значение

cust_no 

Уникальный id пользователя 

E1 

Дата открытия счета 

E2 

Дата открытия счета в онлайн-банке 

E3 

Дата открытия счета мобильного приложения 

E4 

Дата первой регистрации интернет-банка 

E5 

Дата первого входа в мобильное приложение 

E6 

Дата первого активного  бессрочного депозита 

E7 

Дата начала действия первого срочного вклада 

E8 

Дата первого кредита 

E9 

Первый дата просрочки 

E10 

Дата первой финансовой операции  

E11 

Дата первого перевода между личным банковским счетом и фондовым счетом компании по ценным бумагам (Bank-Securities Account Transfer) 

E12 

Дата первого перевода на стойке 

E13 

Дата первого перевода по интернет-банку 

E14 

Дата первого перевода по мобильному приложению 

E15 

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

E16 

Дата перевода на другой банк максимальной суммы 

E17 

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

E18 

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

d) cunkuan_m (Y) представляет данные депозита за Y-й месяц

Поле  

Значение

cust_no 

Уникальный id пользователя 

C1 

Сумма продуктов на депозите в текущем месяце 

C2 

Кол-во продуктов на депозите в текущем месяце 

 

e) cust_avli _Q (Z) представляет действующих клиентов для квартала Z, только cust_no 

f) cust_info_q (Z) представляет информацию о клиенте за квартал Z 

Поле  

Значение

cust_no 

Уникальный id пользователя 

I1 

Пол 

I2 

Возраст 

I3 

Уровень клиента 

I4 

Метка персонала банка 

I5 

Описание карьеры 

I6 

Метка клиента банковского кредита 

I7 

Количество продуктов банка 

I8 

Астрологическое описание 

I9 

Вклад клиента 

I10 

Описание академической истории 

I11 

Годовой доход семьи 

I12 

Описание отрасли 

I13 

Описание статуса брака 

I14 

Описание работы 

I15 

Метка QR-кода клиента из квитанции 

I16 

Метка vip клиента 

I17 

Метка клиента интернет-банка 

I18 

Метка клиента мобильного банкинга 

I19 

Клиент смс  

I20 

Метка клиента с оплатой Вичат 

Ранжирование результатов начального этапа определялось на основе значения Каппа тестовой группы. 

Описание решения команды СКОРИСТА

Одной из самых главных задач машинного обучения является создание переменных, на основании которых будут обучены модели. Изначально были даны очень разнородные данные: социальные (пол, возраст и т.д.), данные о финансовых аспектах (деньги на счетах, кредиты и т.д.), данные об активности клиентов (даты и количество переводов, других действий). Из более 1000 построенных переменных нами было выбрано около 200 для дальнейшего построения модели.

Задача соревнования не подразумевает точной интерпретации итоговой модели, поэтому использование логистической регрессии было необязательно. Тем не менее, несколько попыток были направлены на проверку логистической регрессии. Итоговая оценка модели, построенной на базе логистической регрессии – около 0.4 Каппа, что является достаточно высоким показателем для моделей, которые применяются в реальных условиях (точность составляет около 0.7). Однако, для соревнования, необходимо было использовать другие методы (см. Рис.2). 

Описание модели

Каппа

1

Лучшая интерпретируемая модель (на основе логрегрессии)

0,40

2

Лучшая одиночная модель градиентного бустинга (на основе CatBoost), без калибровки по классам

0,42

3

Лучшая одиночная модель градиентного бустинга (на основе CatBoost), с калибровкой по классам

0,46

4

Лучший ансамбль (6 моделей градиентного бустинга), без калибровки по классам

0,43

5

Лучший ансамбль (6 моделей градиентного бустинга), с калибровкой по классам

0,47

                                        Рис.2 Оценка наших моделей

Так как данные неоднородны, то были выбраны модели, основанные на градиентном бустинге. Такие модели интерпретируемы только на качественном уровне посредством различных библиотек, типа shap, поэтому не используются в реальных задачах, где нужно строго интерпретировать модели (например, в кредитном скоринге). Итоговая модель была построена следующим образом: вероятности классов построенных 6 моделей на основе разных типов градиентного бустинга (CatBoost, XGBoost, LightGBM) были перемножены и откалиброваны на основе распределения по классам в исходных данных, что дало Каппу 0.47 (см. Рис.2).

Для нашей команды это был новый и полезный опыт анализа и решения нестандартной для нас задачи. Вы также можете скачать данные конкурса и попробовать сами решить данное задание. Желаем успехов!

 

Дополнительные материалы:

Targets y_train_3
x_test
x_train