Temporal Split
A recommender is always used in one direction — trained on the past, asked about the future. A temporal split is the discipline of evaluating it the same way.
How the split is built
Interactions are ordered by timestamp and cut at a point in time: everything before the cut trains the model, everything after it is the test set. Two variants are common. A global split picks one wall-clock boundary for the whole dataset, which is what a deployment actually looks like — a model trained on Monday serving Tuesday. A per-user split holds out each user's last few interactions instead, keeping every user represented in the test set at the price of letting one user's future sit inside another user's training data.
Why it matters
The alternative — shuffling interactions and taking a random fifth — lets the model see a user's later behaviour while being scored on their earlier behaviour, and lets an item's eventual popularity leak backwards. Reported numbers come out higher and rank methods differently from how they rank online. Sequence models such as SASRec and GRU4Rec are meaningless under a random split, because order is the thing they model. Any comparison on MovieLens is only interpretable once you know which split produced it.
What goes wrong
A late cut leaves too little test data, an early one trains on too little history. And users who first appear in the test period have no training history at all — report them separately rather than quietly dropping them.
A temporal split divides interactions by timestamp rather than at random: everything before a chosen cut trains the model, everything after it is evaluated. It matches how a recommender is actually used — trained on the past, serving the future — and blocks the leakage a random split allows, where a user's later behaviour informs predictions about their earlier behaviour. Offline numbers from random splits run high and reorder methods; sequence models cannot be judged any other way.
Imagine testing a weather forecaster by letting them peek at tomorrow's newspaper. They would look brilliant, and you would learn nothing about how good they are.
That is the trap a temporal split avoids. When people check whether a recommendation system works, they hide some of the choices users made and see whether the software can guess them. If those hidden choices are picked at random, some of them happened before things the software was allowed to see — so it is partly reading tomorrow's newspaper. A temporal split draws a line in time instead: learn from everything up to Tuesday, and get judged only on what happened after.