Это краткое изложение проекта Crayon, выполненного для международного холдинга, работающего в сфере взыскания долгов.

Оглавление

Intro

Part I - Business overview
    Counterparties
    Debt lifecycle
    Challenges of Collection Agencies

Part II - Data Science applications
    Use-cases for Data Science
    ML tasks
    Data structure
    Classification task
    Dataset split
    Feature engineering
    Feature correlations

Part III - Recap
    Insights
    Infrastructure
    Takeaways
    Wrapping up

вступление

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

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

Контрагенты

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

Вместе с клиентом (или должником) они составляют план платежей, согласно которому кредит погашается ежемесячными платежами. Чаще всего все идет по этому плану, но это не тема нашего сегодняшнего поста.

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

Жизненный цикл долга

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

1. Regular payments in a bank
2. Past due events
3. Acquisition by a CA
4. Setting a payment plan
5. Scheduled interactions
6. Total repayment or legal stage

Эти шаги очевидны, но лишь пара замечаний. Шаги 4 и 5 требуют прямого взаимодействия между должником и агентством. Иногда связаться с клиентом не так просто, поэтому планы платежей устанавливаются автоматически.

В конце концов, у должника есть 2 пути: мировое погашение или судебный процесс. Первый - обычный способ, если должник следует плану. В противном случае последнее вступает в силу, и тут в дело вступает суд.

Проблемы центров сертификации

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

Мы сгруппировали эти проблемы в 3 столпа:

А. План оплаты

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

Еще одна важная вещь — скидки. В домене DC есть умные люди, и они понимают, что раз клиент раньше не платил банку, то у него могут быть проблемы с деньгами. В таком случае имеет смысл попросить их погасить не всю сумму долга по кредиту, а уменьшенную с дисконтом. Вопрос "насколько скидка"? Маленький не приведет ни к какому прогрессу с клиентом, а большой приведет к отрицательной прибыли. Есть некий оптимум, который переводит эту задачу в математическую область.

Все действия, выполняемые CA, стоят денег. Агентам приходится писать письма, звонить должникам, обновлять таблицы Excel и так далее. Все это представляет собой мировые издержки.

Б. Юридические аспекты

Наш партнер работает в разных странах с различными юридическими процедурами. В некоторых странах существует так называемый «бесконтактный» период, когда АС не разрешается связываться с должником. Обычно он длится 1 месяц, то есть все стратегические решения должны приниматься без непосредственного взаимодействия с вновь приобретенными должниками.

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

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

С. Технические проблемы

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

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

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

Варианты использования для науки о данных

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

1. Группировка должников по поведению

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

2. Прогнозирование денежных потоков

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

3. Лучшее взаимодействие

Должников в ЦС гораздо больше, чем сотрудников. Каждый агент должен еженедельно обзванивать сотни должников. Также может быть так, что не хватает рабочей силы, чтобы обзвонить всех должников с низким намерением следовать плану платежей. В этом случае мы должны сделать 2 вещи:

  • отдавайте предпочтение клиентам
  • оптимизировать время вызова коллекторских агентов

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

4. Оптимизация скидок

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

5. Предотвращение банкротства

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

задачи машинного обучения

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

  • Прогнозировать платежеспособность
  • Прогноз реструктуризации долга
  • Оценить суммы платежа

Первые две являются классификационными моделями. Они предсказывают, произойдет какое-то событие или нет. В частности, модель классификации выводит вероятность события.

Последняя модель является регрессионной. Мы прогнозируем точную стоимость будущего платежа.

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

Эти 3 модели имеют следующие выходные данные или прогнозы:

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

Структура данных

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

Существует 3 типа объектов данных:

1. Информация о долгах и должниках

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

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

2. Данные о взаимодействии

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

3. Целевые действия

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

Задача классификации

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

1. Показатели

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

Мой основной показатель — AUC (площадь под кривой). После получения достаточного AUC я уверен, что задача в целом поддается обучению. Это означает, что мы уже могли подумать о том, что предпочтительнее в известном компромиссе «точность-отзыв». Возможный способ здесь — обратиться к заинтересованным сторонам и спросить их, какой тип ошибки (I или II) обходится бизнесу дороже. После этого мы могли бы оптимизировать для более высокой полноты или точности. Или иногда F1-score, если и то, и другое имеет для нас одинаковое значение.

2. Модели

В этом проекте мы использовали только хорошо зарекомендовавшие себя модели:

  • Логистическая регрессия (в качестве основы)
  • Случайный лес (как основная модель на протяжении всего проекта)
  • Gradient Boosting (для дальнейшего изучения и оптимизации)

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

Разделение набора данных

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

1. Репрезентативные данные

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

2. Завышение показателя

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

Функции [первоначальный долг, оплаченный 1 млн]остаются одинаковыми как в октябре 2021 г., так и в ноябре 2021 г. Функция текущая задолженность немного изменилась. Разделение набора данных на обучение и тестирование таким образом приведет к более высоким показателям, поскольку модели нужно будет меньше угадывать. Подобные ряды будут как в поезде, так и в тестовом сплите.

Чтобы избежать этого, мы использовали подход справа. Мы получаем данные от конкретного должника только один раз: либо в поезде, либо в тесте.

Метрики в этом случае ниже, но это более справедливо. Управление ожиданиями особенно важно в проектах по науке о данных.

Разработка функций

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

1. Нелинейность

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

2. Обработка звонков и электронных писем клиентов

Исходов звонков очень много. Это может быть «не дошло до клиента», «клиент пообещал заплатить через 2 месяца» или «клиент сказал, что сейчас не время для разговора».

После некоторого анализа мы решили разделить все эти взаимодействия на пару групп в зависимости от результата:

1. positive outcome
2. neutral outcome
3. negative outcome
4. NA/unknown

3. Агрегация событий

В необработанных данных одна строка представляет одно событие, но для моделирования нам нужно что-то более компактное:

«Группировка» превратила наши данные в различную статистику. Для любого заданного долга теперь мы можем иметь количество платежей за последние 3 месяца или средний платеж в целом.

Корреляции признаков

После описанных выше шагов мы получили множество взаимосвязанных функций:

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

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

Инсайты

Я думаю, нет смысла перечислять здесь окончательные метрики, параметры модели или наборы признаков. Они очень специфичны от проекта к проекту и не дадут вам намека на это. Но вот некоторые идеи, которые кажутся мне интересными и которыми стоит поделиться.

1. Платежеспособность

Выше мы говорили о разделении набора данных и чрезмерной недооценке метрики. Здесь я хотел бы показать, как это выглядит на практике. На примере модели «Склонность платить». Он предсказывает вероятность того, что должник произведет платеж в ближайшие N месяцев.

У каждого долга есть свой возраст. В течение 1-го месяца после приобретения (момент, когда у КД появилась задолженность) он равен 1, а затем продолжает расти. Например, через год после приобретения — 12.

Чтобы детально изучить данные, мы разделили их на разные части в зависимости от возраста долга. После этого мы применяем обычный подход «поезд-тест» для каждого шага независимо. В итоге у нас есть модельные метрики для разного возраста долгов:

На этом графике есть несколько хороших наблюдений.

Легче прогнозировать на более короткий временной горизонт

Чем короче наш временной горизонт для прогнозов — тем лучше метрики. Красная линия (прогноз на ближайший 1 месяц) почти всегда выше 2-х других (прогнозы на 3 и 6 месяцев вперед соответственно). Это согласуется со здравым смыслом, поскольку легче делать краткосрочные прогнозы, чем долгосрочные.

Метрика резко меняется во времени

Сразу после приобретения мы мало что знаем о долге и должнике, поэтому качество нашей модели довольно низкое (~ 0,67 AUC). Через 2 месяца мы уже получили содержательную информацию о поведении должников, и на ближайшие месяцы метрика увеличивается до 0,8–0,83. После того, как долг провел год в нашем портфеле, мы почти уверены в его будущем. Модель демонстрирует AUC около 0,95. Это очень хороший результат, но не ценный с точки зрения бизнеса. Если клиент не платит в течение года, большинство коллекторских агентств склонны отправить его на юридическую стадию.

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

2. Прогноз оплаты

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

Раньше я особо не заострял внимание на этой модели, потому что ее результаты весьма разочаровывают:

В данных есть некоторые выбросы: мы видим их в виде одиночных точек в левой части графика. Модель не могла соответствовать этому очень хорошо — некоторые из наиболее широко используемых метрик демонстрируют очень низкую прогностическую способность. MAE почти соответствует среднему целевому показателю, R в квадрате составляет всего 17%, а MAPE — 66%. В принципе, я бы не рекомендовал использовать эту модель в продакшене для прогнозирования суммы платежа.

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

Средний прогноз * количество долгов = общий сбор

Мы использовали этот подход несколько месяцев подряд и получили такой график:

В результате у нас есть инструмент для прогнозирования денежного потока на ближайшие месяцы — очень приятный «побочный» результат модели прогнозирования платежей.

Инфраструктура

Наконец, давайте кратко рассмотрим этот проект с инфраструктурной точки зрения. Он реализован в Azure и состоит из пары шагов.

  • Прием данных
  • Предварительная обработка данных
  • Обучение модели
  • Вывод

Этот рисунок (особое спасибо Sebastian Knigge за эту удивительную архитектуру решения) иллюстрирует это более подробно:

Фабрика данных Azure (ADF) — это инструмент оркестровки, который получает данные из локальной среды, выполняет некоторую предварительную обработку и сохраняет результаты в учетной записи хранения Azure.

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

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

Выводы

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

1. Машинное обучение может помочь

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

2. Стратегия — это важно

С самых первых шагов проекта необходимо согласование с заинтересованными сторонами. У них есть солидные знания предметной области, и они могут направить специалистов по данным в правильном направлении после некоторых презентаций EDA. Вы также должны найти общий язык в том, как вы собираетесь проверять результаты проекта. Будет ли это лучше текущего ручного базового уровня или полномасштабного AB-теста.

3. Качество данных

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

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

Подведение итогов

В заключение хочу поделиться своим видением успешного сетапа и мышления команды:

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

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