Caio Theodoro Caio Theodoro
← Blog · Apr 2025 · 5 min read

LLMs and Time-Series Forecasting

An honest look at what LLMs can and can't do with time-series data — what the benchmarks actually test, where the genuine use case is, and when to reach for statistical methods instead.

On M4, ETTh1 and Exchange Rate, recent results have shown LLMs performing comparably to statistical baselines and in some cases better. The datasets are named. The tables travel without a paper, a seed, or the exact score that "beats" the baseline, so there is no winning number to check. A paper like that turns up every six months, and its claim is technically true, since an LLM can emit a number for a future step. Whether that number beating ARIMA means anything depends on where the difficulty of the series sits, and a clean public series and a production series put it in different places.

Those datasets are clean. The series are stationary or have well-behaved trend and seasonality, and the baselines are not always the strongest available. On a well-behaved series a token model can pass for a forecaster, because the next value is mostly a continuation of the last ones. Against a tuned temporal fusion transformer or N-BEATS with a real hyperparameter search, the LLM advantage typically shrinks or reverses.

The tables leave out irregular resampling, missing data, structural breaks from events outside the series, and numeric signals that only make sense next to context that is not in the history. What they test is extrapolation from a clean sequence, which statistical methods already handle. Anyone who has run a production forecast knows that is not where it breaks.

The representation is part of the experiment

Giving a series to an LLM means turning numbers into tokens: comma-separated values, serialized tables, natural-language descriptions, or a hybrid. The conversion changes precision, context length, scale, and sometimes the apparent regularity of the sequence. A model that scores well on a serialized benchmark may be learning the representation as much as the series.

Where a win comes from

ARIMA, ETS, Prophet, N-BEATS and temporal fusion transformers encode stationarity, seasonality, autocorrelation and trend decomposition. A tuned ARIMA on a stationary series uses all of it. An LLM was trained on text. "Next month's sales will be 4,200 units" is a token sequence to it. It has likely seen financial tables, spreadsheets on web pages and papers that discuss datasets. But it was trained to predict the next token, which is sometimes a number that follows other numbers. Minimizing forecast error was never the objective.

When an LLM looks good on a time-series benchmark, much of the win can come from lexical cues in text about the series (names, categories, seasonal words in the prompt). A language-forward task helps it too, and so does a baseline weak enough that general pattern-matching is competitive. Check those before reading the table as a result about forecasting.

What the LLM is for

"LLMs can forecast time series" is too broad; the useful case is the one where the relevant signal is contextual.

A statistical model flags an anomaly against a learned distribution of normal behavior, which works for statistically unusual points. It fails on a point that is expected given external context but normal given recent history — no alarm fires, and the point just looks ordinary.

A demand series jumps 30% in one product category (a worked example, not a measured case). A statistical model may let it pass because the series has had spikes of similar magnitude. Give an LLM the same series plus the fact that a prominent influencer posted about the category three days ago and triggered a viral trend. It can reason that the spike is causally explained, short-lived, and likely to pull back as the trend fades. The inference is causal, and it rests on an external event the series never contained.

Explanation is the better job. Hand the model a series with an unusual pattern and some context about its surroundings, and it can often write a narrative a statistical model cannot. "Sales declined in Q3 despite the seasonal pattern suggesting growth, likely because a competitor launched a competing product in mid-June and the category experienced sentiment-driven purchasing delays." ARIMA will not write that sentence. If you need a point estimate or a confidence interval, though, statistical methods are generally more reliable. The LLM earns its place on the causal structure — why it happened, whether it continues, which external factors matter.

So the defensible architecture keeps the statistical model on the baseline prediction and puts the LLM around it. It can generate hypotheses about regime changes, summarize external events, explain anomalies to operators, and propose scenario adjustments that a human or a separate model can evaluate. The core loop and the numeric extrapolation stay with the method built for them.

Deciding on a new project

Before adding an LLM to a forecasting pipeline, I ask whether the thing making the series hard is a statistical property (complex seasonality, non-stationarity, high noise) or a contextual one (external events, behavioral dynamics, regime changes). A statistical property is a job for a better statistical model.

Take daily traffic to a web property, weekly product sales in a mature market, monthly energy consumption in a predictable facility. A clean, stable series like these stays with a well-tuned ARIMA or Prophet model. An LLM will not meaningfully improve on it, and it costs more per inference. LLM-only numeric forecasts fail the other way: in production they look like a confident, plausible-sounding forecast that is statistically incoherent, which is what you get when an LLM is pointed at a statistical problem.

The LLM layer helps where external signals matter, such as new market entry, product launches, policy changes, macroeconomic shifts and social dynamics. If those can be written in natural language and attached as context, the layer sits next to the statistical baseline.