Most credit-risk tutorials stop at "train a classifier to predict default." That is maybe a fifth of what a real credit-risk function does, and not the interesting fifth. So I built the rest, on 1.35 million real loans, as three connected projects:

an IFRS 9 expected credit loss engine (PD, LGD, EAD, staging, macro scenarios),

a Weight-of-Evidence scorecard plus an independent model validation, and

a portfolio monitoring and management-information pack.

Stack is deliberately boring and reproducible: pandas, scikit-learn, matplotlib. Data is the public Lending Club accepted-loans tape. This post walks the techniques and the decisions, with the code that matters and the gotchas that bit me.