Source-linked AI summary
EXAONE Demand 1.0: A Time Series Foundation Model for Demand Forecasting
Seunghan Lee, Sangjun Han, Jun Seo, Junhyeok Kang, Jaehoon Lee, Tae Yoon Lim, Dongwan Kang, Hwanil Choi, Minjae Kim, Sungdong Yoo, Soonyoung Lee, Wonbin Ahn
TL;DR
General-domain TSFM corpora are assembled for breadth, so demand's distinctive properties are diluted despite the importance of demand forecasting. EXAONE Demand pairs a real-and-synthetic demand corpus with low-rank branches on a frozen general-domain TSFM, mixed by a router based on series behavior. On 22 held-out demand datasets, both versions outperform state-of-the-art TSFMs, with real-world demand adding a gain over synthetic data.
Problem
General-domain TSFM corpora are assembled for breadth, so demand's distinctive properties are diluted despite the importance of demand forecasting.
Source: §1 · p. 1Method
EXAONE Demand pairs a real-and-synthetic demand corpus with low-rank branches on a frozen general-domain TSFM, mixed by a router based on series behavior.
Source: §1 · p. 2Results
On 22 held-out demand datasets, both versions outperform state-of-the-art TSFMs, with real-world demand adding a gain over synthetic data.
Source: §1 · p. 2Takeaways & Limitations
Synthetic demand data alone can carry a model that stays ahead of every baseline in Table 8.
Source: §5.4 · p. 14The router reads only the context window, so promotions, holidays, and price changes reach it only through their traces in the series.
Source: §6 · p. 17
Abstract
from arXiv · showhide
Time series foundation models (TSFMs) are pretrained on series from diverse domains, where demand series make up only a small fraction. Demand data has properties that such corpora rarely contain: Short histories, frequent zeros, censoring by stock-outs, and exogenous events that the series does not record. To this end, we propose EXAONE Demand, built on 1) a demand-specific corpus and 2) a demand-aware adapter. For the corpus, we assemble 11.3M series and 48.4B observations from 73 sources, and a synthetic generator supplies the behaviour that open demand data under-represents. For the adapter, we attach low-rank branches to a frozen general-domain backbone, one for each of the four demand classes (smooth, intermittent, erratic, and lumpy), and a router that reads eight scale-free statistics of the input series decides how much each branch contributes. We build EXAONE Demand in two versions, one trained on real-world and synthetic demand together and one trained on the synthetic corpus alone. On 22 held-out datasets, both versions outperform 36 TSFMs, and real-world demand adds a gain over synthetic data alone.
1 Introduction
General-domain TSFM corpora contain relatively little demand data, whose short, intermittent, censored, and event-driven series differ from common forecasting data. EXAONE Demand pairs a demand-specific corpus with a behavior-aware adapter; both versions outperform state-of-the-art TSFMs on held-out demand datasets.
- General-domain TSFM corpora prioritize breadth, leaving demand properties diluted and motivating a corpus built to reflect demand.Source: §1 · p. 1
- Demand spans intermittent zeros and spikes as well as long daily and weekly cycles, while short histories and censored, event-driven sales add further difficulty.Source: §1 · p. 1, Figure 1 · p. 2
- On 22 held-out demand datasets, both EXAONE Demand versions outperform state-of-the-art TSFMs, and real-world demand adds a gain over synthetic-only training.Source: Figure 2 · p. 2, §1 · p. 2
- EXAONE Demand combines a corpus built from real-world sources and a synthetic generator with a demand-aware adapter that mixes low-rank branches by series behavior.The adapter uses a frozen general-domain TSFM backbone and branches associated with the four demand classes.Source: §1 · p. 2
2 Construction of Demand Dataset
The section defines what counts as demand, assembles real and synthetic sources into a common corpus, and separates evaluation data from training data using a value-level leakage check.
2 Construction of Demand Dataset
- Real and synthetic corpora follow separate preprocessing tracks; synthetic properties are independently switched on or off at sampled strengths so they can combine freely.Source: Figure 4 · p. 3, Table 5 · p. 6
2.1 Collection
- Demand series measure consumption, sales, or utilisation per time unit by an identifiable entity; the rules exclude supply, physical-state measurements, and inventory.Event logs are counted by entity and time step, and pharmaceutical demand uses prescription items rather than quantities.Source: §2.1 · p. 3
- The 93 collected sources yield 73 converted sources, gathered from benchmarks, general-purpose corpora, and domain-specific open data.Source: §2.1 · p. 3
2.2 Preprocessing
- The converted corpus contains 11.3M series and 48.4B observations from 73 sources, with Table 3 characterizing lengths, classes, and zero shares.Source: §2.2 · p. 4, Table 3 · p. 5
- The median series has 1,373 points versus 128 at the lower quartile, while zeros are absent from the median but dominate upper percentiles.Figure 5 shows the concentration of zeros; intermittent and lumpy series are a minority, which motivates generating more of those classes.Source: §2.2 · pp. 4–5, Figure 5 · p. 5
2.3 Train-Test Split
- Only evaluation suites are held out; other published roles are training candidates, and value-matching training series are removed to prevent cross-source leakage.The authors note that comparison-model pretraining data was not filtered against the benchmarks, making the leakage measurement asymmetric.Source: §2.3 · p. 5
3 Synthetic Demand Dataset
The synthetic corpus is designed to fill behavioral gaps in open demand data, including missing promotional causes, truncated product life-cycles, and stock-out censoring. Its controlled generators reproduce targeted demand classes and preserve signals unavailable in observed sales.
3.1 Motivation
- Open data under-represents operationally important behaviors, omits the causes of promotional and holiday shifts, truncates product life-cycles, and cannot distinguish stock-out zeros from no-customer zeros.The synthetic corpus supplements real demand rather than substituting for it, targeting behavioral regions that open data leaves thin.Source: §3.1 · p. 6
3.3 Validation and Use
- The synthetic corpus contains 47,500 series and 59.7M points, and all series are used for training without a held-out portion.The real-world corpus alone uses the train/test separation because synthetic series cannot match evaluation observations.Source: §3.1 · p. 6, §3.3 · p. 7
3.2 Generating Process
- Each synthetic series combines an intensity process, a count process, and an observation model, with independently sampled property strengths spanning smooth demand to long zero runs and abrupt life-cycle transitions.Eight generators represent distinct operational settings rather than statistical families.Source: §3.2 · p. 6
- The corpus records pre-censoring latent demand, underlying intensity, and a stock-out flag alongside each observed value.These signals distinguish stock-out zeros from zeros caused by absent customers, which released real sales data cannot separate.Source: §3.2 · p. 6
- Synthetic examples include intermittent spare-part orders, lumpy B2B orders, full product life-cycles, and e-commerce series with explicit promotional responses.These behaviors are sparsely represented or absent in open demand data.Source: Figure 7 · p. 7
3.3 Validation and Use
- 95.5% of generated series agree with their target Syntetos–Boylan class; seven further checks pass across the final corpus.The checks cover class distribution, zero ratios, seasonality recovery, promotion response, censoring rate, length distribution, and determinism under a fixed seed.Source: §3.3 · p. 7
4 EXAONE-Demand
EXAONE Demand adapts a frozen general-domain time-series model with a shared branch and four demand-class branches. Scale-free statistics describe each series, while continuous class memberships supervise routing without restricting a series to a single behavior.
4 EXAONE-Demand
- The adapter keeps the pretrained TSFM frozen and combines one shared low-rank branch with four routed branches tied to smooth, intermittent, erratic, and lumpy demand.The shared branch carries common corrections, leaving the routed branches to capture differences between behaviors.Source: §4 · pp. 7–8, Figure 8 · p. 8
4.1 Stage 1: Demand Statistics
- Eight scale-free statistics summarize each raw series once and are reused by every adapted layer, covering classical demand measures alongside properties such as path shape and series length.The statistics include zero share, ADI, CV2, trend, autocorrelation, upward-step fraction, overall variation, and length.Source: §4.1 · pp. 8–9
4.2 Stage 2: Continuous Demand Membership
- Continuous membership softens the classical ADI = 1.32 and CV2 = 0.49 class boundaries on logarithmic axes, so series near a cut can retain membership in multiple behaviors.A lumpy example has membership (0.00, 0.46, 0.00, 0.53), preserving its narrow-margin split with intermittent demand.Source: §4.2 · pp. 9–10
4.3 Stage 3: Routing
- The router reads all eight statistics and learns mixture weights, while continuous membership serves as supervision rather than the mixture itself; inference does not compute membership.The supervision signal ties each routed branch to a demand class.Source: §4.3 · pp. 10–11
- On six real series, the trained router closely matches supervision on class-specific examples and distributes weights across branches for mixed-behavior examples.Figure 11 shows both router weights and supervised targets.Source: §4.3 · p. 11, Figure 11 · p. 11
4.4 Stage 4: Mixture of Low-Rank Branches
- Each adapted projection adds five low-rank branches to its frozen weight; the larger shared branch provides common capacity, while each routed branch supplies a smaller correction.Six encoder projections are replaced, and the shared branch is sized to hold as much capacity as a plain low-rank adapter.Source: Figure 9 · p. 10, §4.4 · p. 12
4.5 Stage 5: Training
- Only low-rank branches and routers receive gradients; random router initialization breaks branch symmetry, and raw-series inputs provide information absent from the encoder's normalized window.The shared-branch weight is set to 0.5 in every reported run so both shared and routed parts contribute.Source: §4.5 · p. 12
5 Experiments
Across 22 held-out datasets under a shared no-tuning protocol, both EXAONE Demand variants outperform all compared TSFMs, and the real-world-plus-synthetic model leads the synthetic-only model on most datasets. The experiments also examine per-dataset behavior and the contribution of real-world training data.
5.1 Datasets and Metrics
- Six metrics are geometrically averaged across 22 datasets, while per-dataset MASE average rank and pairwise win rate supplement aggregates that could be carried by a few datasets.Lower is better on all six metrics.Source: §5.1 · pp. 12–13
5.2 Experimental Setup
- All models are evaluated on the same windows, horizons, and quantile levels, without per-model tuning; 36 TSFMs and the frozen adapted backbone serve as baselines.The two EXAONE versions differ only in training data: real-world plus synthetic demand versus synthetic demand alone.Source: §5.1 · p. 12, §5.2 · p. 13, §5.3 · p. 13
5.4 Main Results
- Under §5.1 on 22 evaluation datasets, both models lead every baseline on all six metrics, average rank, and win rate; they place first and second on five metrics, with MSIS a 0.07 tie.Source: §5.4 · p. 14
- 91.9% of its 836 pairwise comparisons are won by EXAONE Demand, versus 82.5% of comparisons won by the strongest baseline among its peers.The synthetic-only version wins 88.0% and remains ahead of every baseline.Source: §5.4 · p. 14
5.5 Results by Dataset
- Neither version ranks last on any dataset, each beats all 36 baselines on seven datasets, and the real-world model leads the synthetic-only model on 16 of 22.The authors describe the lead over the synthetic-only model and strongest baseline as spanning the suite rather than depending on a handful of rows.Source: §5.5 · p. 15
5.6 Forecast Visualization
- Across six selected series, EXAONE Demand has the lowest MASE of the three models and follows zero-demand collapses that TiRex-1.1 and Chronos-2 miss on two series.The figure also shows forecasts on Car parts (M) and Electricity (D).Source: §5.6 · p. 15, Figure 12 · p. 16
5.7 Effect of Training Data
- Adding real-world demand lowers error on 16 datasets and raises it on six; the synthetic-share sweep has an interior minimum at the adopted mixture and rises sharply at synthetic-only training.Both versions remain well below TiRex-1.1, the strongest baseline.Source: §5.7 · pp. 15–16, Figure 13 · p. 16
6 Conclusion
EXAONE Demand combines a demand corpus with a behavior-routed MoE adapter, and both its real-plus-synthetic and synthetic-only versions outperform every compared TSFM on 22 held-out datasets.
6 Conclusion
- The router sees only the context window, so promotions, holidays, and price changes reach the model only through their traces in the series.A covariate-aware router is identified as a next step.Source: §6 · p. 17
- The four demand classes and number of routed branches are fixed, and stock-outs are modeled only by the synthetic generator.Recovering latent demand from censored sales remains open for a future model version.Source: §6 · p. 17
A Hyperparameters
The appendix records settings for reproducing the model and reports that the backbone remains frozen while the router requires a learning-rate multiplier to move away from its initial mixture.
A Hyperparameters
- Table 10 groups hyperparameters into the frozen backbone, adapter, router and supervision, and optimization.Values are held fixed across runs; the synthetic-series share is swept at four settings with three seeds each.Source: Table 10 · p. 21, A Hyperparameters · p. 21
- The backbone receives no gradients, while at the base learning rate the router barely leaves a uniform mixture and produces the collapse described in Section 4.5.The router therefore uses a learning-rate multiplier.Source: A Hyperparameters · p. 21
B Related Work
Related work spans intermittent-demand estimators, dataset-specific forecasting models, and cross-domain TSFMs; EXAONE Demand uses low-rank experts to specialize a frozen backbone by demand behavior.
Demand forecasting
- Intermittent-demand methods separately forecast nonzero demand size and the interval between events, while classical taxonomy assigns classes using average inter-demand interval and nonzero-value dispersion [66].The paper's router uses that taxonomy to carry class distinctions into a foundation model while retaining a shared set of weights.Source: B Related Work · p. 22
General time series forecasting models
- Task-specific forecasting models train one dataset at a time; patch-based transformers support longer contexts, while linear, convolutional, and state-space models show gains can persist without attention [55] [7] [11] [16] [29] [39] [43].Prior work has also studied forecasting losses [40] and series generation [42] one dataset at a time.Source: B Related Work · p. 22
Time series foundation models
- TSFMs pretrain on many-domain corpora and transfer to unseen series [3] [4] [5] [13] [17] [21] [26] [45] [46] [47] [63] [72]; EXAONE Demand instead uses low-rank experts and a shared expert to specialize a frozen backbone by demand behavior [74] [15].The paper frames its demand-specific work as a counterpart to domain adaptation in finance [41].Source: B Related Work · p. 22
C Conversion Schema and Verification
Sources are converted to a common series schema and indexed before verification; admission depends on matching four source-level quantities against external published figures.
- Each source is converted to (series_id, timestamp, target), with a per-series index built alongside the values.The index is needed for checks that compare counts.Source: C Conversion Schema and Verification · p. 22
- The index records each series’ shape, demand character, and provenance, including its Syntetos–Boylan class computed after conversion.Shape includes length, observation count, zero ratio, and missing ratio; provenance includes source, domain, licence, commercial-use flag, and split role.Source: C Conversion Schema and Verification · p. 22
- Admission requires four quantities to match externally established figures: series count, observation count, timestamp range, and distinct-entity count when reported.Counts are compared with sources such as competition documentation, API totals, or published entity counts, not the conversion log.Source: C Conversion Schema and Verification · p. 22
- Timestamps come from source columns rather than an assumed start date, and renamed columns are unified before conversion.NHS prescribing data’s STP_CODE and ICB_CODE are given as an example.Source: C Conversion Schema and Verification · p. 22
D Domain Breakdown of the Corpus
The corpus’s series-count and observation-count views differ because domains contain series with different lengths and sampling frequencies. Domain labels for datasets inside general-purpose corpora are assigned at the dataset level.
- Figure 6 shows series counts, while Table 11 adds observation counts, revealing that domain size depends on which measure is used.Table 11 shares cover the converted corpus including synthetic data.Source: D Domain Breakdown of the Corpus · p. 23, Table 11 · p. 23
- Energy holds 67.5% of observations from 39.9% of series, while retail holds 17.2% of series but 1.3% of observations.The passage characterizes the observation-share gap as fifty times, against a twofold difference in series share.Source: D Domain Breakdown of the Corpus · p. 23, Table 11 · p. 23
- The 153 dataset names inside six general-purpose corpora are mapped to the corpus domain vocabulary using folder names, recorded fields, or dataset descriptions.The mapping changes appendix reporting, not which series train the model.Source: D Domain Breakdown of the Corpus · p. 23