WFM Clubs
Knowledge Base/Forecasting Models
Forecasting · 10 min read

WFM Forecasting Models Explained

From basic averages to AI — the complete guide to choosing and evaluating forecasting methods for contact centres.

Why Forecasting Models Matter

A 5% forecast error on 1,000 calls per day means 50 calls go unplanned. At an average AHT of 5 minutes, that is over 4 hours of unscheduled workload — roughly 2 FTE for the entire day.

Forecasting accuracy is the single biggest driver of WFM efficiency. No amount of scheduling optimisation can compensate for a consistently inaccurate forecast.

Weighted Moving Average (WMA)

WMA is the most common baseline model used in contact centres. It averages historical data, with more recent periods given higher weight.

WMA = Σ(Weight × Historical Value) ÷ Σ(Weights) Example: 3-week WMA with weights 3, 2, 1: WMA = (3 × Week3 + 2 × Week2 + 1 × Week1) ÷ (3+2+1)

When to use WMA

  • Short-range forecasting (1–4 weeks ahead)
  • When recent data is more representative than older data
  • Simple, transparent, and easy to explain to stakeholders

Limitations

  • Does not model trend or seasonality — must be applied to deseasonalised data
  • Lags in detecting trend changes
  • Weight selection is manual and somewhat arbitrary

Simple Exponential Smoothing (SES) & Holt-Winters

Exponential smoothing assigns exponentially decreasing weights to older observations. Holt-Winters extends this to handle both trend and seasonality.

Holt-Winters (triple exponential smoothing): Level: Lₜ = α(Yₜ / Sₜ₋ₘ) + (1−α)(Lₜ₋₁ + Tₜ₋₁) Trend: Tₜ = β(Lₜ − Lₜ₋₁) + (1−β)Tₜ₋₁ Season: Sₜ = γ(Yₜ / Lₜ) + (1−γ)Sₜ₋ₘ Forecast: Ŷₜ₊ₕ = (Lₜ + h×Tₜ) × Sₜ₋ₘ₊ₕ α, β, γ = smoothing parameters (0 to 1)

When to use Holt-Winters

  • When data has a clear trend and seasonal pattern
  • Medium-range forecasting (1–6 months)
  • Built into most spreadsheet software (Excel, Google Sheets) and WFM tools

ARIMA

ARIMA (AutoRegressive Integrated Moving Average) is a more sophisticated statistical model that combines autoregression, differencing, and moving average components. SARIMA extends it to handle seasonality.

ARIMA(p, d, q) × SARIMA(P, D, Q)[m] p = autoregressive order d = integration/differencing order q = moving average order m = seasonal period (e.g. 7 for weekly, 30 for monthly)

When to use ARIMA

  • When you have sufficient historical data (>2 years recommended)
  • Complex seasonality patterns
  • Academic rigor required — ARIMA is statistically defensible
  • Requires statistical software (Python statsmodels, R)

Machine Learning Forecasting

ML models (XGBoost, Random Forest, LightGBM, LSTM neural networks) can capture non-linear patterns and incorporate many external variables. They tend to outperform statistical models on large, complex datasets.

Key advantages

  • Can incorporate external drivers: CRM data, marketing campaign flags, weather, product release dates
  • Non-linear pattern detection
  • Real-time reforecasting (update forecast as actuals come in during the day)

Key limitations

  • "Black box" — harder to explain to non-technical stakeholders
  • Requires large, clean datasets and data engineering skills
  • Risk of overfitting on historical anomalies
  • Higher operational complexity to maintain
Practitioner advice: Start with a well-calibrated Holt-Winters model and MAPE benchmarking. Only move to ML when you have identified specific patterns the statistical model consistently misses and have the data engineering capacity to support it.

Forecast Accuracy Metrics

MAPE — Mean Absolute Percentage Error

MAPE = (1/n) × Σ |Actual − Forecast| / Actual × 100 Example: Actual = 1,000, Forecast = 950 Error = |1,000 − 950| / 1,000 × 100 = 5%
  • Best for communicating accuracy as a percentage
  • Target: <5% weekly, <10% daily
  • Limitation: undefined when Actual = 0; inflated for near-zero actuals

MAE — Mean Absolute Error

MAE = (1/n) × Σ |Actual − Forecast| Example: If you average 50 calls off per interval, MAE = 50
  • Expressed in the same unit as the forecast (calls, emails, etc.)
  • More intuitive for operational stakeholders: "we are off by 50 calls on average"
  • Use when actual values can be zero or near-zero (MAPE breaks down)
HorizonMAPE Target (Good)MAPE (Acceptable)
Monthly< 3%< 7%
Weekly< 5%< 10%
Daily< 8%< 15%
Interval (30-min)< 10%< 20%