Write the chronological evaluation schedule before asking for a more elaborate model. A baseline with the wrong information boundary makes later accuracy comparisons misleading.
Keep the horizon fixed as the origin moves
This original fictional series has eight equally spaced periods. The values are unit counts: 10, 12, 11, 15, 14, 18, 17, 20. They are teaching data, not measured business demand.
Use an expanding training window, a minimum of three observations, and a fixed horizon of two periods. For a last-observation baseline, every forecast equals the last value available at its origin:
| Origin | Training positions | Target | Baseline forecast | Actual | Absolute error |
|---|---|---|---|---|---|
| 3 | 1 through 3 | 5 | 11 | 14 | 3 |
| 4 | 1 through 4 | 6 | 15 | 18 | 3 |
| 5 | 1 through 5 | 7 | 14 | 17 | 3 |
| 6 | 1 through 6 | 8 | 18 | 20 | 2 |
The expected mean absolute error is (3+3+3+2)/4 = 2.75 units for these four two-step targets. These are independently calculated teaching expectations, not scores from a fitted model or a ChatGPT run.
The rolling-origin cross-validation discussion, checked October 24, 2026, in Forecasting: Principles and Practice describes evaluating forecasts using only earlier observations at each training cutoff and extending the procedure to multiple steps. Here, the schedule states exactly which earlier observations are eligible.
Catch the intermediate-observation mistake
For the first row, using value 15 at position 4 would produce an error of 1 against target 14 at position 5. But that is a one-step last-observation forecast from origin 4. It cannot replace the two-step forecast issued at origin 3.
A rolling evaluation may legitimately use position 4 when the origin advances to 4. Keep each forecast's origin attached to its target and prediction so that an observation's eligibility is explicit. The same date can be unavailable for one forecast and available for a later one.
Preprocessing must follow those cutoffs too. Fit any learned scaling or imputation on the training window and apply it forward. Preserve the actual frequency and define how missing periods are treated; shuffling rows or silently closing date gaps changes the task.
Ask for the schedule before analysis code
Plan a time-series backtest. Do not fit a model or alter data yet.
Time column, frequency, units and observation availability: [ENTER]
Forecast issue time, horizon and operational question: [ENTER]
Permitted history and missing-period policy: [PASTE]
Covariates and when each becomes known: [ENTER]
For the teaching fixture y=[10,12,11,15,14,18,17,20], use expanding
windows with minimum length 3 and horizon 2. List each origin, eligible
training positions, target position, last-observation baseline and
absolute error. Explain why origin 3 cannot use the fourth observation
to predict the fifth.
Keep horizon-specific errors separate. Identify any preprocessing
that must be learned within a fold and any unresolved availability
rules. Do not shuffle the series, fill gaps by assumption, tune on
future targets, invent a fitted model or claim operational accuracy.
The data-science portfolio guide explains presenting a checked evaluation; this task establishes its chronological input boundary first. Run the approved fold schedule in the maintained notebook. Keep origin, horizon, target, baseline and model prediction in the output so a reviewer can recompute each error without guessing what was known when.