
Santander: Predicting Customer Transactions
Santander's dataset gives 200,000 customers, 200 unnamed numeric features, and one question: which customers will make a specific transaction. Only 10 percent do.
200,000
training customers
200
anonymous features
0.911
best out-of-fold AUC
100,000
synthetic test rows found
Problem
Understanding the challenge and user needs
Anonymous features remove every shortcut that domain knowledge provides. The model has to find structure in distributions alone, and the test set mixes real customers with synthetic rows that distort any statistic computed across it.
(opens in a new tab)Approach
Strategy and methods used to address the problem
A Naive Bayes baseline set the reference, since the features behave almost independently. An analysis of the test set then separated 100,000 real rows from 100,000 synthetic ones, and LightGBM models moved from defaults to Optuna-tuned parameters to a three-seed blend.
Final Solution
The final design and outcome
Naive Bayes reached a five-fold AUC of 0.890. LightGBM raised that to 0.905 at baseline, 0.910 after tuning, and 0.911 as a three-seed blend.
Out-of-fold AUC by model
| Model | AUC |
|---|---|
| Naive Bayes | 0.890 |
| LightGBM, default parameters | 0.905 |
| LightGBM, Optuna-tuned | 0.910 |
| LightGBM, three-seed blend | 0.911 |
Impact & Validation
Results, learnings, and outcomes
The work shows a disciplined order of operations: a simple baseline first, an audit of the data second, and model complexity only after both.





