Classical Forecasting (Auto-Selection)
Automatic model selection for time series forecasting (Prophet / ARIMA / ETS)
Overview
- ID:
classical-forecasting-auto - Type: Time series forecasting (single + multi-column)
- Method: Auto-selects the best model among Prophet, ARIMA, and ETS
- Best for: Univariate and multivariate forecasting with classical methods
- Training time: 1-10 minutes
- GPU required: No (CPU-only — Prophet/ARIMA/ETS are statistical models)
Lifecycle
classical-forecasting-auto is currently a candidate template. Check the live catalog (GET /api/builder/v1/inference/models?category=time_series) for its current status.
For deep learning-based forecasting with quantile predictions, see TimesFM 2.5.
When to Use
Perfect for:
- Sales forecasting
- Demand prediction
- Energy consumption
- Any tabular time series with clear date column
- When you want interpretable, well-understood statistical models
Not ideal for:
- Sub-second / tick-level data
- Very short series (fewer than 50 points)
- Tasks requiring a foundation model (use TimesFM 2.5)
Quick Start
from colabhive import ColabHive
client = ColabHive(api_key="...", account_id="...")
dataset = client.datasets.upload("sales_ts", "./sales.csv")
job = client.training.create(
model="classical-forecasting-auto",
dataset_id=dataset.id,
hyperparameters={
"target_columns": ["sales"],
"horizon_len": 30,
"frequency": "D",
"date_column": "date",
}
)
job.wait()
endpoint = client.training.register_for_inference(
run_id=job.id,
name="sales-forecast",
description="Sales forecasting (auto-selected)",
visibility="account",
)
result = client.endpoints.infer(
endpoint_id=endpoint.endpoint_id,
input_data={
"historical_values": [100, 105, 98],
"horizon": 30,
},
)
print(result["task_id"], result["status"])
Dataset Format
CSV Format
date,sales,temperature,promo
2024-01-01,1000,25.5,0
2024-01-02,1050,26.1,1
2024-01-03,980,24.8,0
Requirements
- Date column: Date or datetime (name it via
date_column) - Target column(s): Numeric values to forecast (via
target_columns) - Min 50 points (recommended 200+)
Hyperparameters
| Parameter | Type | Default | Description |
|---|---|---|---|
target_columns | list | auto-detect | Columns to forecast. Also accepts target_column (string, auto-promoted to list) |
horizon_len | int | 30 | Forecast horizon (steps ahead). Range: 1-365 |
context_len | int | 512 | History window length. Range: 10-2048 |
frequency | string | "D" | Time series frequency: D, H, W, M, Q |
date_column | string | "ds" | Name of the date/time column in the dataset |
model_type | string | "auto" | Which model to use: auto, prophet, arima, ets |
How Model Selection Works
When model_type is "auto" (default), the system:
- Trains Prophet (Facebook), ARIMA (pmdarima auto), and ETS (Holt-Winters)
- Evaluates each on the last
horizon_lenpoints of the dataset - Picks the model with the lowest MAE on the test split
- For multi-column forecasting, selects the best model per series
Tips
- Date column: Make sure
date_columnmatches your CSV column name (default:"ds") - Target selection: Always specify
target_columnsexplicitly to avoid auto-detection picking the wrong column - Frequency: Match the frequency to your data granularity (e.g.
"T"for minute-level,"D"for daily) - Multi-column: Pass multiple targets as
target_columns: ["sales", "revenue"]to train one model per series
Next Steps
- TimesFM 2.5 (Foundation Model) - deep learning alternative with quantiles
- All Models