Forecasting Models - Theory, Selection, Trade-offs
Foresight can apply several forecasting approaches depending on the data and the forecast type. This section explains each one in business terms: when to choose it, and where it is weak. Use it during blueprint discussions when a customer asks "why this method and not another."
5.1 The model menu
| Model | Intuition | Strength | Weakness | Best for |
|---|---|---|---|---|
| Moving Average | Average of recent periods | Simple, transparent, works on small data | Misses trend and seasonality | Day-one baseline; thin data |
| Linear Regression | Fits a straight trend line | Captures steady growth/decline; easy to explain | Cannot model curves or seasons | Items with steady trend |
| ARIMA | Trend + recent-history autocorrelation | Classical, well understood | Single-series; assumes stability | Smooth, mature items with regular cadence |
| Prophet | Trend + weekly + yearly seasonality + holidays | Handles seasonality and festivals out of the box | Needs reasonable data volume | Retail with strong weekly / festival patterns |
| Random Forest | Learns patterns from many engineered signals (recent averages, lags, customer segment) | Captures non-linear effects and interactions | Less transparent | Customer-level sales demand |
| Ensemble | Blends several models | Usually most accurate; smooths outliers | Hardest to explain | Mature data, accuracy-first customers |
5.2 What Foresight chooses automatically
In most cases the consultant does not pick a model per item. The engine does:
Inventory forecast. Uses a trend-fit (regression) approach when there is enough movement history, otherwise falling back to a moving average over the recent window. Confidence reflects how well the trend fits.
Sales forecast. Uses a pattern-learning (Random Forest) approach per item when there is enough history, otherwise a recency-weighted moving average that blends weekday, weekend, and seasonal factors.
Financial forecast. The chosen model is recorded on the forecast for transparency. Risk and confidence are scored from the prediction range and historical comparison.
5.3 Model selection decision tree (for the blueprint)
5.4 When each model struggles (warn the customer)
| Model | Struggles when… | What to tell the customer |
|---|---|---|
| Moving Average | A sudden spike (promotion, festival) | "Predictions lag for a couple of cycles after a spike. Hold promotional items out of auto-reorder during sale periods." |
| Linear Regression | Demand is seasonal | "It under-predicts peaks and over-predicts troughs. Use the Prophet for seasonal items." |
| ARIMA | A structural change (new store, new range) | "Let it re-learn after big changes." |
| Prophet | Data is sparse | "Not enough history to fit; the simpler fallback runs instead." |
| Random Forest | Very few transactions for a customer | "Customers with very little history fall back to item-level averages." |
| Ensemble | Component models disagree sharply | "Confidence drops on purpose, signalling finance to double-check." |
5.5 Confidence vs accuracy: the metric customers must understand
These are two different ideas, and they are often confused:
Confidence. How sure the model is at the time of prediction, based on data volume and how well the pattern fits.
Accuracy. How close the prediction turned out to be after the fact. It is calculated as accuracy = max(0, (1 − |predicted − actual| / |actual|) × 100).
A well-calibrated forecast has confidence close to accuracy. Foresight tracks the gap and flags overconfident items (confident but wrong). That gap is the signal to revisit a forecast. This honesty is a selling point: the system tells you what it does not know.