I'm confused on the level and seasonal update equations in Holt-Winters (aka Triple) Exponential Smoothing. Namely, the equations are as follows (in additive form):

Level: $l_t =\alpha(y_t - s_{t-m}) + (1-\alpha)(l_{t-1}+T_{t-1})$

Season: $s_t = \gamma(y_t - l_t) + (1-\gamma)s_{t-m}$

Here are some points of confusion:

  1. What does $T_{t-1}$ represent? For example, at timestep 5, is this value equal to 4? And if so, why is this in the level update equation?
  2. Why is the seasonal update defined in terms of the difference between $y_t, l_t$? It looks like it was designed to capture deficiencies between level and ground truth at a given timestep. But it doesn't account for shortcomings of trend, which perplexes me.
  3. Why is $s_{t-m}$ subtracted from $y_t$ in the level update equation?

Generally, it's hard to wrap my head around multiple moving parts, but I'm sure if I could pin one or two down, the other would fall into place for me.


1 Answer 1


In Holt-Winters exponential smoothing for additive model, the time series $y_t$ is forecast as $$ F_{t+k} = l_t + h T_t + s_{t - p + 1 + (h-1) \text{mod} p} ,$$ where $l_t$ is the level of the time series at time $t$, $T_t$ is the trend and $s$ represents the seasonal component.

  • $T_{t-1}$ is the trend at time $t-1$.
  • Defining the seasonal term in terms of $y_t$ and the level $l_t$ works because of an iterative definition, where $l_t$ itself is defined in terms of $y_t$ and past seasonal component.
  • Subtracting the seasonal component from $y_t$ in the level update equation works again because of the iterative definitions.

The equations in the link in the answer contains mistakes. Please see the correct equations in other places, e.g., in the R manual for the function.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.