Hirondel

Hirondel-7M: zero-shot probabilistic time-series forecasting

Hirondel — from French hirondelle (swallow), the bird said to tell the weather.

Hirondel is a 7M-parameter time-series forecasting model for zero-shot probabilistic forecasting: 9 quantiles from 0.1 to 0.9, any horizon, CPU-friendly. Code and weights under Apache-2.0: https://github.com/tncrd/hirondel.

One of the most accurate small time-series foundation models. At release (October 2026), it was the most accurate on GIFT-Eval, fev-bench and TIME among models under 10M parameters with public weights and a permissive license (official leaderboards, read on 2026-10-23; how this was checked: showcase/README.md).

Results

Benchmark MASE CRPS (fev-bench: SQL)
GIFT-Eval (97 tasks, normalised by Seasonal Naive; lower is better) 0.7003 0.4816
fev-bench (100 tasks, skill score in %; higher is better) 32.91 44.90
TIME (98 tasks, normalised by Seasonal Naive; lower is better) 0.6551 0.5520

These numbers are computed by us and not yet listed on the leaderboards. Added to the fev-bench leaderboard, they would rank 7 of 33 (SQL) and 6 of 33 (MASE) among the models the site shows by default (2026-10-23).

Accuracy against size, univariate setting

Univariate setting: every model forecasts each series alone, without covariates (competitors run by us in forced univariate mode with their public packages; TiRex, TimesFM-2.5, FlowState-r1.1 and Moirai-2.0 univariate by design). Pareto fronts over models with a permissive license, the others shown hollow.

Model Parameters License GIFT-Eval MASE GIFT-Eval CRPS TIME MASE TIME CRPS fev-bench SQL skill
Toto-2.0-4m 4.1M Apache-2.0 0.7591 0.5269 0.6940 0.5850 40.04
Timestral-5M 5.2M Modified MIT (revenue cap) 0.7102 0.4836 0.6571 0.5490 44.36
Hirondel (ours) 7.5M Apache-2.0 0.7003 0.4816 0.6551 0.5520 44.90
Moirai-2.0-small 11.4M CC-BY-NC-4.0 0.7281 0.5164 0.7030 0.5885 39.31
FlowState-r1.1 18.5M Apache-2.0 0.7014 0.4901
Toto-2.0-22m 21.9M Apache-2.0 0.7226 0.5009 0.6751 0.5654 42.37
Timestral-28M 27.8M Modified MIT (revenue cap) 0.6817 0.4641 0.6455 0.5408 45.86
TiRex 35.0M NX-AI Community License 0.7213 0.4921 0.6831 0.5731 42.58
Chronos-2 119.5M Apache-2.0 0.7037 0.4911 0.6659 0.5584 43.97
TimesFM-2.5 231.3M Apache-2.0 0.7050 0.4903 0.6686 0.5674 42.20

Industrial data: IND-Eval

IND-Eval, accuracy against size

Five industrial sources of IND-Eval, none in the training data (top row), then the nine of the paper's aggregate (bottom row). Hirondel: 0.839 / 0.536 (nMASE / nCRPS) on the five. With every model forecasting each channel alone (circles, our runs with the same harness), Hirondel is ahead of Chronos-2, TimesFM-2.5 and TiRex, level with Timestral-5M and Toto-2.0-22m, and behind Timestral-28M. Forecasting the channels jointly with PRONTO's covariates (crosses) moves Chronos-2 from 0.895 to 0.822. Tables per source, protocol and model versions: README, IND-Eval.

Accuracy against size, official leaderboards

Official leaderboards, read on 2026-10-23 (some models use covariates or joint multivariate forecasting there). Sources: showcase/data/ in the code repository.

Usage

import numpy as np
from hirondel import HirondelForecaster

forecaster = HirondelForecaster.from_pretrained("Tncrd/Hirondel-7M")
t = np.arange(1000)
context = np.sin(2 * np.pi * t / 24) + 0.1 * np.random.default_rng(0).normal(size=t.size)
forecast = forecaster.forecast(context, prediction_length=48)
print(forecast.quantiles.shape)   # (1, 48, 9)

Install with pip install "hirondel @ git+https://github.com/tncrd/hirondel@v1.0.0" (* pip install hirondel: PyPI release in preparation). Inference details, tail levels, hardware and numerical parity: see the code repository's README (https://github.com/tncrd/hirondel).

Training data

Real data under licenses that allow this release, plus synthetic data. Every source, its license, its attribution and the changes made are listed in DATA.md; NOTICE gathers the required attributions. No dataset of GIFT-Eval's test split, fev-bench or TIME is in the training data.

Limitations

  • Univariate: no covariates, no cross-series information.
  • Context: 2 048 points at full resolution plus a coarse reading of up to 8 192 points.
  • Tail levels 0.01 / 0.05 / 0.95 / 0.99 are extrapolated, not learned.

License

Apache-2.0 for code and weights. NOTICE must be kept when redistributing.

Citation

@misc{hirondel2026,
  title        = {Hirondel-7M: zero-shot probabilistic time-series forecasting},
  author       = {{The Hirondel Author (Tncrd)}},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/Tncrd/Hirondel-7M}}
}
Downloads last month
38
Safetensors
Model size
7.46M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Evaluation results

  • MASE (normalised by Seasonal Naive) on GIFT-Eval (97 tasks)
    self-reported
    0.700
  • CRPS (normalised by Seasonal Naive) on GIFT-Eval (97 tasks)
    self-reported
    0.482
  • Skill score on fev-bench (100 tasks)
    self-reported
    32.910
  • Skill score on fev-bench (100 tasks)
    self-reported
    44.900
  • MASE (normalised by Seasonal Naive) on TIME (98 tasks)
    self-reported
    0.655
  • CRPS (normalised by Seasonal Naive) on TIME (98 tasks)
    self-reported
    0.552