Tutorials › Exam SRM - Statistics for Risk Modeling › Deriving Holt’s Level And Trend Updates

Exam SRM · Smoothing and Forecasting · Tutorial 493 of 926

Deriving Holt’s Level And Trend Updates

Derive and apply Holt’s level and trend updates, keeping the one-step forecast, level adjustment, and trend adjustment distinct.

Intermediate 10 min read

What You'll Learn

  • State Holt’s additive level-and-trend model and the information needed for its updates
  • Calculate a one-step forecast and its forecast error
  • Update the level using the forecast error and level smoothing parameter
  • Update the trend using the change in level and trend smoothing parameter
  • Derive the equivalent forecast-error form of the trend update
  • Identify common errors in indexing and interpreting the two smoothing parameters

Why Holt’s Updates Have Two Parts

A time series can change both in its current level and in its direction of movement. Simple exponential smoothing updates a level, but a changing trend calls for a second component. Holt’s linear method tracks both: the level summarizes the current position of the series, while the trend estimates its average change from one observation period to the next.

The update equations are easiest to understand by starting with the forecast made immediately before a new observation arrives. The difference between that forecast and the observed value is the one-step forecast error. Holt’s level update uses this error to revise the current position; the trend update uses the resulting change in level to revise the estimated direction of movement.

Definition: Let \(y_t\) be the observed value at equally spaced time \(t\). In Holt’s additive linear smoothing, \(\ell_t\) is the estimated level after observing \(y_t\), and \(b_t\) is the estimated trend after observing \(y_t\), measured in units of \(y\) per observation period. The one-step forecast made at time \(t-1\) is \(\hat{y}_{t|t-1}=\ell_{t-1}+b_{t-1}\).

The method requires initial estimates \(\ell_0\) and \(b_0\), together with level and trend smoothing parameters \(\alpha\) and \(\beta\). The standard bounds are \(0\leq\alpha\leq1\) and \(0\leq\beta\leq1\). The data must have a consistent time interval: if one observation is monthly and another is quarterly, the trend cannot be used as though both intervals were the same.

Holt’s method is additive: the trend is added to the level, rather than multiplied by it. The equations describe a local linear pattern, in which the current trend is used to predict the next observation and then revised as new data arrive. They do not require the observed series to follow a perfectly straight line. The level and trend are recursively smoothed summaries, not claims that every observation lies exactly on a line.

Deriving the Level and Trend Updates

Before \(y_t\) is observed, the forecast for period \(t\) is the previous level plus the previous trend. Define the one-step forecast error as observed minus forecast. A positive error means the observation is above the forecast; a negative error means it is below.

$$ \hat{y}_{t|t-1}=\ell_{t-1}+b_{t-1}, \qquad e_t=y_t-\hat{y}_{t|t-1} $$

The level update is a weighted average of the new observation and the forecast. The forecast is the level-and-trend projection already available before \(y_t\) arrives. Therefore the update can also be written as that projection plus a fraction \(\alpha\) of the forecast error.

$$ \ell_t=\alpha y_t+(1-\alpha)(\ell_{t-1}+b_{t-1}) =\ell_{t-1}+b_{t-1}+\alpha e_t $$

The trend update is a weighted average of the new change in level and the previous trend. The level change \(\ell_t-\ell_{t-1}\) incorporates both the expected movement \(b_{t-1}\) and the correction arising from the forecast error. Substituting the level update into the trend equation reveals exactly how much the forecast error changes the trend.

$$ b_t=\beta(\ell_t-\ell_{t-1})+(1-\beta)b_{t-1} $$
Derivation: From the level update, \(\ell_t=\ell_{t-1}+b_{t-1}+\alpha e_t\), so \(\ell_t-\ell_{t-1}=b_{t-1}+\alpha e_t\). Substitute this into the trend equation:

\(b_t=\beta(b_{t-1}+\alpha e_t)+(1-\beta)b_{t-1}\)

\(b_t=\beta b_{t-1}+\alpha\beta e_t+b_{t-1}-\beta b_{t-1} =b_{t-1}+\alpha\beta e_t.\)

Thus a forecast error changes the level by \(\alpha e_t\) and changes the trend by \(\alpha\beta e_t\). The trend equation is not simply “the trend parameter times the error”; it smooths the change in level.

This derivation also explains the roles of the two parameters. A larger \(\alpha\) makes the level respond more strongly to the latest forecast error. Given that level response, a larger \(\beta\) makes the trend respond more strongly to the change in level. If either parameter is zero, the corresponding adjustment described by the equations is suppressed: \(\alpha=0\) prevents the new observation from directly changing the level, while \(\beta=0\) leaves the trend unchanged.

Worked Updates

Worked Example: An Observation Above the Forecast

A hypothetical monthly claim-count index has previous level \(\ell_{t-1}=120\) and previous trend \(b_{t-1}=5\) index points per month. The new observation is \(y_t=129\). Use \(\alpha=0.40\) and \(\beta=0.30\) to calculate the updated level and trend.

Method and common mistake avoided. First compute the one-step forecast and its error; then apply each update. This avoids using the observation itself as the forecast or treating the trend as the entire observed change.

Step 1: Forecast and error. The forecast is \(120+5=125\) index points. Therefore \(e_t=129-125=4\) index points. The observation is four points above the forecast.

Step 2: Update the level. The level moves four tenths of the way from the forecast to the observation: \(\ell_t=125+0.40(4)=125+1.60=126.60\).

Step 3: Update the trend. The change in level is \(126.60-120=6.60\) points per month. Thus \(b_t=0.30(6.60)+0.70(5)=1.98+3.50=5.48\) points per month.

Check. Using the equivalent error form gives \(b_t=5+0.40(0.30)(4)=5+0.48=5.48\), matching the direct calculation. The updated level is above the previous forecast, and the positive error has increased the trend.

Worked Example: An Observation Below the Forecast

For a hypothetical weekly service-volume series, the previous level is \(\ell_{t-1}=80\) and the previous trend is \(b_{t-1}=-2\) units per week. The next observed value is \(y_t=74\). Let \(\alpha=0.25\) and \(\beta=0.50\). Find the updated components.

Method and common mistake avoided. Keep the negative trend in the forecast and in the trend calculation. Replacing \(-2\) with \(+2\) would reverse the direction of the projected movement.

Step 1: Forecast and error. The forecast is \(80+(-2)=78\). The error is \(74-78=-4\); the observation is four units below the forecast.

Step 2: Update the level. Apply one quarter of the error to the forecast: \(\ell_t=78+0.25(-4)=78-1=77\).

Step 3: Update the trend. The level change is \(77-80=-3\) units per week. The updated trend is \(b_t=0.50(-3)+0.50(-2)=-1.50-1.00=-2.50\) units per week.

Check. The error form gives \(b_t=-2+(0.25)(0.50)(-4)=-2-0.50=-2.50\). Both calculations agree. The updated trend is more negative because the new observation came in below the forecast.

Worked Example: Updating Sequentially for Two Observations

A hypothetical monthly workload index starts with level \(\ell_0=200\) and trend \(b_0=10\) units per month. Use \(\alpha=0.50\) and \(\beta=0.20\). The next two observations are \(y_1=214\) and \(y_2=219\). Update the level and trend after each observation.

Method and common mistake avoided. Process observations in time order. The second forecast must use the updated components from the first observation, not the starting values.

At \(t=1\), forecast and error. The forecast is \(\ell_0+b_0=200+10=210\). The error is \(e_1=214-210=4\).

At \(t=1\), level. \(\ell_1=210+0.50(4)=212\).

At \(t=1\), trend. The level change is \(212-200=12\). Hence \(b_1=0.20(12)+0.80(10)=2.40+8.00=10.40\).

At \(t=2\), forecast and error. Use the newly updated values: \(\hat{y}_{2|1}=212+10.40=222.40\). The error is \(e_2=219-222.40=-3.40\).

At \(t=2\), level. \(\ell_2=222.40+0.50(-3.40)=222.40-1.70=220.70\).

At \(t=2\), trend. The level change is \(220.70-212=8.70\). Therefore \(b_2=0.20(8.70)+0.80(10.40)=1.74+8.32=10.06\).

Check. The error form gives \(b_2=10.40+(0.50)(0.20)(-3.40)=10.40-0.34=10.06\). The second observation is below its forecast, so both the level and trend are revised downward relative to their projected values.

Interpreting the Updates and Avoiding Traps

The level and trend do not each receive the full forecast error. The level receives \(\alpha e_t\); the trend receives \(\alpha\beta e_t\). Equivalently, the trend is smoothed using the change in level, \(\ell_t-\ell_{t-1}\), not by applying \(\beta\) directly to the raw observation \(y_t\).

For example, in the first worked example, the level change is \(6.60\), so the trend update is \(0.30(6.60)+0.70(5)=5.48\). A tempting but incorrect calculation is \(b_t=0.30(6.60)=1.98\): it omits the weight \(1-\beta\) on the previous trend. Another incorrect shortcut is to set the new trend equal to the observation’s difference from the old level, \(129-120=9\); that ignores both smoothing parameters and the prior trend.

A reliable calculation sequence is:

1
Project one period ahead.
Calculate \(\ell_{t-1}+b_{t-1}\), keeping the trend’s sign and time unit.
2
Calculate the error.
Subtract forecast from observation: \(e_t=y_t-(\ell_{t-1}+b_{t-1})\).
3
Revise the level.
Add \(\alpha e_t\) to the one-step forecast to obtain \(\ell_t\).
4
Revise the trend and check.
Use the weighted change in level, or verify with \(b_t=b_{t-1}+\alpha\beta e_t\).

The error-form trend equation is particularly useful as a check, but it should not replace understanding the level-change formula: the equivalent form follows from the level update and the specified indexing. A frequent indexing error is to use \(b_t\) in the forecast for \(y_t\). The forecast must use information available before \(y_t\) is observed, namely \(\ell_{t-1}\) and \(b_{t-1}\); \(b_t\) is calculated only after the observation arrives.

These update equations are aligned with the SOA Exam SRM (Statistics for Risk Modeling) syllabus. In an applied setting, the fitted level and trend depend on the initialization and chosen parameter values as well as the observations. A calculation should therefore state the starting components and both smoothing parameters rather than implying that the latest observation alone determines the result.

Key takeaway: Holt’s level update moves the previous one-step forecast by \(\alpha\) times its error. Its trend update smooths the change in level; equivalently, it changes the previous trend by \(\alpha\beta\) times the same forecast error.

Check Your Understanding

For each problem, use equally spaced observations and the stated Holt additive updates. Keep intermediate quantities unrounded.

  1. A series has \(\ell_{t-1}=50\), \(b_{t-1}=3\), \(y_t=55\), \(\alpha=0.40\), and \(\beta=0.20\). Find the one-step forecast, updated level, and updated trend. (Answer: forecast \(53\), \(\ell_t=53.80\), \(b_t=3.16\))
  2. A weekly index has \(\ell_{t-1}=100\), \(b_{t-1}=-4\), and \(y_t=91\), with \(\alpha=0.30\) and \(\beta=0.50\). Calculate the forecast error and both updated components. (Answer: \(e_t=-5\), \(\ell_t=94.50\), \(b_t=-4.75\))
  3. The previous level and trend are \(36\) and \(6\), respectively. An observation is \(38\); \(\alpha=0.25\) and \(\beta=0.40\). Find the one-step forecast, the error, and the updated level and trend. (Answer: forecast \(42\), \(e_t=-4\), \(\ell_t=41\), \(b_t=5.60\))
  4. A monthly measure has previous level \(70\), previous trend \(2\), and new observation \(76\). With \(\alpha=0.50\) and \(\beta=0.25\), calculate the updated level and trend using the level-change trend equation, then check the trend with the error form. (Answer: \(\ell_t=74\), \(b_t=2.50\))
  5. A candidate calculates a forecast of \(34\) from \(\ell_{t-1}=30\) and \(b_{t-1}=4\). The observation is \(37\), with \(\alpha=0.20\) and \(\beta=0.50\). What are the updated level and trend, and why is \(0.50(4.60)\) alone not the correct trend? (Answer: \(\ell_t=34.60\), \(b_t=4.30\); the trend also retains \(1-\beta\) of the previous trend.)
Clinical Biostats