In this article
IBM Granite offers a pre-built ensemble for time-series forecasting
IBM Research has released a tool that merges four pre-trained Granite models into a single forecasting interface, removing the need to select or retrain individual architectures.
Standard pre-trained models can generate forecasts without training on your specific data, but choosing the right one remains difficult. A model effective for smooth industrial signals might fail with noisy retail demand or long seasonal patterns. The Granite Timeseries Ensemble addresses this by providing a sensible default configuration.
The system combines four complementary Granite architectures to return median and quantile forecasts. It requires no retraining and does not calculate fitted ensemble weights. Users can start with the Probabilistic Ensemble, which uses uniform probability pooling, or switch to the adaptive Inter Quartile Range (IQR) Ensemble. The same interface supports adding other compatible forecasters later. The default recipe and its member models are permissively licensed.
This approach mirrors weather forecasting. Systems like the North American Multi-Model Ensemble merge different models to explore a range of possible outcomes. Time-series forecasting gains from this method because complementary models offer different perspectives on future data, and the ensemble merges those views into one prediction.
How to use the Granite Timeseries Ensemble
Install the Granite TSFM package and load the recommended four-model recipe directly from Hugging Face:
pip install "granite-tsfm>=0.3.11"import pandas as pd
from tsfm_public.models.ensemble.modeling_ensemble import QuantileEnsembleForecaster
df = pd.read_csv(
"https://raw.githubusercontent.com/zhouhaoyi/ETDataset/main/ETT-small/ETTh1.csv",
parse_dates=["date"],
)
ensemble = QuantileEnsembleForecaster.from_pretrained(
"ibm-granite/granite-timeseries-ensemble-r1",
)
result = ensemble(
df.tail(1024),
timestamp_column="date",
target_columns=["OT"],
context_length=1024,
prediction_length=24,
)
print(result.prediction_outputs) # point forecast
print(result.quantile_outputs) # quantilesThe recipe stores the ensemble configuration rather than merged model weights. It downloads the four member checkpoints at runtime, so allow extra time for the first run. For full configuration details, member checkpoints, evaluation data, and limitations, see the model card.
The result.prediction_outputs variable contains the point forecast, while result.quantile_outputs contains the quantile predictions which by default range from 0.1 to 0.9. Applications can use the point value as a central prediction and selected quantiles to express forecast ranges. For example, the 0.1 and 0.9 quantiles define a central forecast interval with nominal 80% coverage.
The ensemble members
The default recipe combines four pre-trained Granite models with different architectures:
| Model | Architecture |
|---|---|
| Granite PatchTST-FM-r1 | Patched Transformer |
| Granite PatchTST-FM-r2 | Patched Conformer |
| Granite FlowState-r1.1 | State-space model |
| Granite TTM-r3 | Tiny Time Mixers (MLP mixer) |
For background, see the PatchTST-FM-r1 paper, PatchTST-FM-r2 architecture overview, FlowState paper, and Tiny Time Mixers paper.
These architectures capture trends, seasonality, and local variation in different ways, so their errors need not coincide. A 50-year review of forecast combinations describes how combining forecasts can reduce the risk of picking the wrong single model, while stressing that member quality and diversity still matter.
Two ways to combine the forecasts
Each member returns quantile forecasts. The two main recipes use different rules to turn those forecasts into one predictive distribution and its median.
Probabilistic Ensemble: the recommended default
The Probabilistic Ensemble (uniform probability pooling) gives each member equal influence, pools their quantile forecasts in probability space, and extracts the requested quantiles from the combined values. Because the weights are fixed, there is no fitting step and no weighting hyperparameters to tune for a new series.
The forecast combination puzzle offers useful motivation: in point forecasting, simple equal-weight combinations have often held up well against methods with estimated weights. This recipe applies the same equal-influence idea to probabilistic forecasts. It is the default loaded in the example above.
IQR Ensemble: an adaptive alternative
The IQR Ensemble weights members according to their forecast spread, giving narrower intervals greater influence. It approximates each member’s interquartile range from the closest available quantiles around the 25th and 75th percentiles. Weights vary by sample, target, and horizon step, and like the Probabilistic Ensemble, nothing is fitted from historical forecast errors. Isotonic regression keeps the combined quantiles from crossing.
A narrower interval does not necessarily mean a more accurate or better-calibrated forecast, and IQR weighting can favor an overconfident member. If you want to experiment, the recipe exposes a temperature setting (higher values move the weights toward uniform) and an optional cap on any single member’s weight.
Load the evaluated IQR recipe by changing only the subfolder:
ensemble = QuantileEnsembleForecaster.from_pretrained(
"ibm-granite/granite-timeseries-ensemble-r1",
subfolder="recipes/granite-iqr",
)Which method should I use?
| Your goal | Start with | Why |
|---|---|---|
| A simple default | Probabilistic Ensemble | Equal influence, no fitted weights |
| Adaptive weighting based on forecast spread | IQR Ensemble | Influence varies with each member’s predicted spread |
Start with the Probabilistic Ensemble. If forecast spread looks informative for your application, compare the IQR Ensemble against it on representative data, since accuracy and calibration depend on the series and the horizon.
Does the ensemble improve on its members?
We evaluated both recipes on 97 GIFT-Eval dataset configurations. The models forecast without fine-tuning, and test targets were not used to select or fit the aggregation method. Here we compare the official ensemble submission results with the four constituent models, using published leaderboard scores and ranks captured on 20 October 2026.
GIFT-Eval reports MASE for point forecasts and CRPS/MWQL (the benchmark’s mean_weighted_sum_quantile_loss metric) for probabilistic forecasts. Scores are normalized to Seasonal Naive and geometrically averaged across configurations. Lower is better.
| Forecast | MASE ↓ | MASE Rank ↓ | CRPS / MWQL ↓ | CRPS Rank ↓ |
|---|---|---|---|---|
| Granite Ensemble R1 — Prob | 0.683★ | 47.175★ | 0.471 | 50.948 |
| Granite Ensemble R1 — IQR | 0.684 | 48.773 | 0.471 | 47.619★ |
| Granite PatchTST-FM-r2 | 0.685 | 51.371 | 0.467★ | 48.918 |
| Granite FlowState-r1.1 | 0.701 | 66.474 | 0.490 | 69.485 |
| Granite PatchTST-FM-r1 | 0.717 | 74.794 | 0.488 | 68.134 |
| Granite TTM-r3 | 0.724 | 83.062 | 0.520 | 88.959 |
★ Best value among the forecasts shown. Lower is better.
Rank columns average per-configuration ranks against the full GIFT-Eval reference leaderboard, not just these six forecasts, so rank values can shift as entries are added to the leaderboard.
Both ensembles outperform all four individual members on aggregate MASE and average MASE Rank. The Probabilistic Ensemble achieves the lowest MASE among these six forecasts: 0.683 compared with 0.685 for PatchTST-FM-r2. Lower average MASE Rank indicates stronger relative point-forecast performance across GIFT-Eval’s diverse dataset configurations. Together, these results support the ensemble as a practical starting point, without requiring developers to select the strongest individual architecture in advance. The MASE margin over the best single member is small, so the main benefit is robustness: you get comparable or better aggregate accuracy without knowing in advance which architecture will suit your data.
PatchTST-FM-r2 retains the lowest aggregate CRPS/MWQL score. The IQR Ensemble achieves the lowest average CRPS Rank among these six forecasts, while the Probabilistic Ensemble ranks behind PatchTST-FM-r2 on that measure. Aggregate error and average rank therefore favor different choices.
In the 20 October 2026 comparison, the ensemble approach ranks 3rd among eligible systems on MASE Rank and CRPS Rank. The figure below shows both recipes alongside the ten best eligible reference systems per metric. Some systems, including entries excluded as fine-tuned or non-permissively licensed, score better than either recipe, so the value of the ensemble is not that it tops the leaderboard. It is that a single default delivers strong, consistent results across many series without requiring you to choose a member.
Figure: GIFT-Eval average-rank standings on 20 October 2026, showing both Granite ensembles alongside the ten best eligible reference systems per metric. Eligible systems have replication code and no declared test-data leakage




