Case studyDecathlon

Demand Forecasting at European Scale

~€35M in annual savings — and a forecasting model the supply chain could finally audit

Annual savings

~€35M

Inventory optimisation (program-level)

Forecast error

−2.5%

Global WAPE on sales forecasts

Scope

30,000+

Products, European scale

Open source

2 PRs

Merged into Nixtla/NeuralForecast

Overview

Decathlon's country-level demand forecasting drives inventory decisions across 30,000+ products in Europe. I worked on the forecasting core: foundation models, calibrated uncertainty, and a Temporal Fusion Transformer rebuilt so planners could see why it recommended what it recommended. The interpretability work was the condition for adoption — and the improvements were contributed back upstream to Nixtla's NeuralForecast.

The Challenge

Classical models handled the regular part of demand well and the interesting part badly: seasonality, promotions, regional differences, new products with no history. But the deeper blocker was not accuracy — supply chain teams would not act on recommendations they could not explain.

Key pain points

  • Point forecasts with no usable uncertainty, leaving safety stock a manual judgement call
  • Cold start on new or sparse products, where history-only models have nothing to work with
  • 'Black box' deep learning outputs that planners refused to act on
  • Diverse product categories poorly served by a single fixed architecture

The Solution

A forecasting stack built on three levers: better priors from foundation models, honest uncertainty from conformal prediction, and a TFT reworked for interpretability and architectural flexibility.

1

Foundation models for time series

Fine-tuned state-of-the-art foundation models (TimesFM, Chronos) to transfer knowledge across product hierarchies, improving behaviour on series with little or no history.

2

Multimodal semantic enrichment

Built a pipeline injecting text embeddings of product descriptions as covariates, letting the model exploit similarity between items beyond their individual time series.

3

Conformal prediction for calibrated uncertainty

Replaced point estimates with statistically robust prediction intervals, so safety stock could be sized against a real risk level instead of a rule of thumb.

4

TFT rebuilt for interpretability — the condition for adoption

Added native feature importance and attention weight extraction, plus flexible RNN configurations (GRU/LSTM, multi-layer stacking, static covariate initialisation). Planners could audit which variables and which time steps drove a given recommendation.

5

Contributed back upstream

The interpretability suite and the custom RNN layers were merged into Nixtla/NeuralForecast (PRs #1104 and #1230), validating the approach outside Decathlon's own codebase.

Results & Impact

~€35M annual savings

Through inventory optimisation

Program-level figure at Decathlon. My contribution was the forecasting core: the TFT architecture work, the uncertainty quantification, and the interpretability that made the recommendations actionable.

−2.5% WAPE

Global forecast error

Measured on sales forecasts against the incumbent baseline, across the European product scope.

Auditable recommendations

Feature importance + attention weights

Supply chain stakeholders could inspect the drivers behind a forecast — what moved the model from pilot to decision support at scale.

2 PRs merged upstream

Nixtla/NeuralForecast (2.8k+ stars)

The interpretability suite and the custom RNN layers are now available to the library's users worldwide.

Technologies used

PythonPyTorchNeuralForecast (Nixtla)Temporal Fusion TransformerTimesFMChronosConformal PredictionDatabricks

Yanis has played a pivotal role in building our country-level demand forecasting system and has made outstanding contributions to our deep learning forecasting models, particularly the Temporal Fusion Transformer (TFT) model.

Manav C

Applied Science Manager at AWS Gen AI Innovation Center (Ex: Senior Data Science Manager at Decathlon)

Ready to move your AI project forward?

Let's talk about what a similar engagement would look like in your context.

Get in touch