RepoAmazon (Nova)Amazon (Nova)published Feb 23, 2024seen 5d

amazon-science/chronos-forecasting

Python

Open original ↗

Captured source

source ↗

amazon-science/chronos-forecasting

Description: Chronos: Pretrained Models for Time Series Forecasting

Language: Python

License: Apache-2.0

Stars: 5446

Forks: 648

Open issues: 35

Created: 2024-02-23T10:35:42Z

Pushed: 2026-06-08T07:26:18Z

Default branch: main

Fork: no

Archived: no

README:

🚀 News

  • 5 Jun 2026: ☁️ Deploy Chronos-2 to AWS with AutoGluon-Cloud — real-time, serverless, or batch inference in 3 lines of code, pandas DataFrames in, forecasts out. See the new deployment guide.
  • 30 Dec 2025: 🧠 Deploy Chronos-2 to AWS with Amazon SageMaker JumpStart — production-ready real-time endpoints on CPU or GPU, ready to integrate into your existing AWS workflows. See the [deployment tutorial](notebooks/deploy-chronos-to-amazon-sagemaker.ipynb).
  • 20 Oct 2025: 🚀 Chronos-2 released. It offers _zero-shot_ support for univariate, multivariate, and covariate-informed forecasting tasks. Chronos-2 achieves the best performance on fev-bench, GIFT-Eval and Chronos Benchmark II amongst pretrained models. Check out [this notebook](notebooks/chronos-2-quickstart.ipynb) to get started with Chronos-2.
  • 12 Dec 2024: 📊 We released `fev`, a lightweight package for benchmarking time series forecasting models based on the Hugging Face `datasets` library.
  • 26 Nov 2024: ⚡️ Chronos-Bolt models released on HuggingFace. Chronos-Bolt models are more accurate (5% lower error), up to 250x faster and 20x more memory efficient than the original Chronos models of the same size!
  • 13 Mar 2024: 🚀 Chronos paper and inference code released.

✨ Introduction

This package provides an interface to the Chronos family of pretrained time series forecasting models. The following model types are supported.

  • Chronos-2: Our latest model with significantly enhanced capabilities. It offers zero-shot support for univariate, multivariate, and covariate-informed forecasting tasks. Chronos-2 delivers state-of-the-art zero-shot performance across multiple benchmarks (including fev-bench and GIFT-Eval), with the largest improvements observed on tasks that include exogenous features. It also achieves a win rate of over 90% against Chronos-Bolt in head-to-head comparisons. To learn more about Chronos, check out the technical report.
  • Chronos-Bolt: A patch-based variant of Chronos. It chunks the historical time series context into patches of multiple observations, which are then input into the encoder. The decoder then uses these representations to directly generate quantile forecasts across multiple future steps—a method known as direct multi-step forecasting. Chronos-Bolt models are up to 250 times faster and 20 times more memory-efficient than the original Chronos models of the same size. To learn more about Chronos-Bolt, check out this blog post.
  • Chronos: The original Chronos family which is based on language model architectures. A time series is transformed into a sequence of tokens via scaling and quantization, and a language model is trained on these tokens using the cross-entropy loss. Once trained, probabilistic forecasts are obtained by sampling multiple future trajectories given the historical context. To learn more about Chronos, check out the publication.

Available Models

📈 Usage

To perform inference with Chronos, the easiest way is to install this package through pip:

pip install chronos-forecasting

> [!TIP] > For production use, we recommend deploying Chronos-2 to Amazon SageMaker. Two options: > - [AutoGluon-Cloud](https://auto.gluon.ai/cloud/stable/tutorials/foundation-model-timeseries.html) (recommended) — high-level Python API. Pandas DataFrames in, forecasts out. Real-time, serverless, and batch inference out of the box. > - [SageMaker JumpStart](notebooks/deploy-chronos-to-amazon-sagemaker.ipynb) — production-ready real-time endpoints on CPU or GPU, ready to integrate into your existing AWS workflows.

Forecasting

A minimal example showing how to perform forecasting using Chronos-2:

import pandas as pd # requires: pip install 'pandas[pyarrow]'
from chronos import Chronos2Pipeline

pipeline = Chronos2Pipeline.from_pretrained("amazon/chronos-2", device_map="cuda")

# Load historical target values and past values of covariates
context_df = pd.read_parquet("https://autogluon.s3.amazonaws.com/datasets/timeseries/electricity_price/train.parquet")

# (Optional) Load future values of covariates
test_df = pd.read_parquet("https://autogluon.s3.amazonaws.com/datasets/timeseries/electricity_price/test.parquet")
future_df = test_df.drop(columns="target")

# Generate predictions with covariates
pred_df = pipeline.predict_df(
context_df,
future_df=future_df,
prediction_length=24, # Number of steps to forecast
quantile_levels=[0.1, 0.5, 0.9], # Quantile for probabilistic forecast
id_column="id", # Column identifying different time series
timestamp_column="timestamp", # Column with datetime information
target="target", # Column(s) with time series values to predict
)

We can now visualize the forecast:

import matplotlib.pyplot as plt # requires: pip install matplotlib

ts_context = context_df.set_index("timestamp")["target"].tail(256)
ts_pred = pred_df.set_index("timestamp")
ts_ground_truth = test_df.set_index("timestamp")["target"]

ts_context.plot(label="historical data", color="xkcd:azure", figsize=(12, 3))
ts_ground_truth.plot(label="future data (ground truth)", color="xkcd:grass green")
ts_pred["predictions"].plot(label="forecast", color="xkcd:violet")
plt.fill_between(
ts_pred.index,
ts_pred["0.1"],
ts_pred["0.9"],
alpha=0.7,
label="prediction interval",
color="xkcd:light lavender",
)
plt.legend()

Example Notebooks

  • [Chronos-2 Quick Start](notebooks/chronos-2-quickstart.ipynb)

Excerpt shown — open the source for the full document.