Data Science & Soft Collection. Как упростить взаимодействие с клиентом

Привет, меня зовут Никита, я Data Scientist в банке ПУМБ. Я расскажу, как мы реализовали задачу Collection Scoring для направления взыскания кредитов при помощи машинного обучения, как перестали беспокоить клиентов лишний раз и какой эффект это дало. Статья будет интересна как Data Scientists, так и владельцам бизнеса Soft Collection.

Постановка задачи

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

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

Из этого вытекает, что портфель клиентов с ранней просрочкой в разрезе дат, выглядит таким образом:

Один оператор может обработать фиксированное количество клиентов за месяц (+/- % в зависимости от эффективности конкретного оператора).

В связи с этим возникают следующие проблема с выбором стратегии обработки портфеля:

  1. 100% загрузка операторов, но тогда возникает нехватка персонала на обработку пикового периода (min эффективность при min затратах на персонал).
  2. 100% обработка портфеля, но тогда возникает простой операторов во второй половине месяца (max эффективность при max затратах на персонал).

При обсуждении с бизнесом возникла идея: «Существуют люди, которые всегда опаздывают на встречи, при этом они это делают неосознанно. Уверены, что есть такие люди с кредитами. Они всегда платят на пару дней позже, при этом они не мошенники».

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

Таким образом, клиентов можно не прозванивать в течении определенного периода и заменить звонки на автоматически инструменты уведомления просрочки (sms, ivm) и более корректно распределить ресурсы операторов.

Данные

Как исторические данные бралась деперсонифицированная информация за 2018–2020 года и отфильтрованные пользователи кредитов, которые не попадали на шаг «звонок» для того, чтобы лучше определить заемщиков, которые могут совершить оплату без дополнительного инструмента влияния. Целевой переменной была оплата в первые дни задолженности включительно.

За основу мы брали:

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

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

Распределения train/test осуществлялось по датам входа в просрочку в соотношении 80 на 20.

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

Моделинг

Для решений проблемы мы использовали алгоритм Random Forest, поскольку он прост в использовании, его легко настроить в плане гиперпараметров. А еще он находит непрямые зависимости между признаками.

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

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

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

Как baseline мы использовали результаты старой стратегии, а именно соотношение клиентов должников (которым не звонили), что погасили просрочку в первые дни, к общему количеству клиентов (которым не звонили).

Так как при обучении модели работать с 1400 критериями клиента затруднительно, мы использовали технику permutation importance для выбора самых важных признаков. Она позволила нам с малейшей потерей в эффекте оставить всего 60 важных критериев заемщика, отсекая те фичи, которые не давали никакого value.

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

Процесс выявления важности признаков выглядит следующим образом:

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

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

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

При помощи этих методов, а именно permutation importance и correlated features, мы отсеяли основную массу неважных фичей и оставили всего 30 штук. Это ускорило процесс обучения, позволило сконцентрироваться на основных признаках и интерпретировать их для бизнеса.

Деплоймент

На production-среде модель работает следующим образом.

Ежедневно обновляется база с клиентами, которые просрочили свой ежемесячный платёж. После обновление, собираются деперсонифицированные данные с базы по клиентам, формируются признаки клиента и применяется обученная модель на реальных кейсах. Чтобы проверить точность модели, необходимо провести самопроверка при помощи А/Б теста.

Отбираются клиенты, которые не внесли ежемесячный платеж и которым предсказали погашения в первые дни просрочки, выборка делится случайным образом на два сегмента. Первый — это контрольная группа (20%), которой все равно будут поступать звонки, вторая (80%) — это те, кому нет необходимости звонить. Проводиться сравнение указанных сегментов, на предмет, чтобы между ними не было существенной разницы и мы были уверены в качестве выборки контрольного сегмента, который предсказываем. Эти активности отслеживает реализованный отчет на PowerBI.

При помощи всего вышеописанного нам удалось повысить конверсию по платящему сегменту на 20% и сэкономить значительную сумму денег.

Выводы

Таким образом, применение DataScience на задаче collection позитивно повлияла на экономию на звонках. Это только маленькая капля в большом озере процесса, которое мы оптимизировали при помощи модели.

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

👍НравитсяПонравилось9
В избранноеВ избранном1
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Лес решений по факту — целый зоопарк моделей. Неужели бизнес не попросил дать пояснение, как и почему выбран тот или иной признак, и как его изменение влияет на целевую переменную?

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

Добрый день! Сейчас есть ряд современных подходов, которые помогают интерпретировать различные модели, которые раньше казались black-box, в том числе и RandomForest. С их помощью мы можем рассмотреть и исследовать влиятельные признаки и показать каким именно образом они влияют на модель или прогноз

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

Подписаться на комментарии