t0
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 our first iteration of the model.
You can use t0 on Retrocast, our platform for forecasting on your own data. You can also compare forecast across different open-weight models.
t0 forecasting French national electricity demand in Retrocast. Data:
Enedis open data.
π Forecasting with covariates
t0 leverages covariate information, in the past and future when
available, to improve its forecast.
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.
π Quickstart
pip install tfc-t0
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 numpy arrays. 1-D contexts are auto-promoted to a
single-row batch. NaN values in the context are treated as missing
observations.
Forecasting with covariates
Anything you know over the past goes in context β alongside the
target, extra variates attend to it and are forecast together. Anything
you know over the future (calendar features, planned promotions,
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)
ποΈ Architecture
t0 is a decoder-style patch transformer that alternates time and
covariate attention layers. It predicts 5 quantiles (0.1, 0.25, 0.5,
0.75, 0.9), decoding multiple horizons in parallel β up to 1024
timesteps in one forward pass β and falling back on autoregressive
rollout for longer horizons.
| Parameters | ~102M |
| Layers | 24 |
| Embedding dim | 512 |
| Feedforward dim | 2048 |
| Attention heads | 8 |
| Patch size | 32 |
| Quantile levels | 0.1, 0.25, 0.5, 0.75, 0.9 |
𧬠Lineage
t0 builds on ideas β and in places, code β from open-source forecasting
models. We gratefully acknowledge:
- Toto by Datadog (repo) & Chronos-2 by Amazon (repo) β factorizing attention in the time and variates dimension.
- TiRex by NXAI (repo) β contiguous patch masking.
Code-level attributions are listed in NOTICE, all under
Apache-2.0.
π§° Public API
T0Forecasterβnn.Modulewithfrom_pretrained/save_pretrained(viahuggingface_hub.PyTorchModelHubMixin) and the user-facingpredict(context, horizon, quantiles, future_covariates).T0Configβ frozen dataclass;T0Config.medium()is the published configuration.
π 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
- Downloads last month
- -
Evaluation results
- Skill score on fev-benchfev-bench leaderboard42.500
- CRPS on GIFT-EvalGIFT-Eval leaderboard0.513
- MASE on GIFT-EvalGIFT-Eval leaderboard0.743


