У нашій практиці традиційний кредитний скоринг працює з історією: немає кредитної історії — немає оцінки. AI-скоринг додає альтернативні сигнали: поведінку в додатку, транзакційні паттерни, непрямі соціоекономічні ознаки. Для фінтех-додатків із власним гаманцем або кредитним продуктом це дозволяє працювати з аудиторією, яку традиційні банки не розглядають. Ми, як команда з 5-річним досвідом у fintech, гарантуємо, що розроблена модель відповідає вимогам НБУ та Закону України «Про захист персональних даних».
У цій статті розберемо, як побудувати ML-пайплайн для скорингу, які дані використовувати та як забезпечити пояснюваність рішень. Згідно з даними Accenture, правильно побудований AI-скоринг дозволяє знизити рівень прострочки на 15–20% і збільшити схвалення заявок на 40% для клієнтів без кредитної історії. Наш досвід показує, що впровадження окупається за 3–6 місяців завдяки скороченню ризиків та розширенню клієнтської бази. Ми використовуємо перевірені методи та стеки: LightGBM, SHAP, Swift/Kotlin для інтеграції на мобільних платформах. Всі рішення відповідають вимогам НБУ та Закону України «Про захист персональних даних», що підтверджено юридичним аудитом.
Які джерела даних використовувати для ML-пайплайну скорингу?
Тільки ті дані, які користувач явно дозволив передавати (згода обов'язкова, згідно із законом):
Транзакційні паттерни. Регулярність надходжень (зарплатні vs хаотичні), співвідношення доходів та витрат, баланс на кінець місяця, використання кредитних vs дебетових інструментів. Це найнадійніше джерело — дані з власного додатку, маніпуляція ними ускладнена.
Поведінкові сигнали. Частота використання додатку, відсоток виконаних сесій (користувач відкрив додаток і зробив хоча б одну дію vs просто відкрив), використання функцій довгострокового планування. Ці ознаки корелюють із фінансовою дисципліною, але слабші за транзакційні.
Соціально-демографічні ознаки. Регіон, тип пристрою (непрямий дохідний сигнал), стаж використання додатку. Тут потрібна крайня обережність: модель не повинна дискримінувати за ознаками, забороненими законодавством.
Як побудувати ML-пайплайн?
Скорингова модель живе на сервері — жодних моделей на пристрої для цього завдання. Мобільний додаток збирає та відправляє події, сервер рахує скоринг за запитом.
# Feature engineering pipeline — сервер
import pandas as pd
from sklearn.preprocessing import StandardScaler
import lightgbm as lgb
def extract_features(user_id: str, window_days: int = 90) -> dict:
transactions = db.get_transactions(user_id, days=window_days)
df = pd.DataFrame(transactions)
return {
# Стабільність доходів
"income_regularity": df[df.amount > 0].amount.std() / df[df.amount > 0].amount.mean(),
# Відношення витрат до доходів
"expense_to_income_ratio": abs(df[df.amount < 0].amount.sum()) / df[df.amount > 0].amount.sum(),
# Днів з від'ємним балансом
"negative_balance_days": calculate_negative_balance_days(df),
# Стабільність балансу в кінці місяця
"month_end_balance_stability": calculate_eom_balance_stability(df),
# Кількість унікальних джерел доходу
"income_source_diversity": df[df.amount > 0].merchant.nunique(),
# Середній час між транзакціями
"avg_days_between_transactions": df.timestamp.diff().dt.days.mean(),
}
def predict_score(user_id: str) -> dict:
features = extract_features(user_id)
feature_vector = pd.DataFrame([features])
score = model.predict(feature_vector)[0] # LightGBM, xgboost або CatBoost
probability = model.predict_proba(feature_vector)[0][1]
return {
"score": int(score * 1000), # 300–850, аналог FICO
"probability_of_default": float(probability),
"confidence": calculate_confidence(features),
"feature_contributions": get_shap_values(feature_vector) # Пояснюваність
}
Як забезпечити пояснюваність скорингу та моніторинг?
НБУ та загальний тренд регулювання вимагають пояснюваності кредитних рішень. SHAP (SHapley Additive exPlanations) — стандарт для пояснення рішень tree-based моделей. Результат SHAP: «На скоринг вплинуло: стабільність доходу (+120 балів), висока частка витрат на розваги (−45 балів), молодий стаж користування (-30 балів)».
Це потрібно показувати користувачеві в мобільному додатку при відмові в кредиті — не технічно, а в перекладі на людську мову:
// iOS — переклад SHAP-значень у користувацький текст
func localizeScoreExplanation(_ contributions: [FeatureContribution]) -> [String] {
return contributions.sorted { abs($0.value) > abs($1.value) }
.prefix(3)
.map { contribution in
switch contribution.feature {
case "expense_to_income_ratio" where contribution.value < 0:
return "Висока частка витрат відносно доходів"
case "income_regularity" where contribution.value > 0:
return "Стабільні регулярні надходження"
case "negative_balance_days" where contribution.value < 0:
return "Періоди з недостатнім балансом"
default:
return contribution.defaultDescription
}
}
}
Моніторинг якості моделі після запуску
Модель деградує з часом — економічні умови змінюються, паттерни користувачів зсуваються. Необхідно:
- Population Stability Index (PSI) — моніторинг дрейфу вхідних ознак. PSI > 0.25 сигналізує про необхідність перенавчання.
- Gini coefficient на свіжих даних — щомісячна перевірка роздільної здатності моделі.
- Ретроспективний аналіз передбачень через 90 днів (термін підтвердження дефолту).
Compliance та обмеження
Скорингова модель не повинна містити захищені ознаки — стать, національність, релігію, місце народження. Перед продакшеном — аудит на disparate impact: перевіряємо, чи не дискримінує модель певні демографічні групи опосередковано (через проксі-ознаки). Fairness-тестування (fairness аудит) з використанням fairlearn або aequitas. Compliance скоринг забезпечує відповідність нормам НБУ.
Зберігання даних: персональні дані громадян України — лише на серверах в Україні (згідно із законом). Транзакційні дані для скорингу — не передаються третім особам без окремої згоди.
Порівняння підходів та алгоритмів
| Критерій | Традиційний скоринг | AI-скоринг з альтернативними даними |
|---|---|---|
| Джерела даних | Тільки кредитна історія | Транзакції, поведінка, дані пристрою |
| Охоплення аудиторії | Тільки позичальники з кредитною історією | Thin-file та new-to-credit клієнти |
| Швидкість оновлення | Раз на місяць | Реальний час |
| Точність для thin-file | Низька | Висока (на 30–50% вище, тобто в 1,3–1,5 раза краще) |
| Пояснюваність | Проста (за бюро) | Вимагає XAI (SHAP) |
AI-скоринг підвищує точність на 30–50% порівняно з традиційним для клієнтів без історії, а також знижує рівень прострочки на 15–20%. Іншими словами, AI-скоринг кращий за традиційний в 1.3–1.5 рази за точністю для thin-file клієнтів.
| Параметр | LightGBM | CatBoost | XGBoost |
|---|---|---|---|
| Швидкість навчання | Дуже висока (в 2 рази швидша за XGBoost) | Висока | Висока |
| Обробка категоріальних ознак | Потребує кодування | Вбудована (на 15% точніша без ручного кодування) | Потребує кодування |
| Точність на скорингу | Висока | Висока | Висока |
| Підтримка SHAP | Так | Так | Так |
Процес роботи та що отримуєте
- Аудит доступних даних та отримання правового висновку
- Проектування ознакового простору (50+ транзакційних ознак, 20+ поведінкових)
- Розробка ETL-пайплайну (середня затримка API 200 мс)
- Навчання baseline-моделі (логістична регресія як benchmark)
- Gradient boosting (LightGBM) з тюнінгом
- SHAP-пояснення для кожного рішення
- A/B тест проти baseline
- Моніторинг у продакшені (PSI, Gini, ретроспектива)
Що входить в роботу
- Технічна документація моделі та API
- Доступ до репозиторію з кодовою базою
- Навчання команди замовника (2 дні)
- Технічна підтримка 3 місяці після запуску
- Оновлення моделі за потреби
Результат та орієнтири вартості
- Робочий ML-пайплайн на сервері з LightGBM/CatBoost
- SHAP-пояснення для кожного рішення, інтегровані у мобільний додаток
- Моніторинг PSI та Gini з алертами
- Compliance-аудит та звіт по fairness
- Інтеграція з App Store/Google Play та системами аналітики
MVP на логістичній регресії з базовими транзакційними ознаками — 3–4 тижні, вартість від $10,000. Продакшен-система з LightGBM, SHAP, моніторингом та compliance-аудитом — 2–3 місяці, вартість від $25,000. За відсутності готового дата-пайплайну — додайте 2–4 тижні на розробку збору та зберігання подій. Економія від впровадження може сягати $50,000 на рік завдяки зниженню прострочки та розширенню клієнтської бази.
Ми маємо понад 5 років досвіду у fintech, 20+ успішних проектів, сертифікованих інженерів з безпеки мобільних додатків. AI-скоринг позичальника дозволяє оцінювати ризик без кредитної історії. Щоб впровадити AI-скоринг під ключ у ваш додаток, замовте пілотний проект: оцінимо ваші дані безкоштовно, покажемо приріст точності на 30–50% для thin-file клієнтів. Пишіть нам — розпочнемо з аудиту.







