Field note · January 2, 2026
Forward-chaining split, in short
Validate the way you will deploy — train on the past, predict the future, and leave the gap your real prediction lag imposes.
Someone asked why Forward-chaining split is written the way it is. Fair question.
Validate the way you will deploy — train on the past, predict the future, and leave the gap your real prediction lag imposes.
What makes it a pattern rather than a tip is that the wrong version is the one you write naturally. It reads correctly, it runs, and it returns something. The failure is in the result, not in the execution — which means the only defence is recognising the shape before you are in it.
Two datasets on this site have the shape built in: grid-energy-load and sensor-telemetry. Both are small enough to run the broken version, see the number, then run the corrected one and see it change.
It lives under modelling because the model is not where the mistake is. The mistake is upstream, in what the training rows knew.
The long-form treatment is in the course (validation-that-matches-deployment); the pattern page is the version to read at 4pm with a query open.
Whether you use our version matters much less than having a version you did not re-derive under time pressure. That is what a pattern library is for.