The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the AutoTS listing page.
AutoTS is a time series package for Python designed for rapidly deploying high-accuracy forecasts at scale. Give it a try in your browser with the official demo app.
In 2023, AutoTS won in the M6 forecasting competition, delivering the highest performance investment decisions across 12 months of stock market forecasting.
There are dozens of forecasting models usable in the sklearn style of .fit() and .predict().
These includes naive, statistical, machine learning, and deep learning models.
Additionally, there are over 30 time series specific transforms usable in the sklearn style of .fit(), .transform() and .inverse_transform().
All of these function directly on Pandas Dataframes, without the need for conversion to proprietary objects.
All models support forecasting multivariate (multiple time series) outputs and also support probabilistic (upper/lower bound) forecasts. Most models can readily scale to tens and even hundreds of thousands of input series. Many models also support passing in user-defined exogenous regressors.
These models are all designed for integration in an AutoML feature search which automatically finds the best models, preprocessing, and ensembling for a given dataset through genetic algorithms.
Horizontal and mosaic style ensembles are the flagship ensembling types, allowing each series to receive the most accurate possible models while still maintaining scalability.
A combination of metrics and cross-validation options, the ability to apply subsets and weighting, regressor generation tools, simulation forecasting mode, event risk forecasting, live datasets, template import and export, plotting, and a collection of data shaping parameters round out the available feature set.
This includes dependencies for basic models, but additonal packages are required for some models and methods.
Be advised there are several other projects that have chosen similar names, so make sure you are on the right AutoTS code, papers, and documentation.
Input data for AutoTS is expected to come in either a long or a wide format:
pandas.DataFrame with a pandas.DatetimeIndex and each column a distinct series.datetime format)= None..fit() as date_col, id_col, and value_col. No parameters are needed for wide data.Lower-level functions are only designed for wide style data.
The lower-level API, in particular the large section of time series transformers in the scikit-learn style, can also be utilized independently from the AutoML framework.
Check out extended_tutorial.md for a more detailed guide to features.
Also take a look at the production_example.py
superfast (simple naive models) and fast (more complex but still faster models, optimized for many series)fast_parallel (a combination of fast and parallel) or parallel, given many CPU cores are available
n_jobs usually gets pretty close with ='auto' but adjust as necessary for the environmentfrom autots.models.model_list import model_listssubset parameter when there are many similar series, subset=100 will often generalize well for tens of thousands of similar series.
subset, passing weights for series will weight subset selection towards higher priority series.model_interrupt=True to skip only the current model when you hit Ctrl+C. Tap Ctrl+C a second time within 1.5 seconds to end the entire run, or pass something like model_interrupt={"mode": "skip", "double_press_window": 1.2} to tighten/loosen the window.result_file method of .fit() which will save progress after each generation - helpful to save progress if a long training is being done. Use import_results to recover.transformer_max_depth to a lower number (say, 2) will increase speed. Also utilize transformer_list == 'fast' or 'superfast'.ensemble='horizontal-max' with model_list='no_shared_fast' can scale relatively well given many cpu cores because each model is only run on the series it is needed for.num_validations and models_to_validate will decrease runtime but may lead to poorer model selections.frequency and aggfunc but is probably best done before passing data into AutoTS.runtime_weighting in metric_weighting to a higher value. This will guide the search towards faster models, although it may come at the expense of accuracy.See the README.md in ./autots/mcp. Note install with pip install autots[mcp] for full dependencies, or the equivalent pip install autots-mcp.
mcp-name: io.github.winedarksea/AutoTS
If you wish to cite AutoTS in an academic work, the following paper may be used.
Colin Catlin, Adaptive forecasting in dynamic markets: An evaluation of AutoTS within the M6 competition, International Journal of Forecasting, Volume 41, Issue 4, 2025, Pages 1485-1493, ISSN 0169-2070, https://doi.org/10.1016/j.ijforecast.2025.08.004.
Also known as Project CATS (Catlin's Automated Time Series) hence the logo.