Back to Projects

Bank Loan Portfolio Risk & Analytics System

PostgreSQLPython (PandasSciPy)SQLStreamlitPlotly

The Problem

A major retail loan portfolio was experiencing higher-than-expected default rates, eating into overall net profit margins. The existing data was scattered across 500,000+ records and lacked a unified view to pinpoint the highest risk originations.

The Approach

I built an ETL pipeline to load all 500,000+ retail loan records into a cloud PostgreSQL (Neon) warehouse. Using Python (Pandas, SciPy), I performed Chi-Square and ANOVA statistical testing, alongside vintage cohort analysis, which revealed that Grade F & G loans were defaulting at a rate above 50%. To make this actionable, I modeled 'Policy A' (halting Grade F & G originations) and shipped a 4-page Streamlit + Plotly dashboard with a real-time policy simulator for stakeholders.

Screenshot for Bank Loan Portfolio Risk & Analytics System

The Result

The simulation proved that executing Policy A would result in a negligible ~3% loan volume trade-off in exchange for a massive $78.1M gain in net profit.