statsforecast
Time series forecasting suite using statistical models
What it is and what it does
StatsForecast is a Python library for univariate time series forecasting built around statistical and econometric models. It provides automatic model selection and fitting for ARIMA, ETS, CES, Theta, and related methods, optimized for speed and accuracy. The library includes both point forecasts and probabilistic forecasts with confidence intervals, supports exogenous variables and static covariates, and integrates with distributed computing frameworks (Spark, Dask, Ray) for scaling to large numbers of time series.
The package is designed for production forecasting and benchmarking scenarios where speed and accuracy matter. It uses sklearn-like syntax (fit/predict) and includes utilities for anomaly detection, cross-validation, and handling multiple seasonalities. Dependencies include numpy, pandas, scipy, and statsmodels for core statistical computation, plus utilities for parallel processing and data handling.
Use it for:
- Fit automatic ARIMA or ETS models to hundreds of thousands of time series in parallel using Ray or Dask.
- Generate probabilistic forecasts with confidence intervals for demand planning or inventory management.
- Detect anomalies in time series using in-sample prediction intervals.
- Forecast electricity load or other multi-seasonal data using MSTL decomposition.
- Replace or benchmark against other forecasting libraries (e.g., Prophet) with faster, more accurate models.
- Handle intermittent demand or sparse time series data with specialized models.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
StatsForecast provides fast implementations of statistical forecasting models including AutoARIMA, AutoETS, AutoCES, and Theta for univariate time series prediction, with support for distributed computing via Spark, Dask, and Ray.
Yes. StatsForecast is actively maintained, has no known vulnerabilities, and offers a mature, well-documented suite of statistical forecasting models with strong performance characteristics. The permissive Apache license and broad Python version support (3.10–3.14) make it low-risk. Install friction is moderate due to multiple dependencies, but pre-built wheels and active maintenance mitigate this. Suitable for production forecasting and benchmarking work.
Install
statsforecast on PyPI
pip
pip install statsforecastuv
uv add statsforecastpoetry
poetry add statsforecastInstalling statsforecast
Before you install
Medium install friction due to 10 runtime dependencies including numpy, pandas, scipy, and statsmodels. Package is actively maintained with recent release (29 days old) and broad Python version support (3.10–3.14). Pre-built wheels available for multiple platforms.
License in practice
Licensed under Apache Software License 2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions.
Quickstart
pip install statsforecast
from statsforecast import StatsForecast
from statsforecast.models import AutoARIMA
df = AirPassengersDF
sf = StatsForecast(models=[AutoARIMA(season_length=12)], freq='ME')
sf.fit(df)
sf.predict(h=12, level=[95])
Requires Python 3.10 or later; depends on compiled dependencies (numpy, scipy, statsmodels).
Verify before relying
- Whether distributed execution (Spark, Dask, Ray) requires additional setup beyond the base install.
- Performance benchmarks cited in description (e.g., '20x faster than pmdarima') and their applicability to typical use cases.
- Specific memory or computational requirements for fitting millions of series as claimed.
Package facts
| License | Apache Software License 2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 10 — cloudpickle, coreforecast, numpy, pandas, scipy, statsmodels, tqdm, fugue, utilsforecast, threadpoolctl |
| Maintenance | actively maintained — 29 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,895,194/month — #3,454 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: statsforecast-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl; statsforecast-2.1.1-cp310-cp310-macosx_11_0_arm64.whl; statsforecast-2.1.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; statsforecast-2.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; statsforecast-2.1.1-cp310-cp310-win_amd64.whl; statsforecast-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl; statsforecast-2.1.1-cp311-cp311-macosx_11_0_arm64.whl; statsforecast-2.1.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; statsforecast-2.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; statsforecast-2.1.1-cp311-cp311-win_amd64.whl; statsforecast-2.1.1-cp312-cp312-macosx_10_13_x86_64.whl; statsforecast-2.1.1-cp312-cp312-macosx_11_0_arm64.whl; statsforecast-2.1.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; statsforecast-2.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; statsforecast-2.1.1-cp312-cp312-win_amd64.whl; statsforecast-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl; statsforecast-2.1.1-cp313-cp313-macosx_11_0_arm64.whl; statsforecast-2.1.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; statsforecast-2.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; statsforecast-2.1.1-cp313-cp313-win_amd64.whl
Keywords: time-series, forecasting, arima, ets
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
cartoboostCartoBoost is a Rust-backed gradient boosting…
permissive · top 15,000 on PyPI
hierarchicalforecastReconciles hierarchical time-series forecasts…
permissive · top 15,000 on PyPI
neuralforecastNeuralForecast provides a collection of neural…
permissive · top 15,000 on PyPI
tbatsImplements BATS and TBATS exponential smoothing…
permissive · top 15,000 on PyPI
neuralprophetNeuralProphet is a PyTorch-based framework for…
permissive · top 15,000 on PyPI
coreforecastProvides fast C++ implementations of…
permissive · top 5,000 on PyPI
mlforecastmlforecast trains machine learning models on…
permissive · top 15,000 on PyPI
pmdarimaPmdarima provides automated ARIMA time series…
permissive · top 5,000 on PyPI
prophetProphet forecasts time series data using an…
permissive · top 5,000 on PyPI
u8dartsu8darts is a deprecated compatibility shim that…
permissive · top 15,000 on PyPI