Chronos-2 and Chronos-Bolt: Pretrained Time Series Forecasters from Amazon Science
Chronos: Pretrained Models for Time Series Forecasting
At a glance
- What is it?
- Amazon's chronos-forecasting package wraps pretrained models that forecast time series without task-specific training. This review covers the architecture, the zero-shot claims, the deployment paths, and the limits of trusting a foundation model with your data.
- Who is it for?
- Adopt chronos-forecasting if you need zero-shot forecasts on univariate or multivariate series, especially with covariates, and you can accept the Apache-2.0 license and the Hugging Face download requirement. Skip it if your series have strong non-stationary regimes or if you need on-premise, offline inference without external model pulls.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 8 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Chronos Actually Solves
Most time series forecasting tools require you to train a model per dataset. You collect history, engineer features, tune hyperparameters, and retrain when the pattern drifts. Chronos takes a different route: it ships pretrained models that you point at a series and ask for quantiles. The package targets engineers who want a forecast without building a bespoke model, or who need a strong baseline before investing in custom work. The README positions Chronos-2 as the latest model with zero-shot support for univariate, multivariate, and covariate-informed tasks. That means it accepts external regressors, which is rare among pretrained forecasters. The intended user is someone comfortable with Python and Hugging Face model hubs, not a person looking for a point-and-click tool.
Three Model Families, Three Different Mechanisms
The repository exposes three generations of models, each with a distinct inference strategy. The original Chronos treats a time series like text: it scales and quantizes observations into tokens, then feeds them to a language model trained with cross-entropy loss. Forecasts come from sampling multiple future trajectories. Chronos-Bolt changes the input representation. It patches the historical context into chunks of several observations, passes those patches through an encoder, and has the decoder directly generate quantile forecasts for multiple future steps. This direct multi-step approach is why the README claims Bolt models are up to 250 times faster and 20 times more memory efficient than the original Chronos models of the same size. Chronos-2, the newest family, builds on the Bolt architecture but extends it to handle multivariate series and covariates. The README reports a win rate over 90% against Chronos-Bolt in head-to-head comparisons, with the largest gains on tasks with exogenous features. These are architectural differences, not just version bumps.
Getting It Running: Commands and a Minimal Example
Installation is a single pip command: pip install chronos-forecasting. The README's minimal example imports pandas and then imports from chronos, but the snippet is cut off before showing the full forecasting call. What is visible is that you need pandas with the pyarrow extra, installed via pip install 'pandas[pyarrow]'. The actual model loading and predict calls are not shown in the cleaned README, so you would need to consult the notebooks in the repository, such as chronos-2-quickstart.ipynb, to see the full API. Model weights are not bundled in the pip package. They are downloaded from Hugging Face by model ID, like amazon/chronos-2 or autogluon/chronos-2-small. That means your inference environment needs network access to huggingface.co on first use, and you must pin a model ID to get reproducible results. The package also lists a SageMaker deployment notebook, which suggests that for production you are expected to move off a local Python script and onto an AWS endpoint.
The Zero-Shot Promise and Its Boundaries
Zero-shot forecasting sounds magical, but the README's own claims reveal the boundaries. Chronos-2's benchmark wins are on fev-bench, GIFT-Eval, and Chronos Benchmark II, which are public evaluation suites. Those benchmarks do not cover every domain. If your series has a strong weekly seasonality and a holiday effect that the pretrained model never saw, the forecast may be off. The README does not state a maximum context length or a minimum series length, which are critical constraints for any forecaster. Without those numbers, you cannot know if a 10-year daily series will be truncated or if a 20-point series is too short. The package also does not claim to handle missing values or irregular timestamps. The documentation is silent on preprocessing, so you must assume your input is a clean, regularly spaced pandas Series. That is a real limitation for operational data, which is rarely clean.
Where Chronos Is the Wrong Tool
If your forecasting problem requires a model that learns from your specific data, Chronos is not the right fit. The package is for zero-shot inference, not for fine-tuning on your historical records. The README does not mention any training or fine-tuning API. You cannot feed it your company's sales data and expect it to adapt to your promotions or pricing changes. For that, you would use a statistical model like ARIMA or a gradient boosting library, which train on your series directly. Chronos also assumes you can tolerate the latency of a transformer model. Even the tiny Bolt model has 9 million parameters, and the base model has 205 million. On a CPU-only environment, inference for long horizons could be slow. The README suggests SageMaker for production, which implies that running these models at scale on your own hardware may require GPU instances. If your deployment is an embedded device or a low-power edge node, a 200-million-parameter model is impractical.
The Real Alternative: Train Your Own or Use a Statistical Baseline
The honest alternative to Chronos is not another pretrained model. It is a classical method like seasonal naive or exponential smoothing, which you can implement with statsmodels or a few lines of pandas. Those methods have no pretrained weights, no Hugging Face download, and no GPU requirement. They also give you interpretable parameters: you can see the level, trend, and seasonality components. The trade-off is accuracy on complex series. Chronos-2's benchmark results suggest it beats those baselines on public datasets, but a baseline is still the right first check. If a seasonal naive forecast is within 5% of Chronos's error on your data, you do not need a 120-million-parameter model. Another alternative is AutoGluon, which the README mentions for deployment. AutoGluon is a full AutoML framework that can train multiple model types and stack them. It is not zero-shot, but it learns from your data and often produces a stronger, more tailored forecast for a specific series. The difference in approach is fundamental: Chronos generalizes from pretraining, AutoGluon fits to your data.
Maintenance, Licensing, and Upgrade Path
The repository is under the Apache-2.0 license, which permits commercial use, modification, and redistribution, with the condition that you preserve the license notice. That is permissive, but it does not cover the model weights themselves. The weights live on Hugging Face under their own terms, which you must check separately. The project is actively maintained: the last push was September 2026, and version 2.3.2 was released the same day. The release history shows a steady cadence, with 2.3.0 in June and 2.3.1 in July 2026. That means you can expect updates, but also that the API might shift between minor versions. The README does not document a migration guide or a deprecation policy. If you pin to a specific version, you are safe, but if you follow the latest release, you should read the changelog before upgrading. The package also depends on the Hugging Face transformers library, which has its own release cycle. Upgrading transformers to get a new feature could break Chronos, so you should test after any dependency bump.
Editorial conclusion
Adopt chronos-forecasting if you need zero-shot forecasts on univariate or multivariate series, especially with covariates, and you can accept the Apache-2.0 license and the Hugging Face download requirement. Skip it if your series have strong non-stationary regimes or if you need on-premise, offline inference without external model pulls. Before committing, verify the model's context length matches your series length, test on your own metrics, and compare against a simple baseline like seasonal naive. For production, review the SageMaker deployment notebooks and confirm the CPU or GPU instance type you plan to use meets the memory footprint of the selected model size.
Community notes