Merge target data with exogenous features and split into train/predict slices.
Performs an inner join of the selected target_columns from data with the selected exog_features from exogenous_features over the training window [start, end]. A separate prediction covariate slice (end+1h, cov_end] is also returned for use during inference.
String timestamps are converted to UTC-aware Timestamp objects automatically.
Inclusive end of the training window when it is earlier than end (the data extent). The forecaster starts predicting at end_train + 1h, so the prediction slice must start there too; anchoring it on end instead shifts the exogenous features against the prediction window whenever a consumer pins the training cutoff before the last observed target row (e.g. an only partially published frontier hour — the 2026-06-06 live incident). None (default) and any value at or after end keep the historical behaviour: the slice starts at end + 1h.
- exo_pred — forecast-window exogenous slice over (min(end, end_train)+1h, cov_end] (all columns), so that its first row is always the first prediction step.
Examples
Merge a toy target series with calendar features over a 3-day window: