Exponential Smoothing in Business Analytics ( The α, β and γ of Business Analytics)

--

Exponential smoothing is a widely used smoothening technique in business analytics that assigns exponentially decreasing weights to past observations. It is particularly useful for forecasting future values based on historical data. There are three main types of exponential smoothing methods: simple exponential smoothing, double exponential smoothing, and triple exponential smoothing (also known as Holt-Winters method). Let’s explore each type along with their formulas and examples:

  1. Simple Exponential Smoothing (SES):

Simple exponential smoothing is the basic form of exponential smoothing that assumes a constant level of the underlying time series. It is suitable for data without a trend or seasonality component. The formula for simple exponential smoothing is as follows:

Forecast_t​ = α×Actualt​ +(1−α) × Forecast_t−1​

Where:

  • Forecast_t: Forecast value at time t
  • Actual_t: Actual value at time t
  • Forecast_t-1: Forecast value at the previous time period (t-1)
  • α (alpha): Smoothing parameter, ranging from 0 to 1, which determines the weight assigned to the most recent observation. A smaller α discounts older observations more rapidly.

Example: Let’s say we want to forecast monthly sales based on the following historical data:

Month Sales

Jan 100

Feb 120

Mar 110

Apr 130

Assuming α = 0.3, we can calculate the simple exponential smoothing forecast for May:

Forecast_May = 0.3 * 130 + (1–0.3) * 110 = 123

2. Double Exponential Smoothing:

Double exponential smoothing extends simple exponential smoothing by incorporating a trend component in the forecast. It is suitable for data with a trend but no seasonality. The formula for double exponential smoothing includes two components: level (denoted as L) and trend (denoted as T). Here are the formulas:

Level_t = α \times Actual_t + (1 — α) \times (Level_{t-1} + Trend_{t-1})

Trend_t = β \times (Level_t — Level_{t-1}) + (1 — β) \times Trend_{t-1}

Forecast_t = Level_t + Trend_t

Where:

  • Level_t: Level at time t
  • Trend_t: Trend at time t
  • β (beta): Smoothing parameter for the trend, ranging from 0 to 1. It determines the weight assigned to the trend component.

Example: Let’s continue with the previous sales data and assume α = 0.2 and β = 0.3. We can calculate the double exponential smoothing forecast for May:

Level_May = 0.2 * 130 + (1–0.2) * (110 + 0) = 111

Trend_May = 0.3 * (111–110) + (1–0.3) * 0 = 0.3

Forecast_May = 111 + 0.3 = 111.3

3. Triple Exponential Smoothing (Holt-Winters method):

Triple exponential smoothing expands on double exponential smoothing by incorporating both trend and seasonality components in the forecast. It is suitable for data with both trend and seasonality. The formula for triple exponential smoothing includes three components: level (L), trend (T), and seasonal (S). Here are the formulas:

Level_t = α \times (Actual_t — S_{t-m}) + (1 — α) \times (Level_{t-1} + Trend_{t-1})

Trend_t = β \times (Level_t — Level_{t-1}) + (1 — β) \times Trend_{t-1}

Seasonal_t = γ \times (Actual_t — Level_t) + (1 — γ) \times S_{t-m}

Forecast_t = Level_t + Trend_t + Seasonal_{t-m}

Where:

  • Level_t: Level at time t
  • Trend_t: Trend at time t
  • Seasonal_t: Seasonal component at time t
  • α (alpha): Smoothing parameter for the level, ranging from 0 to 1
  • β (beta): Smoothing parameter for the trend, ranging from 0 to 1
  • γ (gamma): Smoothing parameter for the seasonal component, ranging from 0 to 1
  • S_{t-m}: Seasonal component m periods ago (where m represents the length of the seasonal cycle)

Example: Let’s continue with the previous sales data and assume α = 0.2, β = 0.3, γ = 0.4, and a seasonal cycle length of 3 months. We can calculate the triple exponential smoothing forecast for May:

Level_May = 0.2 * (130–100) + (1–0.2) * (111 + 0) = 110.6

Trend_May = 0.3 * (110.6–111) + (1–0.3) * 0 = -0.1

Seasonal_May = 0.4 * (130–110.6) + (1–0.4) * 0 = 7.4

Forecast_May = 110.6–0.1 + 7.4 = 118.9

In this example, we incorporated the seasonality with a seasonal cycle length of 3 months to calculate the forecast for May.

Further reading : How to calculate Exponential smoothing with Pandas using the statsmodels library

--

--