Data Contract & Leakage Control
Goal
Define a prediction-time feature set that a lender could have known at origination.
Design
Filter to paid vs charged-off. Drop high-missingness columns. Remove identifiers and post-outcome fields (recoveries, total_pymnt). Keep borrower credit history, loan terms, and categorical descriptors that exist before final outcome.
Challenges
- Several 'strong' columns are cheat codes recorded after default.
- Current/late loans would inject label noise if kept.
- Grade and interest rate are valid yet partly encode prior underwriting; that must be stated, not hidden.
Iterations
- Broad column dump.
- Missingness cull.
- Explicit leakage audit before modeling.
Final implementation
A compact, origination-plausible feature matrix with leakage columns removed before any model sees the data.