Forecasts your planning team can use, tested before you rely on them.
Demand outlooks, sales forecasts and scenario planning built on your own history: the number, the range to plan around, and what changes if your assumptions do. Where the question comes back every month, the forecast reruns on its own.
SA Informatics analysis of Stats SA retail trade sales
Predict what may happen, with the uncertainty stated.
Sales, demand and volume plans all rest on a forecast. We build it from your history, test it against simple alternatives on periods it hasn't seen, and give you the range and the assumptions with the number.
Forecasting demonstration · Stats SA retail trade sales
Forecasting
Next year's retail sales, and how sure we can be.
The business problem
Most organisations can't say how accurate their forecast has been, or whether a more complex method would do better than repeating last year. A plan built on an untested forecast carries a risk nobody has measured.
What the data shows
For South African retail trade sales, the tested forecast for Aug 2026 to Jul 2027 totals about R1,232.6 bn at constant 2019 prices, level with the last 12 months (R1,232.6 bn), because the winning method repeats last year's pattern. Neither statistical model beat it. Any growth the plan assumes on top is an explicit choice, and the scenarios below show what it does to the answer.
Retail trade sales: observed, then the 12-month forecast with its ranges
Observed (Stats SA)
12-month outlook
95% range
80% range
›Show the data
12-month forecast with prediction intervals
Month
Forecast
80% range
95% range
Aug 2026
R96.0 bn
R90.0 bn to R102.0 bn
R86.8 bn to R105.2 bn
Sep 2026
R95.9 bn
R89.9 bn to R101.9 bn
R86.8 bn to R105.1 bn
Oct 2026
R98.1 bn
R92.1 bn to R104.1 bn
R88.9 bn to R107.3 bn
Nov 2026
R117.9 bn
R111.9 bn to R123.9 bn
R108.7 bn to R127.1 bn
Dec 2026
R138.8 bn
R132.8 bn to R144.8 bn
R129.7 bn to R148.0 bn
Jan 2027
R97.3 bn
R91.3 bn to R103.3 bn
R88.1 bn to R106.5 bn
Feb 2027
R95.2 bn
R89.2 bn to R101.2 bn
R86.0 bn to R104.4 bn
Mar 2027
R99.4 bn
R93.4 bn to R105.4 bn
R90.2 bn to R108.6 bn
Apr 2027
R96.7 bn
R90.7 bn to R102.7 bn
R87.5 bn to R105.9 bn
May 2027
R100.9 bn
R94.9 bn to R106.9 bn
R91.7 bn to R110.1 bn
Jun 2027
R96.8 bn
R90.8 bn to R102.8 bn
R87.7 bn to R106.0 bn
Jul 2027
R99.4 bn
R93.4 bn to R105.4 bn
R90.2 bn to R108.6 bn
R billion at constant 2019 prices. SA Informatics analysis of Stats SA retail trade sales.
The decision it informs
The central path and range for a 12-month sales or demand plan, and whether a more complex forecasting method is worth paying for.
To act on it, you'd also need the drivers your plan depends on, such as prices, promotions and store changes, if a driver-based model is to be tested against the baseline.
What you would receive
A forecast with its ranges and assumptions, an evaluation record showing how the method was chosen and how it performed on unseen periods, and a process that reruns on each new month of data.
Why the question recurs
Plans are revised monthly or quarterly. Each new month of data is a chance to re-forecast, and to check the last forecast against what actually happened.
Questions like this
“What will monthly sales look like next year, and how sure can we be?”
“Is our forecasting method better than repeating last year, and by how much?”
Data and method
›Data and seriesWhat was forecast, and why this series
Publication
Stats SA retail trade sales, July 2026 release
Series
Total retail trade sales at constant 2019 prices, actual (not seasonally adjusted) values, R million, monthly
Coverage
January 2002 to July 2026 (295 months)
Why this series
Chosen by criteria set in advance: the broadest total, unadjusted (seasonality is part of what is forecast), at constant prices.
›Methods comparedTwo baselines and two statistical models
Last month repeated
A floor any method should clear.
Last year's pattern
Repeat the same month last year. The bar to beat, because retail sales are strongly seasonal.
Exponential smoothing
A model that follows trend and seasonality, with the trend damped so it can't run away.
Seasonal ARIMA
A statistical model of the series' own trend and seasonal pattern.
›The selection ruleWritten down before any results
Recommend a model only if it beats last year's pattern on months it hasn't seen, and its ranges hold at least 80% of outcomes. Otherwise, recommend last year's pattern. Every method is scored against the same yardstick: how its error compares with simply repeating last year.
What the evaluation found. Four answers a planner needs.
A forecast is only as useful as what you know about it: which method to trust, how far ahead, how wide the real uncertainty is, and what the outlook assumes. Each tab gives one answer from the same evaluation, and what it means for a plan.
Forecasting demonstration · Stats SA retail trade sales
A full evaluation on Stats SA's published retail trade sales: the process we would run on your own sales history.
A forecasting model did not beat repeating last year.
Each method forecast 12 months ahead from 16 points in time, 192forecasts each, scored only on months it had not seen. Repeating last year's pattern had an error score of 0.758 (lower is better). Exponential smoothing scored 0.767 and seasonal ARIMA 0.788.
The three finished too close to call, so under the rule set before the results were in, the simpler method is the recommendation.
What it means for a plan
Use the simple method's path as the central estimate. On this evidence, a more complex model does not buy accuracy.
Error score by months ahead, averaged over 16 tests (lower is better).
Last year's pattern
Exponential smoothing
Seasonal ARIMA
›Show the data
Error score by months ahead
Months ahead
Last year's pattern
Exponential smoothing
Seasonal ARIMA
1
0.67
0.69
0.47
2
0.64
0.55
0.61
3
1.01
0.81
1.17
4
0.70
0.91
0.73
5
0.63
0.65
0.64
6
0.96
0.85
1.35
7
0.72
0.89
0.85
8
0.64
0.63
0.65
9
0.91
0.82
0.89
10
0.75
0.91
0.76
11
0.62
0.67
0.56
12
0.84
0.82
0.76
The stated uncertainty was too wide, for every method.
A range is only useful if it holds. Ranges meant to hold the outcome 80% of the time held it 96% of the time for the recommended method. The 95% ranges held it 100% of the time.
The 2020 lockdown inflates the error the ranges are built from. Checking this is part of every evaluation we run: most forecasts are never checked against the ranges they claimed.
What it means for a plan
Treat the ranges as cautious bounds, not precise ones. Planning on them errs on the side of caution.
Share of actual values inside each method's ranges, across 192 test forecasts.
Black tick: the share each range promised to hold. Dot: the share of actual values that landed inside it, across 192 test forecasts. A dot to the right of the tick means the range was wider than it needed to be.›Show the data
Interval coverage by method
Method
Inside 80% range
Inside 95% range
Last year's pattern
95.8%
100.0%
Exponential smoothing
95.3%
98.4%
Seasonal ARIMA
98.4%
99.0%
Flat or growing next year? That is an assumption, and we show what it does.
Repeating last year implies a flat year by construction: a 50% chance of coming in lower. Exponential smoothing puts that chance at 46%, and Seasonal ARIMA, which carries more trend, at 26%.
Sensitivity: if a shift the model can't see moved sales 1% lower, the chance of a lower year under the recommended method rises from 50% to 78%.
What it means for a plan
If the plan assumes growth, record it as an assumption, not a finding, and show how much it moves the answer.
How the 12-month outlook depends on the method and the history assumed
Median and 10% to 90% range of the 12-month total, R billion.
12-month total, R billion at constant 2019 prices. Dot: the most likely total; line: the range it falls in eight times out of ten. “Chance lower”: the chance the next 12 months come in below the last 12.›Show the data
Scenario outcomes by method and history window
Method · history
Median total
Chance of a lower year
Last year's pattern · full history
R1,232.5 bn
50%
Last year's pattern · last 8 years only
R1,232.4 bn
50%
Last year's pattern · last 5 years only
R1,232.5 bn
50%
Exponential smoothing · full history
R1,237.5 bn
46%
Exponential smoothing · last 8 years only
R1,238.1 bn
45%
Exponential smoothing · last 5 years only
R1,242.9 bn
29%
Seasonal ARIMA · full history
R1,261.9 bn
26%
Seasonal ARIMA · last 8 years only
R1,262.0 bn
32%
Seasonal ARIMA · last 5 years only
R1,257.9 bn
11%
How we build a forecast you can plan on. Six steps, every time.
Each one is there so the number your team plans on holds up when the months arrive.
1
Start from the decision
Which choice will the estimate inform, and how good must it be to change it?
In the demonstrationThe 12-month sales plan: a central path, a range, and whether a model beats repeating last year.
2
Agree how it will be judged
Fix how methods will be compared, and the simple baseline they must beat, before any results are in.
In the demonstrationThe question, series and selection rule were committed before any values were analysed.
3
Prove it on months it hasn't seen
Score every method on periods it was not built on, the way it will be used in practice.
In the demonstration16 rolling forecasts; 192 scored forecasts per method.
4
Use the simplest method that works
A complex model earns its place only by doing better. Simpler methods are cheaper to run and easier to trust.
In the demonstrationNeither model beat the baseline, so the baseline is recommended.
5
Give the range, and check it
Every forecast comes with a range to plan around, checked against what actually happened.
In the demonstrationThe 95% ranges held 100% of actual outcomes.
6
Make it rerun
Where the question recurs, build the method to rerun on new data and reproduce exactly.
In the demonstrationPinned to one official release: a rerun reproduces every result exactly.
Forecasting demonstration · Stats SA retail trade sales
Read the whole evaluation.Including when the simple method wins.
Every step from question to reproducibility, pinned to one official release, with the selection rule written down before the results.
Within data science, machine learning and language models are methods we use where a question needs them. Where the goal is to take repeat work off a team, such as turning enquiries into quotations, that's Applied AI: an application built on your knowledge, rules and systems.
From model to repeatable capability
A model that answers a recurring question should rerun on new data without being rebuilt each time. Where that is worth doing, we build the data foundation and the method into a system your team keeps using.