// the find
Nixtla/statsforecast
Lightning ⚡️ fast forecasting with statistical and econometric models.
StatsForecast is a Python library for univariate time series forecasting that implements AutoARIMA, ETS, Theta, CES, MSTL, and a battery of baseline models. The core algorithms are written in C++ (via the `src/` directory with Eigen), which is where the speed claims come from. It's aimed at data scientists who need to run forecasting at scale — millions of series — and want classical statistical methods, not neural nets.
The C++ backend is the real story here: AutoARIMA that's 20x faster than pmdarima and 1.5x faster than R is a genuinely useful number if you're fitting thousands of series in a pipeline. Native Spark/Dask/Ray integration via Fugue means you can scale horizontally without rewriting your model code. The model breadth is good — MSTL for multi-seasonality, Croston variants for intermittent demand, GARCH for volatility — this covers most production forecasting cases without pulling in multiple libraries. The experiments directory is unusually honest: reproducible benchmarks with Docker, R baselines, and actual code rather than just a screenshot of a bar chart.
Strictly univariate — if your series have complex multivariate dependencies or you need VAR/VARMA, look elsewhere. The exogenous variable support exists but is limited to ARIMA and a few models; you can't use regressors with ETS or Theta, which are often the better-performing models. The distributed backend relies on Fugue as an abstraction layer, which adds a dependency that has had its own maintenance concerns and introduces a non-obvious execution model when things go wrong. Documentation is split between nbdev-generated notebooks and Mintlify docs, making it harder to find a straight answer about model parameters than it should be.