finds.dev← search

// the find

Nixtla/statsforecast

★ 4,847 · Python · Apache-2.0 · updated Jul 2026

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →