Your fraud model scores 0.99 ROC-AUC in offline validation yet fails completely in live checkout scoring. Name the #1 culprit and fastest diagnostic test.
Target leakage—including a post-event attribute (like chargeback_settled_30d, manual review outcome, or update timestamp) unavailable when checkout authorization happens. Fastest diagnostic ("Drop and Watch"): ablate suspicious columns one by one; if dropping 1 feature plunges AUC from 0.99 toward 0.52, that feature leaked the label.
# BAD: post-event column unknown at real-time checkout
FEATURES = ["amount", "velocity_1h", "chargeback_settled_30d"]
# GOOD: strict point-in-time feature audit (available <= decision_ts)
SAFE_FEATURES = ["amount", "velocity_1h", "merchant_risk_30d_lag"]