Nixtla · lightning-fast classical forecasting · millions of series · verified against StatsForecast 2.x (2026)

StatsForecast cheat sheet

StatsForecast (Nixtla) is numba-compiled statistical forecasting built for scale: the fastest implementations of AutoARIMA, AutoETS, AutoCES, MSTL and Theta, fitting millions of series in parallel. It's the modern replacement for pmdarima. Data uses the Nixtla long format (unique_id, ds, y) and works with pandas or polars; the same code scales out to Spark, Dask and Ray. This sheet targets StatsForecast 2.x.

setup & data models forecast intervals & exogenous validate & scale gotcha most common

Verified 2026-08-24 against the official docs at nixtlaverse.nixtla.io/statsforecast and the Nixtla/statsforecast repo (v2.x). Part of the Nixtlaverse alongside mlforecast, neuralforecast and utilsforecast.

Outline

Put data in the unique_id, ds, y long format, list your models, then one forecast() call fits & predicts every series in parallel.

Setup

  1. 1 · Install & data format
  2. 2 · The StatsForecast object

Models

  1. 3 · Model zoo
  2. 4 · Seasonality & MSTL

Forecast

  1. 5 · forecast vs fit/predict
  2. 6 · Prediction intervals
  3. 7 · Exogenous features

Validate & scale

  1. 8 · Cross-validation
  2. 9 · Plotting & distributed
  3. 10 · Gotchas
  4. Worth memorizing

Setup & Data

The Nixtla long format is the one thing to get right.

1Install & data format2.x
2The StatsForecast objectthe engine

Models

Auto-tuned classics plus fast baselines — run several at once and compare.

3Model zoofrom statsforecast.models
4Seasonality & MSTLmultiple seasons

Forecast

One call fits and predicts every series.

5forecast vs fit/predicttwo styles
6Prediction intervalsuncertainty
7Exogenous featuresextra regressors

Validate & Scale

Backtest properly, and go from one machine to a cluster with no code change.

8Cross-validationbacktest
9Plotting & distributedinspect & scale out
!Common gotchasread before shipping

Worth memorizing

long format: unique_id, ds, ystack more series as more rows; pandas or polars
list of models = columnsStatsForecast(models=[AutoARIMA(), AutoETS()], freq, n_jobs=-1)
forecast() over fit/predictfits + predicts stateless — fastest for many series
season_length = periods per cycle7 / 12 / 24, an integer — not a word
MSTL for multiple seasonalitiesseason_length=[24, 24*7] with a trend_forecaster
level=[80,95] for intervalsor ConformalIntervals for distribution-free coverage
cross_validation for backtestsn_windows rolling origins; score with utilsforecast.evaluate
the pmdarima replacementAutoARIMA, faster and scalable to millions of series
same API on Spark/Dask/Raypass a distributed DataFrame to scale out