Skip to content
All work

01

OPTI-RECOURSE 

Credit-risk prediction platform that explains every rejection and tells the borrower how to flip it.

Role
Solo build: modelling, explainability, app
Stack
Python · Pandas · NumPy
Year
2025
Status
Published · Live
01

Context

Credit rejections are usually a black box. A borrower gets a no, with no indication of what would have made it a yes, and the lender carries a model nobody in the business can interrogate.

That leaves two problems in one system: applicants have no route back, and risk teams cannot defend a decision when a regulator, an analyst or a customer asks why. OPTI-Recourse was built to close both gaps with the same set of explanations.

02

Approach

  1. 01

    Built and compared three classifiers (XGBoost, Logistic Regression and Random Forest) on a held-out test set with cross-validation.

  2. 02

    Tuned hyperparameters with Optuna, targeting recall so genuinely risky applicants aren't missed.

  3. 03

    Layered SHAP for global, portfolio-level feature attribution and LIME for individual predictions.

  4. 04

    Turned the explanations into recourse: the specific feature changes that would flip a rejection.

  5. 05

    Shipped it as an interactive Streamlit dashboard for real-time risk scoring.

  6. 06

    Wrote up the methodology; peer-reviewed and published in IJSREM.

03

Results

more risky borrowers caught
+12%
models compared head to head
3
ways it explains a rejection
2
peer-reviewed publication
1
04

Stack

  • Python
  • Pandas
  • NumPy
  • Scikit-learn
  • XGBoost
  • Optuna
  • SHAP
  • LIME
  • Streamlit
Architecture · OPTI-RECOURSEOpen full size(opens in a new tab)
Previous project

DATA DESK

Next project

AD CAMPAIGN DATA INTEGRITY