---
title: 'Tsururu: Modular Forecasting Strategy Library'
url: https://www.emergentmind.com/topics/tsururu
type: topic
---

# Tsururu: Modular Forecasting Strategy Library

Searching arXiv for the cited Tsururu paper and closely related forecasting-strategy work.
Tsururu (“つるる”) is a Python library for flexible, multi-step, multivariate time-series forecasting that was introduced to address underexplored questions of selecting an optimal approach for training forecasting models [2509.15843]. It is positioned as a bridge between SoTA research and industry by enabling flexible combinations of global and multivariate approaches, five distinct multi-step-ahead forecasting strategies, and seamless integration with various forecasting models [2509.15843]. Its stated emphasis is not solely on new architectures, but on the combinatorial design space formed by preprocessing, regime selection, strategy choice, and model integration.

## 1. Motivation and problem setting

Tsururu was developed against the observation that classical and modern time-series forecasting libraries, including Darts, sktime, GluonTS, and NeuralForecast, often lock users into a single “global” or “local” regime, a narrow choice of multi-step forecasting strategies, and limited support for non-aligned series or arbitrary exogenous covariates [2509.15843]. The library’s motivation is therefore methodological as much as software-oriented: recent research is cited as showing that the choice of multi-step strategy—recursive, direct, MIMO, hybrid, and related variants—can materially affect accuracy [2509.15843].

The scope of the library is defined by three practical requirements. First, it provides a unified, modular pipeline that lets users mix and match global versus multivariate training regimes, arbitrary sets of preprocessing transforms, five forecasting strategies, and any model exposed through a simple adapter interface [2509.15843]. Second, it provides out-of-the-box support for non-aligned series, exogenous features, and backtesting or rolling validations [2509.15843]. Third, it is explicitly aimed at both researchers, who require fair benchmarking of SoTA models and strategies, and industry practitioners, who require stability, custom data handling, and flexible forecasting strategies [2509.15843].

A plausible implication is that Tsururu treats forecasting strategy as a first-class experimental variable rather than as a fixed implementation detail. This distinguishes its framing from libraries centered primarily on model families.

## 2. Architecture and pipeline design

The library is organized as a modular dataflow in which preprocessing, feature construction, strategy logic, regime selection, and training are separated into explicit components [2509.15843]. The main pipeline components can be summarized as follows.

| Component | Function | Examples stated in the source |
|---|---|---|
| Series-to-Series transforms | Transform raw series before windowing | imputations, StandardScaler, DifferenceNormalizer, LastKnownNormalizer, date-time/categorical encoders |
| Series-to-Features | Generate input histories | lagged windows of length $w$ |
| Features-to-Features | Transform window-level features | LKN |
| Strategy & Regime modules | Apply forecasting logic and choose training regime | recursive, direct, MIMO; global vs. multivariate |
| Trainer | Manage evaluation and optimization workflow | cross-validation splits, early stopping, backtesting, rolling forecasts |

Within this architecture, models are decoupled from raw temporal structure. Preprocessing, strategy logic, and the global or multivariate regime transform raw series into a wide-matrix $X$ and targets $y$, after which models interact with the data through a common scikit-learn-style interface, namely `fit(X, y)` and `predict(X)` [2509.15843]. This design permits the same forecasting workflow to be used with both classical ML and deep learning models.

The architecture also formalizes two distinct training regimes. In the **global** regime, each series is treated as an independent sample and one shared model is trained across all series [2509.15843]. In the **multivariate** regime, one model is trained on the full vector of series at once [2509.15843]. The multivariate regime is further divided into **Channel-Independent (CI)**, where each channel is processed with shared weights but no mixing, and **Channel-Mixing (CM)**, where the model is allowed to attend or convolve across channels [2509.15843].

This decomposition matters because it isolates modeling assumptions. Global training assumes parameter sharing across series without necessarily modeling inter-series interactions directly, whereas multivariate CM explicitly permits cross-channel dependence. The source does not claim one regime is universally superior; instead, it presents regime choice as contingent on data characteristics and empirical validation [2509.15843].

## 3. Formal taxonomy of forecasting strategies

A central contribution of Tsururu is a formal taxonomy of five multi-step forecasting strategies [2509.15843]. Let $X_t \in \mathbb{R}^d$ denote the $d$-dimensional observation at time $t$, let $w$ denote the input window length, and let $H$ denote the forecast horizon. The “wide” input sample at time $t$ is defined as

$$
x_t = [X_{t-w+1}, \ldots, X_t] \in \mathbb{R}^{w \cdot d},
$$

and a multi-step strategy implements a mapping

$$
f: \mathbb{R}^{w \cdot d} \to \mathbb{R}^{H \cdot d}.
$$

The distinction among strategies lies not in the codomain alone, but in how training targets and inference recursion are structured [2509.15843].

The **Recursive** strategy corresponds to iterated one-step forecasting with model horizon $MH = 1$ and a single-step predictor $f_1: \mathbb{R}^{w \cdot d} \to \mathbb{R}^d$ [2509.15843]. At inference time, predictions are fed back into the input window:

$$
\hat X_{t+h} = f_1([X_{t-w+h+1}, \ldots, X_t, \hat X_{t+1}, \ldots, \hat X_{t+h-1}]).
$$

Its loss is

$$
L_{Rec} = \sum_t \ell(f_1(x_t), X_{t+1}),
$$

where $\ell$ is, for example, MSE or MAE [2509.15843].

The **Direct** strategy also uses $MH = 1$, but trains separate models $f_h: \mathbb{R}^{w \cdot d} \to \mathbb{R}^d$ for each horizon step $h = 1, \ldots, H$ [2509.15843]. Inference is non-recursive, with $\hat X_{t+h} = f_h(x_t)$, and the loss aggregates horizon-specific predictors:

$$
L_{Dir} = \sum_{h=1}^H \sum_t \ell(f_h(x_t), X_{t+h}).
$$

The **Recursive-MIMO** strategy, identified as a hybrid Rec-MIMO approach, uses $MH > 1$ with $MH$ dividing $H$, and the paper notes $MH = 6$ as typical in its experiments [2509.15843]. A multi-output model $f_{RM}: \mathbb{R}^{w \cdot d} \to \mathbb{R}^{MH \cdot d}$ predicts blocks of steps, and the block forecasts are then applied recursively by sliding the window forward using predictions [2509.15843]. Its loss is

$$
L_{RM} = \sum_t \ell(f_{RM}(x_t), [X_{t+1}, \ldots, X_{t+MH}]).
$$

The **MIMO** strategy sets $MH = H$, producing the full forecast horizon in one shot via a single model $f_{MIMO}: \mathbb{R}^{w \cdot d} \to \mathbb{R}^{H \cdot d}$ [2509.15843]. Inference is simply

$$
[\hat X_{t+1}, \ldots, \hat X_{t+H}] = f_{MIMO}(x_t),
$$

with loss

$$
L_{MIMO} = \sum_t \ell(f_{MIMO}(x_t), [X_{t+1}, \ldots, X_{t+H}]).
$$

The fifth strategy, **FlatWideMIMO**, is described as rarely used [2509.15843]. It keeps $MH = 1$ but appends the horizon index $h \in \{1, \ldots, H\}$ as an extra feature, using a predictor $f_{FW}: \mathbb{R}^{w \cdot d + 1} \to \mathbb{R}^d$ [2509.15843]. During training, each $x_t$ is replicated $H$ times with the horizon-index feature and supervised against $X_{t+h}$, yielding

$$
L_{FW} = \sum_{h=1}^H \sum_t \ell(f_{FW}([x_t, h]), X_{t+h}).
$$

This taxonomy is significant because it makes explicit that “multi-step forecasting” is not a single protocol. The source further states that the choice among recursive, direct, MIMO, and hybrid variants can materially affect accuracy [2509.15843]. A plausible implication is that benchmark comparisons across forecasting models are incomplete when strategy choice is held fixed.

## 4. Model integration and software interface

Tsururu abstracts forecasting algorithms behind an adapter interface designed to accommodate both classical statistical or machine-learning models and PyTorch-based neural architectures [2509.15843]. All models are expected to support

```python
fit(X_train, y_train, X_val=None, y_val=None, **cfg)
predict(X_test)
```

with preprocessing, strategy logic, and regime selection performed upstream [2509.15843].

The library explicitly lists support for classical ML models such as CatBoost and SketchBoost, described as fast gradient-boosted trees for multi-output, and deep-learning models including DLinear, CycleNet, TimesNet, PatchTST, and GPT4TS [2509.15843]. Example adapters are stated to exist for ARIMA via statsmodels, Prophet, Scikit-Learn regressors, and PyTorch-based SoTA networks [2509.15843].

Adding a new model requires a thin wrapper that ingests the wide matrix $X \in \mathbb{R}^{n \times w \cdot d}$, calls the underlying library such as CatBoost or PyTorch with hyperparameters passed through its constructor or `**cfg`, and returns $\hat y$ of shape $(n \times H \cdot d)$ [2509.15843]. This formulation reduces the integration problem to a shape-compatible supervised-learning interface.

The significance of this design lies in interoperability. Rather than requiring a model to natively implement every forecasting regime or preprocessing variant, Tsururu relocates those responsibilities to the pipeline. This suggests a separation between temporal problem construction and function approximation: strategy modules define the supervised task, while adapters define the learner.

## 5. Usage patterns and experimental workflow

The source provides a minimal end-to-end workflow centered on `TimeSeriesDataset`, `ForecastingPipeline`, strategy and regime objects, model objects, and a `Trainer` [2509.15843]. The example constructs a dataset from a pandas `DataFrame` with `series_id`, `time`, `value`, and optional exogenous variables; sets `horizon=24` and `history=96`; specifies `exogenous_cols=['temp','promo']`; and assembles a pipeline with `StandardScaler`, `LastKnownNormalizer`, `RecursiveStrategy(mh=6)`, `GlobalRegime()`, and `SketchBoostRegressor` [2509.15843]. The `Trainer` is then configured with `cross_validation_splits=3` and `backtest_windows=2`, followed by `fit` and `predict`, and evaluation with `mean_absolute_error` [2509.15843].

This example encodes several methodological commitments. The library treats exogenous variables as native components of the dataset abstraction [2509.15843]. It also distinguishes internal cross-validation for early stopping from outer backtesting for performance estimation [2509.15843]. The recommendations section reinforces this dual validation protocol by stating that rolling cross-validation should be used for early stopping and backtest windows for realistic error estimates [2509.15843].

The source also recommends including “id” features to help global models distinguish series, while cautioning that adding date or time features hurt performance on ILI in the reported ablation [2509.15843]. This is noteworthy because it counters a common assumption that calendar covariates are uniformly beneficial. The statement is dataset-specific in the source and should be interpreted as such.

## 6. Empirical performance and reported findings

The empirical study reported for Tsururu is conducted on the weekly ILI dataset, described as challenging because of distinct annual seasonality and non-aligned series, with forecast horizon $H = 24$ and history $w = 96$ [2509.15843]. Within that setup, the source reports several findings.

Preprocessing with **LastKnownNormalizer (LKN) + StandardScaler** is stated to significantly outperform default scaling or differencing, as shown in a Critical-Difference diagram (Fig. 2) [2509.15843]. This places preprocessing choice alongside model and strategy choice as a major determinant of forecasting performance.

For training regimes, the reported median MAE ranking is **Global > Multivariate(CI) > Multivariate(CM)** (Table 1) [2509.15843]. This indicates that, on the weekly ILI benchmark, the global regime was more robust than the two multivariate variants. The recommendations align with this result by stating that the global regime is more robust on non-aligned or short series, while Multivariate CM should be tried if the series truly share dynamics [2509.15843].

For forecasting strategies, the source reports a differentiated pattern by model family [2509.15843]. For deep nets such as PatchTST, GPT4TS, and DLinear, **MIMO** is strongest on validation, but **Rec-MIMO (MH = 6)** often yields the lowest test MAE [2509.15843]. For boosting, specifically SketchBoost, **Rec-MIMO (MH = 6)** or **FlatWideMIMO** top-rank over MIMO [2509.15843]. The source further states that **Direct** is generally weaker and that simple **recursive** forecasting with $MH = 1$ sometimes suffers from error accumulation [2509.15843].

The best reported test result in the model-strategy ranking is **MAE = 0.7804**, achieved by **GPT4TS with Rec-MIMO (MH = 6)** (Table 2) [2509.15843]. In addition, the reproducibility analysis states that Tsururu reproduces published MAE and MSE within noise bounds, reported as mean $\pm \sigma$ across seeds (Table 3) [2509.15843].

These findings support the paper’s central claim that there are non-trivial gains from exploring combinations beyond default recursive or MIMO paradigms [2509.15843]. At the same time, the results are benchmark-specific. A careful reading suggests that the library is intended to facilitate such comparative evaluation rather than to prescribe a universally dominant strategy.

## 7. Best practices, limitations, and open directions

The source gives a concise set of operational recommendations. It recommends always experimenting with at least two strategies, specifically **MIMO** and **Rec-MIMO (MH > 1)**, because simple recursive forecasting with $MH = 1$ or direct forecasting may be suboptimal for long horizons [2509.15843]. It recommends using **LastKnownNormalizer** in addition to standard scaling to handle local distribution shifts [2509.15843]. It also states that, for deep learning, **MIMO often converges faster**, whereas for tree-based models, hybrid **Rec-MIMO** or **FlatWideMIMO** can unlock multi-output power [2509.15843].

These recommendations also clarify possible misconceptions. One misconception would be that multivariate channel mixing should dominate global models whenever multiple related series are available. The reported weekly ILI results do not support that as a universal rule, since the median MAE ordering favors the global regime [2509.15843]. Another misconception would be that recursive one-step forecasting is a neutral default; the source explicitly notes possible error accumulation and weaker long-horizon behavior relative to hybrid or one-shot alternatives [2509.15843].

The stated roadmap identifies four future directions: additional strategies such as **DirRec** and **Rectify**; **automatic neural-architecture search / universal constructor**; support for **mixed-frequency data** such as daily plus monthly series in one dataset; and integration with newly published SoTA models through community adapters [2509.15843]. These are presented as limitations or future work rather than completed functionality.

Taken together, these points define Tsururu as a forecasting-strategy library as much as a model library. Its main contribution is the exposure of a fully modular combinatorial space of preprocessing, strategies, regimes, and models, coupled with an API intended to make those combinations easy to configure and fair to compare [2509.15843].

Source: https://www.emergentmind.com/topics/tsururu