The Forecasting Company

t0-alpha

t0-alpha is an open-weights time-series forecasting foundation model from The Forecasting Company.

t0 is a transformer-based model that produces probabilistic multi-horizon forecasts and natively operates on multiple covariates. t0-alpha is the first public iteration of the model.

You can use t0 on Retrocast, The Forecasting Company's platform for forecasting on your own data and comparing forecasts across open-weight models.

t0 forecasting French national electricity demand in Retrocast

t0 forecasting French national electricity demand in Retrocast. Data: Enedis open data.

Model Details

t0-alpha is an alpha release intended for research, experimentation, and applied forecasting evaluation.

Intended Use

t0-alpha is intended for probabilistic time-series forecasting. It can be used for univariate and multivariate forecasting, forecasting with historical or known-future covariates and multi-horizon forecasting.

Known-future covariates can include calendar features, planned events, holidays, promotions, weather forecasts, or other external signals available over the forecast horizon.

Forecasts should be treated as probabilistic estimates, not guarantees.

πŸ“ˆ Forecasting With Covariates

t0 leverages covariate information, in the past and future when available, to improve its forecast.

Without covariates With covariates
t0 forecast without covariates t0 forecast with covariates

Data: Medic'AM, monthly drug reimbursements from the French national health insurance.

The Quickstart below shows the API for both a plain univariate forecast and a multivariate forecast that conditions on historical and known-future covariates.

Installation

pip install tfc-t0

Requirements:

  • Python >=3.11,<3.14
  • PyTorch >=2.4,<3

Optional extras:

pip install "tfc-t0[evaluation]"
pip install "tfc-t0[plot]"

πŸš€ Quickstart

The simplest path is a univariate forecast through predict:

import torch
from t0 import T0Forecaster

model = T0Forecaster.from_pretrained("theforecastingcompany/t0-alpha").eval()

context = torch.randn(4, 512)  # 4 series, 512 past timesteps
out = model.predict(context, horizon=64, quantiles=[0.1, 0.5, 0.9])
out.quantiles  # (4, 64, 3)
out.median     # (4, 64)

predict accepts PyTorch tensors and NumPy arrays.

Forecasting With Covariates

Anything known over the past goes in context. Alongside the target, extra variates attend to it and are forecast together. Anything known over the future, such as calendar features, planned promotions, or weather forecasts, goes in future_covariates, shaped [B, F, context + horizon]; the model conditions on it but does not forecast it.

import torch
from t0 import T0Forecaster

model = T0Forecaster.from_pretrained("theforecastingcompany/t0-alpha").eval()

context = torch.randn(2, 512)                    # 2 series, 512 past timesteps
future_covariates = torch.randn(2, 3, 512 + 64)  # 3 covariates known over context + horizon

out = model.predict(
    context,
    horizon=64,
    quantiles=[0.1, 0.5, 0.9],
    future_covariates=future_covariates,
)
out.quantiles  # (2, 64, 3)
out.median     # (2, 64)

Input Contract

  • context may be shaped (B, T) for batched univariate forecasting.
  • context may also be shaped (T,); it is promoted to a single-row batch.
  • context may be shaped (B, V, T) for multiple target variates.
  • future_covariates, when provided, should be shaped (B, F, context + horizon).
  • NaN values are treated as missing observations.
  • horizon must be at least 1.
  • Requested quantiles must be non-empty, sorted ascending, unique, and in (0, 1).
  • The model was trained to emit quantiles 0.1, 0.25, 0.5, 0.75, and 0.9.
  • Requested quantiles are produced by inference-time interpolation when needed.
  • Horizons up to 1024 timesteps are decoded in one forward pass.
  • Longer horizons use autoregressive rollout.
  • Returned forecasts are finite float32 tensors on the model's device.

πŸ—οΈ Architecture

t0 is a decoder-style patch transformer.

It encodes each patch from values, within-patch time index, and validity mask. The transformer alternates causal time-axis self-attention with variate-axis group self-attention. Time attention uses time-aware rotary embeddings. Variate attention lets variates in the same sample attend to one another. The stack uses pre-norm RMSNorm blocks, SwiGLU feed-forward layers, and a quantile head.

At inference, target and historical variates are normalized with causal running statistics. Future covariates use per-row global statistics.

Field Value
Parameters approximately 102M
Layers 24
Layer pattern 2 time-attention layers, then 1 group-attention layer
Time attention layers 16
Group attention layers 8
Embedding dim 512
Feedforward dim 2048
Attention heads 8
Patch size 32
Dropout 0.1
Scaler causal mean/std with arcsinh transform
Native quantile levels 0.1, 0.25, 0.5, 0.75, 0.9

Evaluation

t0-alpha is reported on the GIFT-Eval leaderboard and the fev-bench leaderboard.

Benchmark Metric Value
GIFT-Eval CRPS 0.4941
GIFT-Eval MASE 0.7240
fev-bench Skill score 42.2

Users should also evaluate t0-alpha on their own historical backtests. Useful checks include quantile loss, CRPS, MASE, empirical quantile coverage, calibration, and breakdowns by frequency, horizon, domain, history length, and covariate availability.

🧰 Public API

  • T0Forecaster: The actual PyTorch module class.
  • Forecast: return object encapsulating forecasted quantiles.
  • T0Config: dataclass to configure the model.

🧬 Lineage and Attributions

t0 builds on ideas from open-source forecasting models. We gratefully acknowledge:

  • Toto by Datadog (repo) and Chronos-2 by Amazon (repo) for factorizing attention in the time and variates dimension.
  • TiRex by NXAI (repo) for contiguous patch masking.

Code-level attributions are listed in NOTICE, all under Apache-2.0.

Environmental Impact

Training compute and carbon emissions are not currently reported.

πŸ“š Citation

@misc{tfc-t0,
  title  = {t0: A time-series forecasting foundation model},
  author = {The Forecasting Company},
  year   = {2026},
  url    = {https://huggingface.co/theforecastingcompany/t0-alpha},
}

βš–οΈ License

Apache-2.0. See LICENSE and NOTICE.

Contact

For issues, bug reports, or API questions, please use the GitHub issue tracker:

https://github.com/theforecastingcompany/tfc-t0/issues

Downloads last month
974
Safetensors
Model size
0.1B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ 2 Ask for provider support

Evaluation results