Credit Risk Analytics: Optimizing Underwriting & Mitigating Loan Default Exposure

Diagnosed drivers behind a 21.8% default rate across Nova Bank's $312M portfolio, developing an early-warning risk framework and underwriting guardrails in Power BI.

1. Executive Summary

Impact Overview: Conducted an end-to-end credit risk evaluation across 32,581 loan records totalling $312.43M for Nova Bank. Diagnosed underlying behavioural, structural, and demographic drivers behind a 21.82% portfolio default rate ($77M in capital losses). Engineered an early-warning distress framework that identified 122 high-risk active accounts for pre-emptive restructuring and formulated strict underwriting guardrails projected to prevent millions in future write-offs.

Core Metric Result / Impact
Total Portfolio Analyzed $312.43M (32,581 loans)
Portfolio Default Rate & Exposure 21.82% ($77.0M in defaulted value)
Critical Affordability Cliff (LTI > 0.40) 75.0% Default Rate
Grade D Underwriting Risk Cliff 59.0% Default Rate (vs. 21% in Grade C)
Identified High-Risk Early Warning Accounts 122 Active Accounts flagged for restructuring
Primary Tooling Power BI, DAX, Excel, Python / SQL

2. Business Context & Problem Statement


3. Key Insights & Strategic Recommendations

Key Findings

Underwriting Grade Default Breakdown:
Grade A [██░░░░░░░░]  5.8% Default Rate
Grade B [███░░░░░░░] 13.2% Default Rate
Grade C [█████░░░░░] 21.4% Default Rate
───────────────────────────────────────────── [CRITICAL RISK CLIFF]
Grade D [██████████████] 59.0% Default Rate
Grade E [██████████████████] 74.2% Default Rate
Grade F/G [████████████████████████] 88.5%+ Default Rate

Actionable Recommendations

  1. Immediate Underwriting Policy Freeze:
    • Halt Origination of Grades F & G: Cease all underwriting in these categories immediately; the interest premiums fail to cover write-offs.
    • Implement a Hard LTI Ceiling at 0.40: Restrict maximum loan amounts relative to borrower income to prevent accounts entering the 75% default zone.
  2. Proactive Portfolio Intervention (122 Accounts):
    • Deploy retention and workout specialists to contact the 122 flagged active accounts before 90-day charge-offs occur.
    • Offer structured maturity extensions or interest-rate concessions to stabilize debt-service capacity.
  3. Re-align Risk-Based Pricing:
    • Cap maximum lending rates below the 18% threshold for vulnerable borrowers to avoid debt trap spirals, shifting underwriting focus toward asset-backed collateral rather than rate compensation.

4. Interactive Dashboard & Data Storytelling

🔗 Click Here to Launch the Live Interactive Dashboard (Insert Power BI Web URL)

Credit Risk Dashboard Overview

Figure 1: Executive Credit Risk Dashboard featuring portfolio default KPIs, rating distribution, affordability thresholds, and behavioural early-warning indicators.

Key Visual Highlights


5. Technical Architecture & Methodology

┌─────────────────────────┐
│   Nova Bank Loan Data   │  Raw Portfolio Dataset (32,581 rows x 35 fields)
└────────────┬────────────┘
             │
             ▼
┌─────────────────────────┐
│ Feature Engineering &   │  • Engineered LTI (Loan-to-Income) & DTI metrics
│   Risk Segmentation     │  • Modeled Early Warning Flags (Utilization > 70% + LT > 0.4)
└────────────┬────────────┘
             │
             ▼
┌─────────────────────────┐
│ Star Schema Data Model  │  Fact_Loans connected to Dim_Borrower, Dim_CreditGrade,
│       (Power BI)        │  Dim_Demographics, and Dim_Date
└────────────┬────────────┘
             │
             ▼
┌─────────────────────────┐
│ Interactive BI & Story  │  Executive KPI dashboards, dynamic scenario filters,
│                         │  and automated default exposure matrices
└─────────────────────────┘

Analytical Modelling & DAX Calculations

Core analytical measures were constructed in Power BI to evaluate exposure and risk dynamics:

// Portfolio Default Rate
Default Rate % = 
DIVIDE(
    CALCULATE(COUNTROWS(Fact_Loans), Fact_Loans[Loan_Status] = "Default"),
    COUNTROWS(Fact_Loans),
    0
)

// Total Value at Risk (Defaulted Balance)
Defaulted Principal Exposure = 
CALCULATE(
    SUM(Fact_Loans[Loan_Amount]),
    Fact_Loans[Loan_Status] = "Default"
)

// Early Warning Distress Cohort Indicator
Early Warning Flag = 
IF(
    Fact_Loans[Loan_Status] = "Current" &&
    Fact_Loans[LTI_Ratio] >= 0.40 &&
    Fact_Loans[Credit_Utilization] >= 0.70 &&
    Fact_Loans[Past_Delinquencies] >= 1,
    "High Risk - Intervene",
    "Standard Risk"
)