Skip to main content

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

ParameterTypeDefaultDescription
target_columnslistauto-detectColumns to forecast. Also accepts target_column (string, auto-promoted to list)
horizon_lenint30Forecast horizon (steps ahead). Range: 1-365
context_lenint512History window length. Range: 10-2048
frequencystring"D"Time series frequency: D, H, W, M, Q
date_columnstring"ds"Name of the date/time column in the dataset
model_typestring"auto"Which model to use: auto, prophet, arima, ets

How Model Selection Works

When model_type is "auto" (default), the system:

  1. Trains Prophet (Facebook), ARIMA (pmdarima auto), and ETS (Holt-Winters)
  2. Evaluates each on the last horizon_len points of the dataset
  3. Picks the model with the lowest MAE on the test split
  4. For multi-column forecasting, selects the best model per series

Tips

  1. Date column: Make sure date_column matches your CSV column name (default: "ds")
  2. Target selection: Always specify target_columns explicitly to avoid auto-detection picking the wrong column
  3. Frequency: Match the frequency to your data granularity (e.g. "T" for minute-level, "D" for daily)
  4. Multi-column: Pass multiple targets as target_columns: ["sales", "revenue"] to train one model per series

Next Steps