Спрашивать о зарплате — неприличный вопрос. Конечно, если вас не спросили об этом на Патриках ?. Прогнозирование доходов клиентов — это одна из ключевых задач, стоящих перед современными финансовыми учреждениями. Оно не просто помогает в оптимизации внутренних процессов, но и играет важную роль в улучшении клиентского опыта. Поэтому, даже если бы мы были на Патриках, то не доверяли бы утверждениям из уст опрашиваемых.
Для этого у нас есть модели.
Давайте посмотрим на основные задачи определения дохода:
Оптимизация кредитного лимита. Для обеспечения баланса между рисками и возможностями банк должен точно знать уровень дохода клиента. Слишком низкий кредитный лимит может отпугнуть клиента, тогда как избыточное кредитование увеличивает риск дефолта. Здесь важно найти золотую середину.
Контроль кредитной нагрузки. Соблюдение требований Центрального Банка по предельной кредитной нагрузке помогает банкам не только управлять рисками, но и избегать возможных санкций. Кроме того, это улучшает клиентский опыт, предлагая продукты, которые соответствуют реальным финансовым возможностям заемщиков.
Таргетированные предложения. Разделение клиентов на сегменты в зависимости от уровня их дохода позволяет банкам предлагать персонализированные финансовые решения. Клиенты с высоким доходом могут быть заинтересованы в премиальных продуктах, таких как инвестиционные счета или премиальные карты, тогда как клиенты с низким доходом предпочтут более экономичные продукты.
Задача оценки дохода стара как мир. Посмотрим как её решали наши «предки», которые стояли у истоков моделей оценки дохода.
История развития подходов в оценке дохода
Этап 1: Анкетирование и самооценка
Период: до 2000-х годов.
Описание: первоначально банки полагались на классические методы сбора информации, например, заполнение клиентами анкет с указанием дохода, трудоустройства, семейного положения. Эти данные использовались для оценки кредитоспособности.
Верификация была минимальной, что создавало риски мошенничества и ошибок.
Проблемы:
Высокий уровень субъективности и недостоверности данных.
Слабый контроль над сокрытием доходов или указанием заниженной информации.
Ограниченная возможность персонализации предложений.
Этап 2: Системы скоринга на основе правил
Период: 2000-е — начало 2010-х годов.
Описание: с развитием банковских технологий начали внедряться автоматизированные скоринговые системы, основанные на правилах и простых математических моделях. Эти системы учитывали не только заявленные данные, но и информацию о транзакциях клиента и его кредитной истории.
Ключевые технологии:
Логистическая регрессия.
Деревья принятия решений.
Проблемы:
Ограниченная гибкость моделей.
Низкая адаптивность к изменениям в финансовом поведении клиентов.
Проблемы с обработкой больших объемов данных.
Этап 3: Переход к машинному обучению и big data
Период: середина 2010-х годов — настоящее время.
Описание: с развитием технологий обработки больших данных и вычислительных мощностей банки перешли на использование моделей машинного обучения (ML). Эти модели способны обрабатывать разнородные данные: транзакции, поведение клиента в онлайн-банкинге, геолокацию, данные социальных сетей и другие источники.
Ключевые технологии:
Градиентный бустинг (XGBoost, LightGBM).
Нейронные сети и глубокое обучение.
Натуральный язык обработки (NLP) для анализа комментариев и отзывов клиентов.
Преимущества:
Высокая точность предсказаний.
Гибкость и адаптивность моделей.
Внедрение real-time-решений для моментальной оценки.
Возвращаемся в настоящее, нанимаем дорогих дата-сайентистов с белой костью и ещё более дорогих тимлидов и планируем разработку модели оценки дохода.
С чего начать?
Чтобы приступить к моделированию, стоит определиться с разметкой (кто бы мог подумать!). Уже на этом этапе могут возникнуть трудности.
Доход в заявке.
Можно попросить клиента в заявке указать свой доход, но помним, что это не прилично, да и клиенты могут использовать это поле как управляемый параметр ?.
К тому же набранная таким способом разметка может прекратить существование (неприличный сервис стал приличным), и тогда обновить модель на свежих данных будет сложно. Учитывая, что запрос справки характерен для определённых кредитных продуктов, выборка будет смещённой, и применить модель на ипотеке, которая обучена на справках для кредитной карты, будет проблемой.
Справка о доходах.
Не самый популярный вариант — попросить предоставить справку 2-НДФЛ. Обычно такая просьба связана с повышенным риском, и ваша размеченная выборка получится снова смещённой.
Зарплатный проект.
Здесь мало того, что смещённая выборка, так ещё и смещена не там, где надо: зарплатный сегмент, как правило, активный, будет много данных, и модель получится хорошая. Только вот за пределами «зарплатников», где как раз мы и хотим определять точнее, всё будет плохо.
Вот был бы сервис, который позволит получить информацию аналогичную справке 2-НДФЛ и при этом Банк сможет собирать данные в режиме онлайн?
А, вот же он…
Цифровой профиль
Как пишут на официальной странице:
«Цифровой профиль — это сервис, который позволяет финансовым организациям получать информацию о своих клиентах из государственных информационных систем и предоставлять им услуги без бумажных документов. При этом передача сведений происходит исключительно с согласия клиента, что делает сервис надежным, удобным и безопасным»
Открываем дверь ключом «согласие клиента» и попадаем в рай аналитика данных. Вот тебе электронная трудовая (is_director)
, вот начисления в социальный фонд, по которым без труда восстанавливается белая зарплата, а вот авто в собственности, категории прав, налоговая и прочее. На этом поле можно собрать таргетов для разметки выборки.
Годные данные заряжены — самое время определить метрики, по которым будем определять степень успешного успеха. Читателю с глубоким опытом построения регрессионных моделей рекомендую принять «антибаян» для следующего раздела.
Метрики качества
Для оценки качества моделей прогнозирования доходов банковских клиентов традиционно используются различные метрики точности, которые помогают измерить, насколько предсказания модели близки к фактическим значениям доходов. Среди них наиболее популярными являются:
MAPE (Mean Absolute Percentage Error) — средняя абсолютная процентная ошибка. Одна из самых популярных метрик в бизнесе, так как интуитивно понятна — выражает среднюю ошибку прогноза в процентах относительно истинного значения. Однако MAPE имеет один важный недостаток: при нулевых или близких к нулю значениях дохода она может стремиться к бесконечности или искажать восприятие ошибки.
SMAPE (Symmetric Mean Absolute Percentage Error) — симметричная версия MAPE. Снижает чувствительность к малым значениям и делает метрику более устойчивой при работе с малыми доходами.
RMSE (Root Mean Squared Error) — корень среднеквадратичной ошибки. Одна из классических метрик для регрессии. RMSE сильно штрафует за крупные ошибки, что делает его полезным для анализа работы модели в сегментах с высокими доходами, где ошибки могут быть особенно критичны.
MAE (Mean Absolute Error) — средняя абсолютная ошибка. Хорошо подходит для интуитивного понимания ошибок, не учитывая направление отклонения. MAE можно использовать для анализа стабильности модели в среднем сегменте.
Все эти метрики необходимо рассматривать в совокупности для более полного анализа модели. Например, низкий MAPE, но высокий RMSE может указывать на то, что модель работает хорошо на большинстве данных, но иногда допускает серьёзные ошибки.
Как известно, регрессионные модели склонны усреднять прогнозы. Если ещё сильно штрафовать за большие ошибки, то качество прогнозов на «хвостах» распределения будет снижаться.
Ограничимся относительной метрикой, которая будет понятна бизнесу – MAPE.
Ну и не забываем о народной забаве «Ну и сколько по мне модель прогнозирует?». По реакции испытуемых коллег разного ранга понимаем, что в сегменте высокого дохода ещё нужно поработать либо порадоваться за достойную оплату достойного человека:).
В последней версии нашей модели мы сделали сводную таблицу прогнозов и с каждой новой версией доход коллег увеличивался:). Метод математически не обоснован, но воодушевляет на 100%.
Проверяем чек-лист запуска «старшип»:
Бюджеты выделили — ✔️.
Данные собраны — ✔️.
Метрики определили — ✔️.
Пора переходить к самому «вкусному».
Моделирование
№1. Классика (catboostregressor).
Наиболее распространенный подход — это использование бустинговой регрессии. Она хорошо работает на средней части распределения доходов, но часто допускает ошибки на хвостах.
№2. Классификатор —> регрессии на основе решения классификатора.
Что, если нам сфокусироваться на высокодоходном сегменте и создать классификатор: высокий доход отделить от всех остальных? Его прогноз мы можем использовать как фичу в регрессоре либо учить две регрессии на основе его решения.
В среднем мы получаем график, который не оправдывает ожиданий. В выборке недостаточно сверхвысоких доходов: хотя нам удалось достичь 94 Gini для категории «очень высоких» доходов. Таких наблюдений слишком мало.
Помимо этого, на классификатор ложится большая ответственность, и если он ошибается, ошибка множится: определяем как низкодоходный сегмент и регрессия не выдаст высокого прогноза. В итоге классификатор ошибается в 20-25% случаев, что значительно увеличивает общую погрешность. Модель с классификатором не удовлетворяла высоким требованиям к качеству по сегментам.
№3. Каскад регрессий на основе нескольких классификаторов
Следующим подходом к решению может быть обучение каскада регрессий на основе решений четырёх классификаторов.
Этот метод сочетает преимущества классификаторов и регрессий. Сначала классификатор определяет принадлежность клиента к определенной группе доходов, после чего для каждой группы обучается отдельная регрессия. Это позволяет моделям фокусироваться на специфических особенностях каждого сегмента. Но при этом мы делим обучающую выборку на дополнительные составляющие для классификации и регрессии, что уменьшает мощность решения в целом. К тому же у нас есть некоторые трудности с обогащением фичами более «старых» наблюдений.
Преимущества |
Недостатки |
Улучшает точность в специфических сегментах, таких как высокодоходные клиенты. |
Требует тщательного подбора порогов и регулярной перенастройки моделей. |
Разделение задач классификации и регрессии помогает снижать ошибки. |
Ошибки на этапе классификации могут значительно ухудшить результат. |
Пограничные доходы создают высокую ошибку: недопрогноз или перепрогноз. |
Для снижения последствий ошибок классификатора мы пробовали размывать границы с помощью регрессии: чем ближе предсказанное значение к порогу, тем меньше вклад модели из этой категории.
Но здесь мы умножаем ошибку классификатора на ошибку первой регрессии и ещё на ошибку третьей модели. Соответственно получаем 0.5% клиентов в каждом бакете дохода с ошибкой MAPE 80-1000%.
На нашей выборке лучший результат показал вариант каскада регрессий, сегментированный по блокам наличия данных.
С чем сравнить?
Базовое решение поможет приземлить нашу метрику качества и понять, насколько мы улучшаемся с новыми экспериментами не от нуля. Хочется не только быть лучше среднего, но и иметь более амбициозные цели качеству модели.
Когда у вас модель обновляется каждый месяц и создавая восьмую версию, очевидно, нужно улучшиться относительно седьмой версии по качеству. Но что, если первая версия? В таком случае, например, можно сравниться с немодельными расчётами — средними доходами по регионам из Росстата. Если есть должность, можно маппинг сделать и получить средний доход главного бухгалтера в Нижнем Новгороде или Ruby on Rails-разработчика на Ямале. Такие простые подходы модели должны хорошо бить.
Где ждут драконы?
Моделирование доходов клиентов с высокими доходами может быть затруднено из-за неоднородности их поведения. Вот несколько стратегий:
Сегментация данных.
Клиенты с высокими доходами могут иметь отличные поведенческие паттерны, поэтому разумно обучать отдельные модели для разных сегментов дохода. Например, для клиентов с доходом выше определённого порога можно применять более сложные модели, способные учесть дополнительные факторы (инвестиционные активности, владение активами и пр.).
Обработка выбросов.
Анализируя ошибки в хвостах, мы можем наблюдать странные вещи: несоизмеримые расходы с «подтвержденным» доходом и, наоборот, минимальные движения по счету и внушительная зарплата. Здесь возникает классическая задача поиска аномалий.
Но нас интересуют кейсы с занижением дохода. Это может быть следствием серых доходов, что для нашей выборки приводит к недопрогнозу. В нашем случае лучшим оказалось единогласное решение о детектировании аномалии таргета разных по природе методов.
Доходы менее прожиточного минимума тоже стоит исключить, если предыдущие механики это не сделали – это могут быть технические ошибки сбора сведений.
Следующая проблема, которая может возникнуть при разборе ошибок — неравномерное заполнение фичей по блокам данных.
Там, где есть транзакционная активность или согласие по цифровому профилю, всё хорошо. В сегментах, где давно не было запроса БКИ и клиент «спящий», – ошибка кратно растёт. Внешние данные по таким сегментам могут решить проблему.
После того как внутренние источники исчерпаны, самое время пощупать внешние.
И вот в очередной итерации замера аплифтов нового источника замечаем, что в топе внешнего источника — геофичи. Это подталкивает на мысль, что имеющиеся данные по регионам проживания могут устареть, да и точности не хватает (внутри крупных городов довольно сильный разброс). Пробуем сгенерировать признаки, характеризующие область на карте (гексагон) приоритетного нахождения клиента (дом/работа) на основе внутренних данных.
По внешним источникам данных рождается ещё целый ряд ad hoc задач по определению оптимального сегмента для покупки внешних данных, поскольку аплифт от этих данных может сильно отличаться:
например, активный клиент Банка;
есть согласие на цифровой профиль;
бурная история по бюро кредитных историй.
По такому клиенту уже хороший прогноз и его довольно сложно улучшить. Другое дело, когда про клиента Банк «мало знает», здесь ценность внешних данных будет выше.
Ещё одно разочарование вас может ожидать при сравнении модельного подхода с существующим решением на процессе.
Более точная модель может быть ближе к реальности, чем средние статистики по региону, и доходы по клиентам будут «ниже» прежних. В такой ситуации нужны дополнительные исследования чтобы убедить бизнес, что продажи не «рухнут».
Заключение
После того как все грабли обошли, наступает замечательное время пилотирования обновлений модели. Скажи мне, сколько стоит твоя ошибка, и я скажу, насколько крутые у тебя проекты. В нашем случае модель дохода оказалась высокодоходной, особенно при улучшении качества в сегменте премиум. Существенный вклад в улучшение дали данные из цифрового профиля.
Подводя итоги, можно сказать, что модель прогнозирования доходов клиентов может быть чувствительной к изменениям в экономике, регуляторным требованиям или внутренним процессам банка. Чтобы минимизировать деградацию модели, необходимо внедрять автоматизированные системы мониторинга качества, регулярно обновлять данные и учитывать внешние источники информации.
Непрерывная работа с внешними данными, такими как данные цифрового профиля, и инжиниринг новых признаков могут помочь повысить точность предсказаний и устойчивость модели к изменениям.
Тесное взаимодействие между командами MLOps, Data Engineering и Data Science позволит обеспечивать стабильное качество модели и оперативно адаптироваться к изменениям в окружающей среде.
Может быть интересно:
Комментарии (7)
Goron_Dekar
04.12.2024 07:16Спрашивать о зарплате - прилично.
Попытки сделать из зарплаты интимную тайну и навести дополнительную тень в итак не очень прозрачных отношениях между людьми - это грязные манипуляции.
dima406 Автор
04.12.2024 07:16Кредиты берут там, где меньше задают вопросов, при прочих равных. Можете заметить, что в мобильном приложении уже мало кто просит анкету заполнить, а уже отображают доступный лимит. Так удобнее для клиента. Даже если Банк будет всех опрашивать, то верить всем будет дорого, поскольку нет гарантий переоценки клиентом своих возможностей и возникают риски дефолтов.
CrazyElf
04.12.2024 07:16Да сейчас вообще банку проще запросить у клиента разрешение на доступ к его данным в БКИ и на его персональные данные на Госуслугах. И клиенту не сильно напряжно - заполнять самому ничего не нужно, и у банка вся доступная информация без верю не верю. Хотя, конечно, остаются ещё клиенты с "серой" зарплатой, у таких реально только анкетой доход спрашивать.
SergeyKIT
04.12.2024 07:16Доступно и лаконично мне для ознакомления приятно было почитать. Спасибо за материал! Плюс однозначно. Хороший старт имхо.
CrazyElf
Собственно, точный доход вам же и не нужен, зачем вам устанавливать кредитный лимит с точностью до копейки? Разбить на полезные для бизнеса диапазоны и предсказывать диапазон. Подобрать ещё диапазоны сообразно имеющимся данным и получающемуся наилучшему качеству. Впрочем, кажется, у вас по сути как-то так и сделано в итоге, наверное.
dima406 Автор
Мы использовали относительную метрику mape. Например, недопрогноз 20% - это много или мало? Клиент, которому нужен условный миллион, увидев одобренные 800к откажется в пользу предложения с одобрением 100% желаемой суммы.
CrazyElf
Ну, такое. Если модель думает, что это уже на грани платёжеспособности клиента, то даже не знаю, что лучше - фактически отказать ему, или одобрить, но уже на грани риска дефолта. Модели бизнеса могут быть разные в плане стратегии риска.