Auto CES
Complex Exponential Smoothing (CES) is a forecasting method that extends traditional exponential smoothing by using complex-valued smoothing parameters. Unlike standard methods such as ETS, which assign monotonically decreasing weights to past observations (where recent data always has greater influence), CES allows the weights to oscillate. Therefore, older observations can periodically become more relevant than some recent ones. This behavior reflects real-world patterns commonly found in cyclical demand, seasonal businesses, and products affected by recurring promotional activities.
Traditional exponential smoothing uses a single real-valued parameter, α (between 0 and 1), to control how quickly the influence of past observations decays. A higher α places more importance on recent data, making the forecast more responsive to change, while a lower α produces a smoother and more stable forecast.
CES replaces this with a complex-valued parameter defined as α = a₀ + i·a₁,
where a₀ is the real component and a₁ is the imaginary
component. The use of complex arithmetic causes the weights assigned to past observations to
follow a damped oscillating pattern instead of a simple exponential decay.
Weight pattern comparison
Standard ETS: weights decay as α, α(1-α), α(1-α)², α(1-α)³, ... (monotonic decline)
CES: weights follow Re(α·(1-α*)ʲ) where α* is the complex conjugate — this produces a damped sinusoidal pattern
When a₁ = 0, CES reduces to standard exponential smoothing.
When a₁ ≠ 0, the oscillating weights emerge. The optimizer automatically
determines whether the data benefits from this oscillation.
Seasonality modes
This table shows the four seasonality modes that CES supports, which CES selects automatically by using information criteria (AIC):
| Mode | Code | Parameters | Description |
|---|---|---|---|
| None | N | a₀, a₁ |
No seasonality, complex level only |
| Simple | S | a₀, a₁ |
Seasonal indices handled implicitly through the complex level |
| Partial | P | a₀, a₁, b₀ |
Complex level + real-valued seasonal smoothing |
| Full | F | a₀, a₁, b₀, b₁ |
Complex level + complex-valued seasonal smoothing |
The automatic selection process first evaluates None and Simple (fast and no b parameters are required). The process tests Partial and Full if Simple outperforms None. This result indicates that a seasonal component adds value. This approach keeps computation efficient for non-seasonal data.
Built-in features
This table shows the built-in features of the CES forecasting method:
| Feature | Description |
|---|---|
| Automatic parameter optimization | A two-phase grid search finds the best complex smoothing parameters:
A smoothing penalty discourages extreme parameter values ( |
| Trend estimation (Drift) | CES captures level dynamics through its complex state-space equations, but CES
does not have an explicit trend component like ETS does. Instead, CES estimates a
local linear drift from the tail of the fitted values after the model is fit. This
drift is analogous to the Theta method's drift component. The drift window is adaptive:
R² > 0.15) ensures that the model applies
drift only when the trend explains meaningful variance. This threshold is
intentionally lower than the typical 0.3 because CES fitted values can contain
oscillation from the complex parameter. This oscillation adds variance that masks a
real underlying trend. |
| Warm-up period | The first few fitted values are unreliable because the complex level state has not yet converged. The implementation excludes the first 4 observations (or fewer for short seasonal periods) from all error calculations. These calculations include model selection, RMSE reporting, and confidence interval estimation. This practice is standard in state-space model implementations and produces cleaner parameter selection, especially on short series. |
| Data cleaning | Data cleaning includes these tasks:
|
| Fallback strategies | CES always produces a forecast. When the data is insufficient or degenerate,
CES uses fallback strategies:
|
Key differentiators
These are the key differentiators for CES:
- CES versus ARIMA: CES is faster, requires less data, and handles oscillating patterns as a built-in feature. ARIMA is more flexible for long series with complex autocorrelation structures. ARIMA requires stationarity testing and differencing. CES doesn’t require stationarity testing or differencing.
- CES versus ETS: Both are state-space models, but ETS uses real-valued parameters with monotonic weight decay. CES extends the weight structure with complex parameters that allow oscillating weights. ETS has a richer trend taxonomy (none, additive, damped additive, and multiplicative). CES has a simpler structure that is effective when the trend is ambiguous.
- CES versus BATS: For single-period seasonal data, CES is a simpler alternative. BATS's trigonometric seasonal terms can capture some oscillating patterns, but not the oscillating level weights that CES provides.
CES participates in a competitive forecast selection process with other methods, such as ARIMA, ETS, and Theta. CES adds value to this set of methods. CES covers scenarios where traditional methods are less effective: short series, oscillating patterns, and ambiguous trends.