By Ian Hargreaves · Market intelligence · Lausanne CH How to read these pages · Concepts, in plain terms

How to read these pages

Plain-terms explanations of the machinery: what a calibrated range is, how to read a band, what a factor scale does and does not claim, how the matrix positions are built, what co-movement can tell you, and how the prediction registry keeps the record honest. Concepts live here. Each page keeps its own exact construction and current numbers on its method plate; when the two seem to disagree, the method plate wins.

Scope
Concepts, not parameters
Numbers
Live on each page's method plate
Audience
Category & market planners
Refresh
On method change · not monthly
01Why a range, not a forecast

We tested forecasting and closed it. Every method we tried was beaten out of sample by the simplest possible rule: assume no change from the last published figure. That is not a fixable weakness of one model. Monthly retail volume mostly wobbles around a slow trend; a rise is typically followed by a fall; and the pattern European markets share lives entirely within the month, so there is no early signal to borrow from neighbours. When the best available prediction is “no change”, publishing a precise forecast would be theatre.

A range is the honest product. Each market's demand module starts at that market's last published print, carries its slow long-run drift forward, and draws a band around that path. The band says: given how wrong this construction has been for this market at this distance in the past, here is where the truth plausibly lands. Nothing more is claimed, because nothing more survived testing.

The same recipe runs per category. The category strips on each market plate use the identical construction, applied to each sub-category's own series. Nothing is borrowed from the market total: a volatile category earns a wide band, a steady one a narrow band, each from its own record.

The full construction, with this month's numbers →
02How to read a band

The band is measured, not assumed. We replay history: stand at each past month, project forward exactly as the live module does, and record how wrong that projection turned out at each distance. The band is the spread of those recorded misses. We assume no bell curve: if a market's errors lean one way, its band leans the same way.

What “80%” means. An 80% band should contain the eventual print about eight times in ten. We report how often it actually has, and that honest number moves with the times: a band built from calm years fails in a shock (2020 escaped everyone's bands), and a band that remembers the shock runs a little wide in calm years. We keep the full memory and say so, rather than trimming history to look precise.

“No range” is an answer, not a gap. When a series is too short to measure its own errors, too stale to anchor on, or the construction lands somewhere implausible, the module says no range and states the reason. A borrowed band would look more complete and would mean nothing. Expect the blanks to cluster in smaller markets and newer category series; that is the machinery refusing to guess.

03What a factor is, and is not

The idea in one paragraph. Dozens of price and demand series do not move independently: food and furnishings inflation rise and fall together, rents and health tariffs reprice together, tech prices drift down together. Factor analysis asks: if a small number of unseen influences were pushing many series at once, what would those influences have to look like to produce the co-movement we actually observe? The factor scales on the matrix page are the best answer for our panel.

A factor is a pattern, not a thing. The method sees co-movement, never causes. A factor is a covariance pattern with a name attached: the name is our reading of the pattern, chosen because it matches outside evidence, and the reading can be wrong while the pattern remains real. That is why the matrix page presents its interpretations as readings, not findings.

Assuming is not finding. The method assumes latent influences exist and then finds the patterns that fit best under that assumption. Good fit is not proof of existence. We treat a factor as trustworthy only as far as it is reliable (its items genuinely hang together), stable (it survives changes of window and encoding), and corroborated (it reproduces something known from independent evidence).

Why only four. More factors always fit better on paper, the way more excuses always fit a story better. We keep the few that clear the bar above and say plainly which of them are marginal. Anything that was not part of that estimation stays outside the solution, which is why the matrix will never label a user-chosen column as a fifth scale.

04How the matrix positions are built

From raw series to a position, in three steps. Take each series' year-on-year growth, the change against the same month a year earlier, so seasonal patterns cancel out. Trim the most extreme one percent of values, so a single crisis month cannot dominate a decade (statisticians call this winsorizing). Average what remains over a fixed multi-year window. A position is therefore a long-run average, not a current state: a market can sit high on a column while cooling rapidly right now.

Making columns comparable. Raw columns live on different natural scales, so each is re-expressed as distance from the panel median in robust units: 0 means the middle of the market panel, +1 means meaningfully above it by that column's own yardstick. Robust means the yardstick is built from medians rather than means, so one extreme market cannot stretch it. Bars are clipped at ±3 with the true value still shown.

Your category column. The selector on the matrix applies exactly this recipe to a retail sub-category of your choice, so its positions read on the same scale and sort the same way. It differs in one crucial respect: it was never an input to the factor estimation. It is an overlay for ranking markets by a category you care about, and it borrows none of the validation behind the four scales. That distinction is the credibility of the page, which is why the column is labelled and outlined as an overlay.

The market matrix →
05What co-movement can and cannot tell you

The measure. Two markets co-move when their demand trajectories rise and fall together over the years; correlation scores that between −1 and 1. It is a symmetric measure and it is silent about cause: it cannot say who leads, who follows, or whether both are pushed by something third.

A spectrum, not clusters. Group labels are seductive and mostly noise: when we test for natural groupings, the best split explains little and its membership does not survive resampling. What the data supports is a continuum, from markets deep in the common European cycle to a short tail that genuinely moves alone. Read tiers and tails, never precise rank positions.

The 2020 problem. A shock that hits every market at once reads as synchronization even between markets that share nothing. The co-movement page therefore shows every number with and without the pandemic years and only makes claims that hold in both windows. Any co-movement figure quoted without that check deserves suspicion.

Who moves together →
06The registry, or how the record stays honest

Logged before, scored after. Every range published on the data sheet is written to a public file before the outcome exists: market, category, horizon, point, bands, anchor, edition. When the target months mature, the same code scores every row. Nothing is rewritten afterwards, so a track record can only accumulate; it cannot be edited into existence.

The first print stays the record. Eurostat revises its own history, sometimes substantially. Predictions are scored against the value as first recorded, not the later revision, so a revision can never quietly make past ranges look better or worse than they were on the day.

Why bother. Anyone can look accurate in hindsight. The registry is the difference between a track record and a story, and it is the standard we would demand of anyone else's forecast. The raw files are downloadable on the data sheet, and any competing method can be logged into the same registry and scored by the same code.

The prediction registry →
© 2026 Ian Hargreaves. Concepts only · exact constructions and current numbers live on each page's method plate ← Retail Demand, Europe · the data sheet
Built 16 July 2026 · This page changes when a method changes, not monthly · Plain terms are a promise: if something here is unclear, that is our defect, not yours