Validation
Choosing the split that matches the data, chronological splits with embargoes, hold-outs reported once, and what selection bias feels like from the inside.
Choosing a train/test split
The split has to follow the structure of the data, not the default of the library. A decision table by structure, the one diagnostic that says which axis to hold out, and the habit of running the shuffled split once as a control.
Chronological splits with an embargo
Why a random split is wrong on any time-ordered panel, how to split by date with a gap, how wide the gap has to be, and the discipline of reporting the check period once.
Selection bias from the inside
Picking the candidate that looked better on the build period never feels like cheating. It feels like picking the better one. A real example where it would have been wrong, and a simulation of how often it is.