Machine Learning ยท Risk Management

Credit Scoring: Predicting Monthly Default Probability

An end-to-end credit scoring and loss optimization tool for credit card default risk, designed to be accessible to both technical and non-technical users.

Python XGBoost Random Forest Neural Network Streamlit Pandas Scikit-learn

Demo: UI Tool walkthrough โ€” predicting default probability for individual customers


Overview

This project develops an end-to-end credit scoring and loss optimization tool for credit card default risk. It combines machine learning model development, expected loss analysis, and an interactive UI โ€” making the results accessible to both technical and non-technical users.


Model Selection

Three machine learning models were evaluated and benchmarked against each other using ROC-AUC, F1 score and recall on the default class.

Model F1 Score Recall (Default) ROC-AUC (validation)
XGBoost 0.46 0.42 0.75
Random Forest 0.48 0.51 0.76
Neural Network 0.51 0.62 0.79 Selected

The model Neural Network was chosen.


Expected Loss Analysis

Using the default probabilities from the Neural Network, the project constructs a distribution of expected losses across the customer portfolio. Tail risk is quantified at the 95th and 99th percentiles, and mitigation strategies are proposed and evaluated based on their effectiveness in reducing these concentrations.


UI Tool

The project is finalized as an interactive interface built with Streamlit, allowing non-technical users to query the default probability of individual customers within a few clicks.

To launch the tool locally:

streamlit run UI_Tool.py

Project Files

๐Ÿ““
Credit_Scoring.ipynb
Full analysis notebook
Download
๐Ÿ
UI_Tool.py
Streamlit interface
Download
๐Ÿง 
nn_model.keras
Trained Neural Network model
Download
โš™๏ธ
preprocessing.pkl
Preprocessing pipeline
Download
๐Ÿ“„
requirements.txt
Python dependencies
Download