tbats
BATS and TBATS for time series forecasting
Decision gist · record as of 2026-08-14
Yes, if you need BATS/TBATS forecasting and can tolerate an abandoned package. The library is stable, has low install friction, carries no known vulnerabilities, and is permissively licensed. However, the last release was 2023-04-17 with no active maintenance. Use it for prototyping or production work where you can accept no further updates; avoid it if you need ongoing support or compatibility with future dependency versions.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- On Windows, fitting requires wrapping code in `if __name__ == '__main__':` due to multiprocessing behavior.
- Fitting can be slow on long time series; consider disabling Box-Cox transformation and ARMA errors or setting n_jobs=1 if parallelization freezes.
- Low friction: pure Python wheel with four well-established scientific dependencies.
License · maintenance · safety
MIT License (permissive) — MIT License (permissive): you can use, modify, and distribute this package freely with minimal restrictions, though you must retain the license notice.
last release 2023-04-17 (1215 days) · last repo commit 2023-04-17 · 183 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 710,553 downloads/mo, #5,259 on PyPI
Alternatives
Verify before relying
pip install tbats
from tbats import TBATS
import numpy as np
if __name__ == '__main__':
y = np.array([...]) # your time series
estimator = TBATS(seasonal_periods=[14, 30.5])
fitted_model = estimator.fit(y)
forecast = fitted_model.forecast(steps=14)- Whether the package remains compatible with current versions of numpy, scipy, scikit-learn, and pmdarima given the days since last release.
- Whether the R forecast package equivalence (stated in docs) is maintained across recent updates to the R implementation.
What it is and what it does
TBATS implements Bayesian Automatic Time Series forecasting methods designed to handle time series with multiple seasonal patterns and trend components. It combines exponential smoothing with automatic model selection, testing various configurations (including Box-Cox transformation and ARMA error modeling) to find the best fit. The package wraps numpy, scipy, scikit-learn, and pmdarima to perform this model search and fitting.
You provide a time series and optionally specify seasonal periods; TBATS fits a model, then forecasts forward. It exposes fitted values, residuals, model parameters, and summary statistics. The package is a Python port of the R forecast package's BATS/TBATS implementation. Fitting can be computationally intensive on long series, and the documentation includes troubleshooting guidance for slow convergence and multiprocessing issues.
Use it for
- Forecast retail sales or demand with weekly and yearly seasonal cycles without manual model specification.
- Analyze electricity load or utility consumption with multiple overlapping seasonal patterns.
- Predict web traffic or system metrics that exhibit both daily and weekly seasonality.
- Generate point forecasts and residual diagnostics for time series with complex, non-standard seasonal structures.
- Prototype time series forecasting pipelines where automatic model selection is preferred over manual tuning.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need BATS/TBATS forecasting and can tolerate an abandoned package.
The library is stable, has low install friction, carries no known vulnerabilities, and is permissively licensed. However, the last release was 2023-04-17 with no active maintenance. Use it for prototyping or production work where you can accept no further updates; avoid it if you need ongoing support or compatibility with future dependency versions.
Install
tbats on PyPI
Before you install
Low friction: pure Python wheel with four well-established scientific dependencies. However, the package is abandoned—last release was 2023-04-17 and no commits since. No active maintenance or security updates.
On Windows, fitting requires wrapping code in `if __name__ == '__main__':` due to multiprocessing behavior. Fitting can be slow on long time series; consider disabling Box-Cox transformation and ARMA errors or setting n_jobs=1 if parallelization freezes.
License in practice
MIT License (permissive): you can use, modify, and distribute this package freely with minimal restrictions, though you must retain the license notice.
Quickstart
pip install tbats
from tbats import TBATS
import numpy as np
if __name__ == '__main__':
y = np.array([...]) # your time series
estimator = TBATS(seasonal_periods=[14, 30.5])
fitted_model = estimator.fit(y)
forecast = fitted_model.forecast(steps=14)
Verify before relying
- Whether the package remains compatible with current versions of numpy, scipy, scikit-learn, and pmdarima given the days since last release.
- Whether the R forecast package equivalence (stated in docs) is maintained across recent updates to the R implementation.
Package facts
| License | MIT License permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesnumpyscipypmdarimascikit-learn |
| Maintenance | Abandoned 1,215 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 710,553 / month, #5,259 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 |
Evidence: tbats-1.1.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “time series forecasting seasonal”
- tbatsImplements BATS and TBATS exponential smoothing methods for…
- prophetProphet forecasts time series data using an additive model that…
- pmdarimaPmdarima provides automated ARIMA time series forecasting with a…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also prophet · statsforecast · pmdarima · hierarchicalforecast · cartoboost · neuralprophet · pytorch-forecasting · chronos-forecasting · coreforecast · simdkalman