---
name: asgard-ai-platform-algo-risk-credit
description: "Build credit scoring models to predict default probability from borrower characteristics. Use this skill when the user needs to assess creditworthiness, build a credit scorecard, or evaluate lending risk — even if they say 'predict default risk', 'credit scoring', or 'loan approval model'."
license: "MIT"
metadata:
  decimalai-skill-id: "344345eb-405d-4f77-b361-e9778ca46bde"
  decimalai-version-id: "e89ae2e7-31c7-4412-ac52-f069b6f4613d"
  decimalai-version: "1"
  decimalai-body-sha256: "a3665ac18b840cf991cf8f362f782686e2f9932217e54dafb1985d57a683899e"
  decimalai-name: "asgard-ai-platform/algo-risk-credit"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "finance"
  decimalai-source: "https://app.decimal.ai/s/asgard-ai-platform-algo-risk-credit@1/SKILL.md"
---
# Credit Scoring Model

## Overview

Credit scoring models predict the probability of default (PD) from borrower characteristics using logistic regression or gradient boosting. Output: a score (300-850 range) or PD (0-1). Used for loan approval, pricing, and portfolio risk management.

## When to Use

**Trigger conditions:**
- Building a scorecard for loan/credit approval decisions
- Predicting default probability for risk-based pricing
- Evaluating existing credit models for discriminatory power

**When NOT to use:**
- For corporate bankruptcy prediction (use Altman Z-Score)
- For market risk measurement (use VaR)

## Algorithm

```
IRON LAW: A Credit Model Must Discriminate AND Be Calibrated
Discrimination (AUC): correctly ranking good vs bad borrowers.
Calibration: predicted PD matches actual default rates.
A model with AUC=0.85 but predicted PD 2x actual default rate will
cause systematic over/under-pricing. Need BOTH properties.
```

### Phase 1: Input Validation
Collect: borrower features (income, debt ratio, credit history length, delinquency count, utilization), outcome variable (default within 12-24 months). Handle: missing values, class imbalance (typically 2-5% default rate).
**Gate:** Sufficient defaults (300+ events), features available at decision time.

### Phase 2: Core Algorithm
1. Feature engineering: WOE (Weight of Evidence) binning for logistic regression, or direct encoding for GBDT
2. Train model: logistic regression (interpretable, regulatory-preferred) or GBDT (higher accuracy)
3. Calibrate: Platt scaling on holdout, ensure predicted PD matches actual default rate by decile
4. Convert to score: Score = offset + factor × log(odds), scaled to 300-850 range

### Phase 3: Verification
Evaluate: AUC (>0.70 acceptable, >0.80 good), KS statistic, Gini coefficient. Population stability index (PSI) for monitoring drift.
**Gate:** AUC > 0.70, calibration acceptable, no discriminatory bias in protected attributes.

### Phase 4: Output
Return score, PD, and key risk drivers.

## Output Format

```json
{
  "score": 680,
  "pd": 0.035,
  "risk_grade": "B",
  "top_risk_factors": [{"factor": "high_utilization", "impact": -45}, {"factor": "short_history", "impact": -30}],
  "metadata": {"model": "logistic_regression", "auc": 0.78, "vintage": "2024-Q3"}
}
```

## Examples

### Sample I/O
**Input:** Borrower: income=$60K, DTI=35%, 5yr credit history, 0 delinquencies, 60% utilization
**Expected:** Score ~680, PD ~3.5%, Grade B (some risk from high utilization)

### Edge Cases
| Input | Expected | Why |
|-------|----------|-----|
| No credit history (thin file) | High uncertainty, default to conservative | Insufficient data for scoring |
| All features identical | Same score regardless of outcome | Model can't differentiate — need more features |
| Major economy shift | PSI > 0.25, model needs recalibration | Population has shifted from training distribution |

## Gotchas

- **Reject inference**: Training data only includes approved applicants. Rejected applicants' outcomes are unknown, creating selection bias. Use reject inference techniques.
- **Fair lending**: Models must not discriminate by protected attributes (race, gender, age). Even proxy variables (zip code ≈ race) can create disparate impact. Test with fairness metrics.
- **Through-the-door vs on-the-books**: TTD samples include all applicants; OTB only approved ones. Model purpose determines which sample to use.
- **Vintage analysis**: Default rates vary by economic conditions. A 2019-trained model may not predict well in a recession. Track model performance by vintage.
- **Regulatory requirements**: Financial regulators (Basel, OCC, FDIC) have specific requirements for model validation, documentation, and fair lending testing.

## References

- For WOE binning methodology, see `references/woe-binning.md`
- For reject inference techniques, see `references/reject-inference.md`
