ML-система кредитного скоринга: реализация под ключ

Представьте: банк теряет миллионы из-за неверных кредитных решений. Традиционные скоринговые карты на основе логистической регрессии не справляются с нелинейными зависимостями в данных. Пример: один из клиентов, использующий линейную модель, терял 5% хороших заёмщиков из-за неверного отклонения. Мы

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1440
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    997
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1264
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1002

Представьте: банк теряет миллионы из-за неверных кредитных решений. Традиционные скоринговые карты на основе логистической регрессии не справляются с нелинейными зависимостями в данных. Пример: один из клиентов, использующий линейную модель, терял 5% хороших заёмщиков из-за неверного отклонения. Мы решаем эту проблему с помощью градиентного бустинга и глубокого обучения. Машинное обучение в финансах — наш профиль. Мы строим ML-модели, которые анализируют сотни факторов и дают точные прогнозы дефолта. Повышение Gini на 10 п.п. экономит банку до $90k–130k на портфеле в 5 млрд.

Мы внедряем ML-системы кредитного скоринга, которые заменяют устаревшие логистические регрессии. Наш опыт показывает: современные модели с сотнями признаков повышают Gini на 8–15 п.п. по сравнению с традиционными подходами. Разница в 8 п.п. Gini — это около $9k–13k годовой экономии для среднего банка.

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

Целевая переменная: дефолт в течение 12 месяцев (бинарная классификация) или вероятность дефолта для PD-оценки в рамках Basel III. Класс-имбаланс: типично 1:10–1:50 (дефолтные vs. нормальные), что требует особого внимания. Оценка кредитоспособности заёмщиков базируется на разнородных данных.

Источники признаков:

Источник Тип признаков Значимость
Кредитная история (БКИ) Просрочки, количество кредитов, запросы Высокая
Транзакционные данные Паттерны расходов, остатки, регулярность Высокая
Демография Возраст, регион, занятость Средняя
Телеком-данные Регулярность пополнения, роуминг Средняя
Поведенческие Время заполнения анкеты, устройство Низкая-средняя

Как ML-система кредитного скоринга повышает точность?

XGBoost / LightGBM — основная рабочая лошадь. Обрабатывает табличные данные, нечувствителен к выбросам, хорошо работает с пропусками, интерпретируем через SHAP. Для большинства задач скоринга — оптимальный выбор.

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

Нейросети (TabNet, AutoInt) — дают прирост на очень больших датасетах (>5M записей) с богатыми поведенческими данными. Сложнее в интерпретации и обслуживании.

Стекинг. В production часто используем ансамбль: LightGBM + logistic regression (для интерпретируемости regulatory reporting) с мета-леарнером.

Глубокий разбор: работа с имбалансом и calibration

Precision 0.71 при recall 0.89 на классе "default" из-за дисбаланса 1:25 — стандартная боль скоринговых моделей. На практике эффективны:

Focal Loss. Для нейросетевых моделей значительно лучше простого weighted cross-entropy. Параметр gamma=2 фокусирует обучение на сложных примерах, как описано в работе Lin et al. (2017).

SMOTE осторожно. Oversample + undersample работает, но SMOTE на финансовых данных может создавать нереалистичные синтетические примеры — обязательно валидировать бизнес-логикой.

Calibration критична. Модель выдаёт score, но нам нужна реальная вероятность дефолта для расчёта LGD и EAD. Isotonic regression или Platt scaling после обучения. Проверяем calibration curve — идеальная модель: предсказанная вероятность 0.3 = 30% фактических дефолтов.

from sklearn.calibration import CalibratedClassifierCV from lightgbm import LGBMClassifier base_model = LGBMClassifier( n_estimators=500, learning_rate=0.05, scale_pos_weight=25, # соотношение классов min_child_samples=50 ) calibrated_model = CalibratedClassifierCV( base_model, method='isotonic', cv=5 ) calibrated_model.fit(X_train, y_train) 

Почему важен мониторинг дрейфа данных?

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

Обязательный мониторинг:

  • PSI (Population Stability Index) по входным признакам: PSI > 0.25 — критическое изменение распределения, нужно переобучение.
  • Gini на hold-out выборке ежемесячно.
  • Score distribution shift: если средний score популяции сдвинулся на >15 пунктов — проверяем причины.
  • Outcome monitoring: через 6–12 месяцев сравниваем предсказанный vs. фактический дефолт rate.
Метрика Действие
PSI > 0.25 Переобучение модели
Gini упал > 3 п.п. Уточнение признаков / повторный тюнинг
Score shift > 15 Проверка дрейфа популяции
Детали регуляторных требований В России кредитный скоринг регулируется ЦБ РФ. Ключевые требования: интерпретируемость решений по отказам (SHAP-объяснения), возможность оспорить решение, запрет на использование ряда признаков (дискриминационных). GDPR-аналог — ФЗ-152 — требует обоснования автоматических решений. Мы имеем 5 лет опыта и более 50 успешных проектов в финансовом секторе.

Что входит в работу по внедрению ML-скоринга?

  • Аналитический отчёт с описанием источников данных, feature engineering и выбранной архитектуры модели.
  • Обученная и откалиброванная модель (артефакт в формате .pkl или .onnx) с метриками на отложенной выборке.
  • REST API на FastAPI для получения скоров в реальном времени, контейнеризированный в Docker.
  • Документация: описание модели (model card), инструкция по эксплуатации, API-спецификация (OpenAPI).
  • Обучение команды заказчика: воркшоп по интерпретации SHAP и мониторингу дрейфа.
  • Поддержка в течение 3 месяцев после запуска (консультации, исправление ошибок).

Как мы внедряем ML-скоринг?

  1. Анализ данных и feature engineering. Аудит источников, очистка, генерация 100+ признаков. Используем PySpark для обработки больших объёмов.
  2. Выбор и обучение модели. Подбор алгоритма (LightGBM, XGBoost, нейросети) и гиперпараметров через Optuna. Валидация на временных срезах.
  3. Калибровка и интерпретация. Platt scaling или изотоническая регрессия. SHAP-отчёты для бизнеса и регулятора.
  4. Развёртывание и мониторинг. REST API на FastAPI, контейнеризация Docker, мониторинг PSI и Gini.
  5. Документирование и compliance. Отчёт для ЦБ, описание модели, обучение команды.

Практический кейс

Наш клиент — МФО, исходная модель — логрег с 18 признаками из БКИ. Gini = 0.52 на тестовой выборке. Мы выполнили:

  • Добавили 140 транзакционных признаков (паттерны расходов, cash-in/out ratio, регулярность).
  • LightGBM с hyperparameter tuning через Optuna (300 trials).
  • Feature selection: оставили топ-80 признаков по SHAP importance.
  • Calibration: Platt scaling для получения реальных PD.
  • Итог: Gini на тестовой выборке — 0.71 (+19 п.п.). Approval rate при том же уровне дефолтности вырос на 12% (одобряем больше хороших заёмщиков). Прирост одобрения дал дополнительный доход $135k–195k в год.

Сроки: 8–12 недель для базовой ML-модели, 4–6 месяцев для production-системы с мониторингом, интерпретируемостью и compliance. Свяжитесь для консультации, чтобы оценить ваш проект. Закажите пилотный проект — получите готовую модель через 2 недели. Обращайтесь к нам для внедрения ML-скоринга в вашем банке.