Portfolio Overview
Private Credit Early Warning System · March 31, 2026 · 400 borrowers
LSTM-AE + IF + XGB/LGB/RF No overfitting
42
Red alerts
Immediate attention required
11
Amber alerts
Monitor closely
347
Green — performing
86.75% of portfolio
0.968
Holdout AUC-ROC
Unseen data
12.5%
Default rate
50 bad / 400 total
0.032
Gen. gap (AUC)
Well below 0.10 threshold
Alert distribution400 borrowers
AUC by split
Ensemble weights
Top 5 at-risk borrowers
BorrowerScoreAlertMiss %
BAD-0044
0.998
RED38.5%
BAD-0017
0.950
RED30.8%
BAD-0000
0.939
RED30.8%
BAD-0020
0.931
AMBER30.8%
BAD-0029
0.924
RED30.8%
Score distributionEnsemble risk score
Risk Watchlist
All 400 borrowers · scored as of 2026-03-30
Borrower IDEnsemble ScoreAlertIF ScoreAE ScoreSup ScoreMiss RateSectorRating
Model Performance
4-way split evaluation · LSTM-AE + IF + XGB/LGB/RF
1.000
Train AUC
F1=1.000 · Acc=1.000
1.000
Val AUC
F1=0.800 · Acc=0.983
1.000
Test AUC
F1=0.941 · Acc=0.983
0.968
Holdout AUC
F1=0.833 · Acc=0.950
ROC curves — all splits
Metrics by split
Confusion matrix — holdout
100
True Negative
Good predicted Good
4
False Positive
Good predicted Bad
2
False Negative
Bad predicted Good
14
True Positive
Bad predicted Bad
Generalization gap analysis
✓ No overfitting detected
Train-holdout gap 0.032 — well below 0.10 threshold
Feature Analysis
22 features · permutation importance + SHAP
Feature importance (permutation, IF)
Feature categories
Feature descriptions
FeatureCategoryImportanceDescription
min_payment_ratioCoverage0.01139Minimum ratio of paid vs. scheduled amount over period
sofr_exposureMacro0.00910SOFR rate × avg days late — macro-weighted delinquency
payment_ratio_stdCoverage0.00908Standard deviation of monthly payment ratios
avg_payment_ratioCoverage0.00886Mean ratio of paid vs. scheduled amount
avg_days_lateDelinquency0.00841Average days between due and paid date
max_days_lateDelinquency0.00827Worst single-month delinquency event
cumulative_coverageCoverage0.00754Total paid / total scheduled over observation window
velocity_ratioVelocity0.00651Older payment ratio minus recent — deterioration velocity
ML Pipeline
Full production architecture
Data pipeline
📡
Data download
SOFR · Lending Club · FRED
🧹
Synthetic fallback
400 borrowers · 24 months
🔬
Feature engineering
22 features · 12-lag sequences
✂️
4-way split
40/15/15/30
Model ensemble
🌳
Isolation Forest
Unsupervised · weight 30%
+
🔄
LSTM Autoencoder
Temporal anomaly · weight 25%
+
🚀
XGB + LGB + RF
Supervised ensemble · weight 45%
Ensemble score
GREEN / AMBER / RED
Alert thresholds
GREEN (performing)
< 0.35
AMBER (watch)
0.35–0.60
RED (immediate)
> 0.60
Data split details
Train (160 borrowers)
40%
Validation (60)
15%
Test (60)
15%
Holdout (120)
30%
AI Analyst
Agentic risk analysis · powered by Claude
claude-sonnet-4-6
SYSTEM
Expert Private Credit Risk Analyst · IF + LSTM-AE + XGB/LGB/RF ensemble · March 2026
AI Analyst
Portfolio initialized. 400 borrowers scored. RED=42, AMBER=11, GREEN=347. Holdout AUC 0.9678 — excellent discrimination. Top risk drivers: min_payment_ratio, sofr_exposure, payment_ratio_std. Ready for queries.
Context provided to AI
Portfolio: 400 borrowers · Default rate 12.5%
Alert levels: RED=42 · AMBER=11 · GREEN=347
Top 5 at-risk: BAD-0044, BAD-0017, BAD-0000, BAD-0020, BAD-0029
Holdout AUC: 0.9678 · Gen gap: 0.032
Top drivers: min_payment_ratio, sofr_exposure, payment_ratio_std, avg_payment_ratio, avg_days_late
Pipeline status
Data downloadComplete
Feature engineering22 features
Isolation ForestFitted · n=300
LSTM Autoencoder60 epochs · AE
Supervised ensembleVal AUC 1.000
Optuna tuning15 trials
Watchlist generated400 scored
Borrower detail
×
Ensemble risk score
0.89
Isolation Forest
0.71
LSTM Autoencoder
0.99
Supervised (XGB/LGB/RF)
Diagnostic features
Missed payment rate
Avg payment ratio0.61
Max days late187
SOFR exposure4.21
Leverage ratio6.8×
Consecutive misses4
Velocity (deteriorating)+0.23
AI ANALYST RECOMMENDATION