Что такое скоринг и скоринговые модели
Что такое скоринг
Скоринг (scoring) — присвоение числа (score) объекту на основе его характеристик. Обычно используется для оценки риска или вероятности события.
Типы скоринга
1. Credit scoring
Оценка вероятности, что заёмщик вернёт кредит.
- Input: доход, возраст, кредитная история, занятость.
- Output: score от 0 до 1000 (или вероятность default).
Пример: FICO (США), НБКИ (Россия).
2. Fraud scoring
Оценка вероятности мошенничества в транзакции.
- Input: сумма, время, гео, устройство, история.
- Output: probability of fraud.
Решение: отклонить/одобрить транзакцию, потребовать 3DS.
3. Customer scoring (lead scoring)
Оценка качества клиента для маркетинга.
- Input: behaviour, demographics, engagement.
- Output: хот / тёплый / холодный лид.
Используется для приоритизации sales-команды.
4. Churn scoring
Вероятность, что пользователь уйдёт.
- Input: recency, engagement, tenure.
- Output: P(churn в следующие 30 дней).
Используется для retention кампаний.
Как работает
Шаг 1. Собираем features
features = [
'age',
'days_since_last_event',
'total_purchases',
'avg_order_value',
'support_tickets',
'channel'
]Шаг 2. Обучаем модель
from sklearn.ensemble import GradientBoostingClassifier
X_train, y_train = prepare_data()
model = GradientBoostingClassifier()
model.fit(X_train, y_train)Шаг 3. Получаем score
probabilities = model.predict_proba(X_test)[:, 1]
# 0.15 — низкий риск
# 0.85 — высокий рискШаг 4. Разбиваем на группы
def assign_bucket(p):
if p < 0.2: return 'low'
if p < 0.6: return 'medium'
return 'high'
df['risk_bucket'] = df['score'].apply(assign_bucket)Попробовать силы на подобных вопросах проще всего в тренажёре Карьерник — прямо в Telegram, без регистрации через сайт.
Популярные модели
1. Logistic Regression
Плюсы: интерпретируема, быстра, standard в credit scoring (регуляторы требуют интерпретации).
Минусы: требует feature engineering, не ловит сложные взаимодействия.
2. Decision Tree
Плюсы: легко объяснить.
Минусы: склонна к переобучению.
3. Random Forest
Плюсы: более точна, работает на любых данных.
Минусы: «чёрный ящик».
4. Gradient Boosting (XGBoost, LightGBM)
Плюсы: state-of-the-art качество.
Минусы: сложнее интерпретировать.
5. Neural Networks
Для сложных сигналов (мобильные transaction fraud). Редко в классическом скоринге.
Метрики качества
ROC-AUC
Основная метрика для скоринга. 0.5 — random, 1.0 — perfect.
- < 0.7 — плохо.
- 0.7–0.8 — нормально.
- 0.8–0.9 — хорошо.
0.9 — отлично.
from sklearn.metrics import roc_auc_score
auc = roc_auc_score(y_test, probabilities)Precision / Recall
- Precision: из отмеченных моделью «default» — сколько реально default.
- Recall: из реальных «default» — сколько модель поймала.
Trade-off: больше recall → меньше precision.
F1 Score
Гармоническое среднее precision и recall.
Gini coefficient
Gini = 2 × AUC - 1. Стандарт в финансовой индустрии.
Типичные features
Credit scoring
- Income, employment status.
- Credit history length.
- Past defaults, late payments.
- Debt-to-income ratio.
- Age, region.
Fraud scoring
- Transaction amount.
- Time of day / day of week.
- Location vs billing address.
- Device fingerprint.
- Velocity (events per minute).
Churn scoring
- Days since last active.
- Support tickets count.
- Average session time.
- Change in engagement.
- Subscription tier.
Вывод в продакшн
Скоринг обычно используется real-time:
Пользователь делает действие → extract features → model.predict() → score → decisionТребует:
- Быстрой модели (< 100ms).
- Feature store для мгновенного доступа к features.
- A/B-тестов для проверки изменений.
- Мониторинга drift-а модели.
Пройти 30–50 задач по теме за вечер можно в Telegram-тренажёре. Это то, что отличает «знаю» от «уверенно отвечу на собесе».
Ошибки
1. Data leakage
Features из «будущего» попадают в обучение → 99% AUC на train, 60% в продакшне.
2. Несбалансированность классов
Если default = 1%, модель может выучить «всегда предсказывать 0» и иметь 99% accuracy. Используйте AUC, не accuracy. Плюс class_weight balanced.
3. Concept drift
Модель, обученная 2 года назад, может перестать работать. Переобучайте регулярно.
4. Игнорировать регулятор
В банкинге модели проходят валидацию регулятора. Нельзя использовать черный ящик — нужна интерпретация.
Читайте также
- Что такое машинное обучение
- Churn prediction
- Собеседование риск-аналитика
- Логистическая регрессия
- Gradient boosting
FAQ
Скоринг — это ML или rule-based?
Обычно ML. Rule-based применяют для простых случаев и как fallback.
Нужна ли интерпретация?
В банкинге, страховании — обязательна. В маркетинге, internal скоринге — не всегда.
Как обновлять модель?
От раза в 3 месяца (credit) до ежедневно (fraud). Зависит от скорости изменения паттернов.
Модель упала — что делать?
Проверить drift features, переобучить, откатиться на старую версию. Плюс разбор-полёт.