<forecast_context>
<dataset>
- Observations: 100
- Observations pooled across series: 200
- Series: 2
- Frequency: D
- Date range: 2023-01-01 to 2023-04-10
- Target: value
- Exogenous columns: none
- Target statistics (store_a): min 0, max 99, mean 49.5, std 29.01
- Target statistics (store_b): min 50, max 149, mean 99.5, std 29.01
- Missing values: none
- Index irregularities: none detected
</dataset>
<profile_decision>
The dataset contains 2 series, so a multi-series forecaster (ForecasterRecursiveMultiSeries) is recommended. Data: 200 observations pooled across 2 series, 'D' frequency. Alternative forecasters: ['ForecasterDirectMultiVariate']. Estimator: Ridge. A linear model is preferred because the dataset is small (200 observations < 250); gradient boosting is offered as an alternative once more data is available. Alternative estimators: ['RandomForestRegressor', 'LGBMRegressor'].
- Significant lags for store_a (partial autocorrelation, strongest first): 1
- Significant lags for store_b (partial autocorrelation, strongest first): 1
- Suggested window features: mean(window=3), std(window=3), mean(window=7), mean(window=21)
- Suggested calendar features: day_of_week, weekend, month
</profile_decision>
<forecast_plan>
- Steps: 3
- Estimator: Ridge
- Lags: [1, 2, 3, 4, 5, 7]
- Window features: [{'stats': ['mean', 'std'], 'window_size': 3}, {'stats': ['mean'], 'window_size': 7}, {'stats': ['mean'], 'window_size': 21}]
- Primary metric: mean_absolute_scaled_error
- Plan: ForecasterRecursiveMultiSeries + Ridge. Lags: [1, 2, 3, 4, 5, 7]. Window features: ['mean(window=3)', 'std(window=3)', 'mean(window=7)', 'mean(window=21)']. Calendar features: ['day_of_week', 'weekend', 'month'] (cyclical encoding). NaN rows kept (NaN-tolerant estimator). MASE is scale-independent, enabling fair comparison across differently-scaled series.

Note: A validated Python script implementing this plan is generated separately. Do not generate code yourself.
</forecast_plan>
<cross_validation>
- steps: 5
- initial_train_size: 70
- refit: False
- fixed_train_size: True
- gap: 0
- n_folds: 6
</cross_validation>
<deterministic_summary>
Backtested with 6 folds of 5 steps each, starting from an initial training window of 70 observations, without refitting.
</deterministic_summary>
<evaluation_metrics>
 series  MAE   MSE  MASE
store_a  2.5  9.25   0.8
store_b  3.5 16.50   1.2
</evaluation_metrics>
<predictions>
Total rows: 40. Only the first 5 and last 5 rows are shown; the 30 interior rows were not provided. Do not describe trends, growth, or progression across the horizon from these rows, and do not compare an early row against a late row as if they were adjacent. Use the per-column summary below for any statement about the full set of rows.

              level    pred
2023-03-22  store_a  1000.0
2023-03-22  store_a  1002.5
2023-03-23  store_a  1005.0
2023-03-23  store_a  1007.5
2023-03-24  store_a  1010.0
... (30 rows omitted) ...
2023-04-08  store_b  1087.5
2023-04-09  store_b  1090.0
2023-04-09  store_b  1092.5
2023-04-10  store_b  1095.0
2023-04-10  store_b  1097.5

Per-column summary (all rows):
  pred: min=1000.0, max=1097.5, mean=1048.75
Per-level summary of pred (all rows):
  store_a: min=1000.0, max=1047.5, mean=1023.75
  store_b: min=1050.0, max=1097.5, mean=1073.75
</predictions>
</forecast_context>
