📞 The Call-Duration Trap: How Data Leakage Skews Bank Marketing Prediction Models
An interactive 3D lab where a simulated bank telemarketing call reveals how including call duration as a model feature leaks the future into the past — watch predicted subscription probability and feature importance swing live as the call plays out.
A SHAP-style feature-importance chart and a live call timeline show what happens when a model is allowed to see how long a phone call lasted — information that, by definition, doesn't exist until after the call is already over.
🔬 What It Demonstrates
Toggling call duration into the feature set makes it dominate every other predictor and drives the model's reported AUC from a modest ~0.71 up to a suspicious ~0.93 — a textbook sign of data leakage rather than genuine predictive skill.
🎮 How to Use
Scrub or auto-play the call duration slider and watch the probability board react. With the leaky model on, longer calls send predicted probability soaring; switch it off and the same slider does nothing, because an honest, pre-call model was never shown the duration at all.
💡 Did You Know?
The UCI Bank Marketing dataset's own documentation explicitly warns that duration should be dropped if the goal is a realistic predictive model, since it "is not known before a call is performed."
An interactive 3D lab where a simulated bank telemarketing call reveals how including call duration as a model feature leaks the future into the past — watch predicted subscription probability and feature importance swing live as the call plays out.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install