Рано или поздно у любого банка появляется желание выдавать кредиты: максимально быстро, эффективно и с контролируемыми рисками. Для этой задачи нужна развитая система риск-менеджмента и как важная часть системы — модель кредитного скоринга. В статье речь пойдет о том, как это всё устроено в Точке.

Мы рассмотрим весь процесс разработки модели: от сбора источников до финализации.

Про модель и модули


Вероятность дефолта или Probability of Default — это ключевой фактор оценки кредитоспособности компании. Также это основная информация для расчета ключевых метрик риска, в том числе, ожидаемого убытка Expected Loss.

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

Модель PD оценивает вероятность дефолта у заемщика в течение определенного периода от даты скоринга. В Точке мы берем 1 год. В качестве даты дефолта выбрали дату начала просроченной задолженности, которая переросла в просрочку 90+ дней. Целевая переменная является бинарной. Она сигнализирует о том, что банк в течение одного года с момента скоринга выдал кредит, который привел к дефолту.

В Точке целевой сегмент модели — малый и средний бизнес: компании с выручкой от 0 до 800 000 000 рублей и индивидуальные предприниматели.

Для точной и всесторонней оценки кредитного качества компаний и ИП модель включает в себя факторы из различных источников, в том числе:
  • открытые данные;
  • данные, доступные по согласию от клиента;
  • внутренние данные Банка.

Всего мы разработали 8 моделей: они применяются в зависимости от сегмента заемщика, наличия данных и этапа принятия кредитного решения. У нас в Точке как минимум две модели анализируют заемщика перед выдачей финансирования. Как правило, это модель предварительного скоринга на открытых данных — чтобы отсечь самые невалидные заявки — и модель финального скоринга: наиболее точная, но требующая дорогих и недоступных без прямого согласия клиента источников данных.

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



Большое количество модулей позволяет всесторонне рассмотреть заемщика и увеличить предсказательную силу по сравнению с традиционными моделями (которые учитывают в основном финансовые данные и ЕГРЮЛ), так как:
  1. Содержат информацию, которая является более специфической. Например, данные по размеру и количеству судебных исков позволяют точнее учесть устойчивость компании; транзакционные данные могут помочь с оценкой денежного потока и предсказать годовую выручку.
  2. Являются более актуальными по сравнению с традиционными источниками информации за счет более частого обновления.

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

Типы и источники данных


Источники данных:


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

При финальном отборе источника принимались во внимание следующие факторы:





Так что же делает нашу модель самой большой на рынке? Стоит признать, достоверно это неизвестно, ведь такая информация обычно является закрытой, но мы, по крайней мере, уверены, что модель является одной из крупнейших. Ведь, помимо вышеуказанного набора источников, она обучена на гигантском количестве наблюдений: более 1 000 000 по 420 000 уникальным компаниям, включая более 34 000 дефолтных наблюдений. Такой огромный объем обеспечен разработкой внутри контура песочницы крупнейшего кредитного бюро на полностью анонимизированных данных.

Обработка данных


Для целей разработки модели по итогам агрегации публичных данных о компаниях была произведена обработка данных.

Этапы процесса:




На этом шаге улучшили качество данных и избавились от явных ошибок.

Формирование выборки


Выборка для разработки и валидации состоит из наблюдений за 2015-2020 годы: мы охватили пиковые значения кризисов и периоды восстановления и роста экономики. Качественных данных по большинству источников до 2015 года не так много, поэтому ограничились этим периодом. Когорты составляются поквартально (перекрывающиеся когорты) с начала 2015 года по третий квартал 2020 года. Использование квартальных когорт при скоринге на год вперед позволило увеличить количество дефолтных наблюдений в выборке. В этом случае сохраняется уникальность наблюдений за счет источников данных, меняющихся чаще раза в год (по сути, всех, кроме ЕГРЮЛа и годовой финансовой отчетности).

Выборку мы разбили на две: для разработки и для валидации. Сделали это путем деления out-of-time и out-of-sample: 75% и 25% соответственно при сохранении индекса PSI по ряду качественных показателей: ОКВЭД, регион, возраст.

А вот шаги формирования выборки:
  1. Выделение целевых сегментов по годовой выручке: компании с выручкой от 0 до 800 000 000 рублей и индивидуальные предприниматели;
  2. Выделение целевых отраслей: в рамках составления выборки для разработки мы ориентировались на распределение ОКВЭДов среди всех зарегистрированных компаний;
  3. Выделение целевых сегментов по возрасту бизнеса: редактируем выборку для разработки, чтобы в нее входили компании разного возраста;
  4. Фильтрация выборки по факту банкротства и дефолтов на дату скоринга:
    1. удаление наблюдений с фактом банкротства до даты скоринга;
    2. удаление компаний, имеющих просроченную задолженность на дату скоринга;
    3. удаление компаний, имеющих просроченную задолженность 90+ в течение года до даты скоринга;
    4. удаление компаний с фактом банкротства в течение 1,5 лет после даты скоринга, но без дефолтов.

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


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

А вот порядок, по которому мы уменьшали количество факторов в списках:
  1. Первичная генерация факторов. Несколько сотен или тысяч изначальных факторов: количество зависело от модуля и источника данных.
  2. Первичный отбор. От 20 до 30 штук после проведения Single Factor Analysis (SFA).
  3. Финальный отбор. От 5 до 10 финальных после проведения Multiple Factor Analysis (MFA).

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

Рассмотрим этап первичной генерации факторов на примере модуля годовой финансовой отчетности. Для финансов использовался 2 квартал — это дата появления отчетности в открытых источниках. При составлении списка факторов учитывалась доступность и актуальность данных на дату отчетности.

Опирались на следующий алгоритм:
  1. Финансовая отчётность за год X считается доступной для когорт с датой начала после сентября года X+1. Например, финансовая отчётность за 2016 год и основанные на ней факторы будут использованы для когорт, начиная с сентября 2017 года и позже;
  2. Если на дату начала когорты доступны показатели из финансовых отчетностей за различные отчетные периоды, то используется финансовая отчетность за последний доступный на дату когорты отчетный период;
  3. При формировании факторов финансовых показателей исключается использование неактуальных на дату когорты финансовых отчетностей. Неактуальной называется отчетность, которая удовлетворяет одно из двух условий:
    1. Для когорт, начиная с сентября года х неактуальной называется отчетность за отчетные годы х-3 и ранее.
    2. Для когорт до сентября года х неактуальной называется отчетность за отчетные годы х-4 и ранее.

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

Single Factor Analysis


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



На оси X выборка отранжирована в соответствии со значениями факторов от минимального к максимальному. Ось Y показывает процент «плохих» (с дефолтами) клиентов на каждый процент полного образца на оси Х.

Следовательно, если фактор хорошо различает «плохих» и «хороших» (без дефолтов) клиентов, первоначальная крутизна кривой будет достаточно большой, поскольку большое количество плохих находится в низших значениях фактора. И, наоборот, фактор, не имеющий предсказательной силы, представлен на графике линией, обозначенной «случайная модель». Эта случайная модель отображает фактор, который не способен ранжировать клиентов от «плохих» к «хорошим». Например, при оценке первых 50% выборки окажется, что среди них находятся только 50% «плохих» клиентов.

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

Также оценивалась стабильность фактора по временным когортам. Наиболее неустойчивые факторы удалялись из модели. Для каждого квартала считался Gini модели на валидационной выборке. По полученному списку значений Gini считалось стандартное отклонение. Топ 10% факторов с самым высоким стандартным отклонением убирались из дальнейшей разработки.

Факторы, прошедшие порог по предсказательной силе и стабильности, отбирались для дальнейшего этапа анализа.

Multiple Factor Analysis


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

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

А вот как построен процесс SHAP:



Оптимальные параметры и финализация модели


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

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

Weight of Evidence (WoE) показывает предсказательную силу независимой переменной по отношению к зависимой переменной. Поскольку WoE возник из мира кредитного скоринга, его обычно описывают как меру разделения на «хороших» и «плохих» клиентов. «Плохие клиенты» — это те, которые не выполнили свои обязательства по кредиту. «Хорошие клиенты» — те, которые выплатили кредит.

Формула для расчета WoE представлена ниже:


Оптимальные параметры модели определялись на основе следующих критериев:
  1. предсказательная сила модели;
  2. количество факторов, имеющих низкую значимость;
  3. изменение предсказательной силы модели при валидации. Валидация проводилась out-of-time out-of-sample;
  4. количество значимых факторов и их суммарное влияние на результаты модуля.

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

После фиксации финальных параметров модели все значимые переменные тестировались на значимость влияния на основе трех выборок: выборка для разработки, выборка для валидации in-sample, выборка для валидации out-of-sample.

Калибровка


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

Пример такой калибровки:



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

В связи с этим в данной модели используется два типа калибровки:
  • Калибровка Through-the-cycle (TTC), нацеленная на определение долгосрочной вероятности дефолта (средней за экономический цикл) клиента;
  • Калибровка Point-in-time (PIT), нацеленная на предсказание вероятности дефолта при текущих макроэкономических условиях.



Один из ключевых параметров калибровки — средний уровень вероятности дефолта, на который настраивается модель. В случае калибровки TTC средний уровень вероятности дефолта настраивался на оцененное значение Центральной тенденции. Центральную тенденцию считаем как среднее арифметическое от наблюдаемых долей дефолтов за период с 2015 по 2020 год. Для калибровки PIT средний уровень дефолта настраивался на наблюдаемую долю дефолтов за последние 12 месяцев: с мая 2019 по апрель 2020.

Калибровочная кривая


Перевод баллов в вероятность дефолта производился при помощи калибровочной функции. Она определяется следующей формулой:


  • α и β — коэффициенты калибровочной функции;
  • i — номер наблюдения в выборке;
  • PDi — оценка вероятности дефолта для наблюдения i;
  • Scorei — балл наблюдения i.

β отражает ранжирующую силу откалиброванной модели, в то время как α связана со средним уровнем дефолта, на который настраивалась модель.

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

Данная процедура учитывала следующие ограничения:
  • Соответствие среднего значения оценок вероятностей дефолта целевому значению: центральной тенденции для калибровки TTC или среднему уровню дефолтов за последние 12 месяцев для калибровки PIT;
  • Предсказательная сила (Gini) полученных значений PD должна соответствовать предсказательной силе рассчитанных скоринговых балов.

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


При учете следующих ограничений:


  • i — номер наблюдения в выборке;
  • n — количество наблюдений в выборке;
  • PDi — оценка вероятности дефолта для наблюдения i, рассчитываемая по приведенной выше формуле;
  • DFi — наблюдаемое значение дефолта для наблюдения i;
  • α, β — параметры калибровочной кривой, описанные выше;
  • PD_target — целевое значение средней вероятности дефолта;
  • Gini_PD — предсказательная сила (Gini) полученных значений вероятности дефолта;
  • Gini_score — предсказательная сила (Gini) баллов до калибровки.

Ниже приведен пример результатов калибровки:



Валидация и тестирование модели


Цель валидации — оценить качество работы модели на данных, которые не использовали на этапе разработки. А вот как мы построили процесс валидации.

Процесс валидации



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

Итоги


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

Комментарии (1)


  1. Anyothernick
    03.11.2022 11:29

    Условие Gini(PD)==Gini(Score) избыточно. Калибровочное преобразование сохраняет ранжирование. Если вы не вводите калибровочные веса естественно.