← All work

tabular ML · feature engineering · imbalanced classification

Credit Default Prediction

An end-to-end credit-risk classification workflow that turns repayment behaviour into robust features, tunes the operating threshold and finished first on the course leaderboard.

Year
2026
Role
Modeling, feature engineering and reproducible experiment pipeline
Credit default machine-learning pipeline from raw behaviour through feature engineering, stratified cross-validation, CatBoost and threshold selection to final predictions.
Diagram based on the repository architecture and reported evaluation path — not a fabricated product screenshot.

Problem

Credit default is an imbalanced classification problem where raw account fields hide the behaviour that matters. The challenge was to build a reproducible pipeline that captures repayment dynamics and optimizes for Macro F1 rather than defaulting to a 0.5 probability threshold.

What I built

The pipeline validates and cleans the input data, engineers delay severity and persistence, utilization, repayment-capacity and recent-vs-historical behaviour features, runs stratified cross-validation across CatBoost experiments, and chooses the final operating threshold against the target metric.

Course leaderboard1st place

Public Macro F1 0.721 with a CatBoost configuration and decision threshold 0.328.

Engineering decisions

Where the project becomes more than a demo.

The details that matter are usually in the constraints: who is allowed to decide, what gets measured, what is kept separate, and how failure is represented.

01

Engineer behaviour, not just columns.

Raw repayment history, bills, payments and limits are converted into persistence, trend, exposure, capacity and coverage signals.

02

Treat threshold as part of the model.

The final classifier is evaluated with an operating threshold of 0.328 because the target metric and class imbalance make 0.5 arbitrary.

03

Keep experiments reproducible.

Feature flags and model parameters are controlled through configuration so leaderboard improvements can be traced to an actual experiment.

Evidence

What the repository actually supports.

1stcourse leaderboard

selected final submission

0.721public Macro F1

CatBoost final configuration

0.328decision threshold

optimized for the target metric

Limits

What I am not claiming.

  • Leaderboard performance is an academic evaluation result, not a claim of production credit-risk performance.
  • The final score depends on the course dataset and evaluation split.
  • The project prioritizes reproducibility and operating-point selection over model novelty.

Signal

What this project demonstrates.

CatBoostimbalanced learningbehavioural feature engineeringcross-validationthreshold optimizationreproducible experiments

Want to inspect the implementation?

Open repository ↗Ask me about it