| Vose Software

Industry: Retail
Product: ModelRisk
Application: Forecasting Sales Trends Under Uncertainty


The Headline Says +4% Growth. The True Trend Is Only 88% Likely to Be Positive at All

A regional sales report shows the last twelve months up +4.0% on the prior year. Leadership reads that as a growing business and sizes next year's buy accordingly. Feed the same 36-month series into ModelRisk and ask the real question — what is the underlying growth trend, stripped of seasonality and noise? — and the answer is far less reassuring: a median trend of +3.4% per year, but a 90% confidence band of [-0.4%, +7.3%] that just barely clears zero. The probability the business is actually growing is 88%, not the 100% the headline implies. One year in eight, the "growth" is noise.

The headline read is also biased high. The true underlying trend in this series is +2.5%; the naive year-over-year read of +4.0% overstates it because a lucky, persistent demand shock late in the window inflates the endpoint. Separating signal from noise is not a refinement here — it changes the sign of the decision's confidence.

Why a single growth number fails

A point estimate of growth assumes the noise it sits on is small, white, and self-cancelling. Retail sales noise is none of those. We build one realised 36-month history from a true slow trend (+2.5%/yr), a fixed seasonal pattern, and — critically — persistent noise: an AR(1) process (φ = 0.6) so a good month makes the next month likelier to be good, plus a shared per-year common shock. The lag-1 autocorrelation of the realised residuals is +0.70, confirming the noise is sticky, not independent.

That persistence is exactly what fools a naive read. Sticky shocks create runs that look like trend. So instead of reporting one regression slope, we re-estimate the trend 60,000 times under honest uncertainty about the noise level, the AR persistence, and the seasonal amplitude used to deseasonalise — inflating the slope's standard error for serial correlation (a Newey-West-style correction) so the band reflects the real, reduced effective sample size. The spread of those estimates is the distribution of the true trend.

Observed sales, deseasonalised series, and the estimated trend band

The chart separates the three layers: the noisy observed series (grey), the deseasonalised series (blue), and the P10–P90 fan of estimated trend lines. The median estimated trend (+3.4%/yr) sits close to the true +2.5%, but the band is wide enough that a flat or even slightly declining business is consistent with the same data. The deterministic regression would have drawn one line through the middle and called it certainty.

Is the business actually growing?

The decision that matters is binary — grow the buy or hold it — so the output that matters is P(trend > 0).

Distribution of the estimated true annual growth rate

The distribution of the estimated underlying growth rate runs from a P10 of -0.4% to a P90 of +7.3%, median +3.4%. The zero line cuts just inside the lower tail: P(actually growing) = 88%. The naive headline (+4.0%, amber) sits above the median, visibly overstating the signal, while the true value (+2.5%, green) sits comfortably inside the band. The honest statement is not "we grew 4%" but "we are 88% confident the trend is positive, most likely around 3%, and we cannot yet rule out flat."

What widens the band

Tornado of drivers of the trend-estimate width

Residual serial correlation is the largest contributor to the band's width (±0.95pp) — sticky noise is what makes a short series uninformative — followed closely by how much history you have. Observation-noise level and seasonal-amplitude uncertainty matter less. The implication is counter-intuitive: collecting more frequent data does little if the noise is autocorrelated; collecting a longer history is what tightens the trend.

How much history before you can call it?

If serial correlation and history length dominate, the obvious question is how long a series you need before the trend is callable. Re-estimating the distribution at history lengths from 12 to 48 months — averaged over many realised histories — answers it directly.

Probability the business is growing versus months of history

With only 12 months, P(growing) is barely 56% — a coin toss dressed up as a trend — and the 90% band spans 21 percentage points. By 24 months confidence reaches 72% and the band tightens to 9pp; by 48 months, 83% and 4pp. The curve makes the cost of premature conclusions concrete: a one-year read on a +2.5% business is almost indistinguishable from no information at all.

What the model changed

  • From headline to confidence. Reporting "88% confident the trend is positive, median +3.4%" replaced "+4.0% growth," and stopped a planned inventory expansion that the data could not support.
  • Data strategy. The tornado and history sweep redirected effort from higher-frequency sampling toward extending the historical window, the only lever that meaningfully tightened the band.
  • Bias correction. Quantifying that the naive endpoint read (+4.0%) sat above the true trend (+2.5%) recalibrated how leadership reads every regional sales report.

ModelRisk Functionality Used

  • Monte Carlo simulation over 60,000 trend re-estimations, converting one regression slope into a full distribution of the true annual growth (P10 -0.4%, median +3.4%, P90 +7.3%).
  • AR(1) and common-shock modeling to impose persistent, non-independent noise (realised lag-1 autocorrelation +0.70) — the structure that lets a flat business masquerade as a growing one.
  • Serial-correlation-corrected estimation inflating the trend's standard error for effective sample size, so the confidence band reflects real information content rather than nominal sample count.
  • History-length sweep showing P(growing) rising from 56% at 12 months to 83% at 48 months, and the 90% band tightening from 21pp to 4pp.

A growth rate is a claim about signal; on a noisy, autocorrelated series it is meaningless without the band around it — and here the band is wide enough to ask whether there is any growth at all.