Skip to main content
v2026.11,858 entries · CC-BY 4.0

Exponential Smoothing Formula: Worked Example and How to Choose Alpha

The exponential smoothing formula with every symbol, both index conventions, a 12-point worked example and what error says about choosing alpha.

Written and maintained by CASRAI Editorial Board

Last updated

The exponential smoothing formula turns a series of observations into a smoothed value by blending the newest observation with the previous smoothed value: St = α yt-1 + (1 − α) St-1 in the NIST convention, where α is a smoothing constant between 0 and 1. This guide gives every symbol, the two index conventions that make textbooks look inconsistent, a full worked example with the arithmetic shown, and what happens when you try to choose α by minimising error.

What is exponential smoothing?

Exponential smoothing is a forecasting and smoothing method in which each new smoothed value is a weighted average of all past observations, with weights that shrink geometrically as the observations get older. Because the weights decay by a constant factor, the whole history can be carried in one number, so the method needs only the previous smoothed value and the latest observation. The simplest version, single (or simple) exponential smoothing, suits a series with no clear trend or seasonal pattern. Extensions that add a trend (Holt) or seasonality (Holt-Winters) are covered in chapter 8 of the OTexts textbook cited below. If you are comparing it with an equal-weight alternative, see our guide to the moving average.

Exponential smoothing formula and every symbol

The NIST/SEMATECH e-Handbook of Statistical Methods (section 6.4.3.1) writes single exponential smoothing as follows.

  • yt: the observation at time t, for t = 1, 2, …, n.
  • St: the smoothed value (the forecast for period t) at time t.
  • α: the smoothing constant, with 0 < α ≤ 1.

There is no S1. The handbook sets S2 = y1 and, for t ≥ 3, uses the recursion:

St = α yt-1 + (1 − α) St-1

Two index conventions you will meet

NIST notes that an alternative form, attributed to Roberts (1959), uses yt instead of yt-1, so the smoothed value at t already contains the observation at t. Hyndman and Athanasopoulos, Forecasting: Principles and Practice (3rd edition, OTexts), write the same idea two ways. The forecast form is ŷt+1|t = α yt + (1 − α) ŷt|t-1. The component form is a level equation, ℓt = α yt + (1 − α) ℓt-1, with the forecast ŷt+h|t = ℓt for every horizon h. The formulas are the same calculation shifted by one period, so St+1 in the NIST form equals ℓt in the textbook form. When a calculator, spreadsheet or paper gives numbers that are one row off from another source, the convention is almost always the reason.

Why it is called exponential

Expanding the recursion shows the weights. The textbook weighted-average form is ŷT+1|T = α yT + α(1 − α) yT-1 + α(1 − α)2 yT-2 + … The weights α(1 − α)i decrease geometrically and sum to 1 as the series lengthens. For α = 0.3 the first four weights are 0.3000, 0.2100, 0.1470 and 0.1029 (the last three match the 0.2100, 0.1470 and 0.1029 that NIST lists for its expansion). NIST puts it this way: when α is close to 1, dampening is quick, and when α is close to 0, dampening is slow. With α = 1 the method reduces to the naive forecast, which repeats the last observation.

Worked example with the arithmetic shown

The data are the 12-point series used in the NIST handbook: 71, 70, 69, 68, 64, 65, 72, 78, 75, 75, 75, 70. Take α = 0.1 and start with S2 = y1 = 71.

  • S3 = 0.1 × 70 + 0.9 × 71.00 = 7.00 + 63.90 = 70.90
  • S4 = 0.1 × 69 + 0.9 × 70.90 = 6.90 + 63.81 = 70.71
  • S5 = 0.1 × 68 + 0.9 × 70.71 = 6.80 + 63.64 = 70.44

Continuing the same way gives the full table. The error is et = yt − St.

t yt St Error et et2
2 70 71.00 -1.00 1.00
3 69 70.90 -1.90 3.61
4 68 70.71 -2.71 7.34
5 64 70.44 -6.44 41.47
6 65 69.80 -4.80 23.04
7 72 69.32 2.68 7.18
8 78 69.58 8.42 70.90
9 75 70.43 4.57 20.88
10 75 70.88 4.12 16.97
11 75 71.29 3.71 13.76
12 70 71.67 -1.67 2.79

The sum of squared errors from unrounded arithmetic is 208.82 over 11 errors, so the mean squared error (MSE), a close relative of the variance, is 208.82 / 11 = 18.98. NIST reports an SSE of 208.94 and an MSE of 19.0, slightly different from the unrounded figures here. The forecast for period 13 is 0.1 × 70 + 0.9 × 71.67 = 71.50.

Choosing alpha: what the error actually shows

NIST recommends choosing α to minimise the MSE, trying values from 0.1 to 0.9 and then refining, and notes that nonlinear optimisers are more efficient. The textbook likewise defines the fit by the sum of squared one-step errors and says it requires numerical (nonlinear) minimisation, since there is no closed-form solution as in regression. Running that grid on the NIST series, with S2 = y1, gives:

α SSE MSE (SSE / 11)
0.1 208.82 18.98
0.3 199.59 18.14
0.5 181.46 16.50
0.7 162.54 14.78
0.9 145.99 13.27
1.0 139.00 12.64

The error falls steadily as α rises and is smallest at α = 1, the naive forecast. That is a useful warning rather than a recipe: on this short series, which steps up in the middle, smoothing does not beat repeating the last value, and the optimiser is telling you the data have no stable level to average. Report that finding instead of forcing an intermediate α. The starting value also matters. NIST lists three starting options, S2 = y1, a process target, or the average of the first four or five observations, and states that the smaller the value of α, the more important is the selection of the initial value.

Interpretation: reading the smoothed value

What you see What it means (per NIST and OTexts)
α near 1 Recent observations dominate; dampening of the past is quick; α = 1 is the naive forecast.
α near 0 Distant observations keep weight; dampening is slow; the starting value matters more.
Flat forecasts Single smoothing gives the same forecast for every horizon, ŷT+h|T = ℓT.

In the OTexts example, Algeria’s exports as a percentage of GDP (1960 to 2017) were fitted with an additive-error, no-trend model (ETS(A,N,N)). The estimated α was 0.84 and the estimated initial level 39.5, so l1 = 0.84 × 39.04 + 0.16 × 39.54 ≈ 39.12, and the forecast was 22.44 for each of the next five years. The textbook notes that the prediction intervals show considerable uncertainty around that flat line.

Assumptions and common mistakes

  • Using single smoothing on a trending or seasonal series. The textbook positions simple exponential smoothing for data with no trend or seasonality; Holt and Holt-Winters add those components.
  • Mixing conventions. Comparing an St that uses yt-1 with a level ℓt that uses yt produces numbers that look one period off.
  • Allowing α outside its range. NIST gives 0 < α ≤ 1; the textbook allows 0 ≤ α ≤ 1.
  • Ignoring the initial value. Small α makes the start matter; state which option you used.
  • Treating the forecast as a trajectory. The forecast is flat for all horizons.
  • Judging fit by one in-sample number. Compare against the naive forecast, as the table above does, and see our guide to the Brier score for another worked accuracy measure for forecasts.

How to report exponential smoothing (APA-style template)

Report the method, α and how it was chosen, the initialisation and the error measure. A template, with the values from the example above:

Single exponential smoothing was applied to the series (n = 12), initialised with the first observation (S2 = y1). The smoothing constant was set to α = 0.10 (MSE = 18.98); the error was lower for larger values of α, reaching its minimum at α = 1.0 (MSE = 12.64), so smoothing did not improve on the naive forecast.

Give numbers to two decimals, italicise statistical symbols as your style guide requires, and cite the method source (for example, the NIST/SEMATECH e-Handbook of Statistical Methods) in the reference list.

How to calculate exponential smoothing in Excel, R or Python

Excel

Put α in E1 and the observations in A2:A13. In B3 enter =A2 (this is S2 = y1), then in B4 enter =$E$1*A3+(1-$E$1)*B3 and fill down to B13. In C3 enter =A3-B3 and fill down to C13. The MSE is =SUMSQ(C3:C13)/COUNT(C3:C13).

R

y <- c(71,70,69,68,64,65,72,78,75,75,75,70)
alpha <- 0.1
s <- y[1]; sse <- 0
for (t in 2:length(y)) {
  e <- y[t] - s
  sse <- sse + e^2
  s <- alpha * y[t] + (1 - alpha) * s
}
c(sse, sse / (length(y) - 1), s)

Python

y = [71, 70, 69, 68, 64, 65, 72, 78, 75, 75, 75, 70]
alpha = 0.1

s = y[0]            # S_2 = y_1
sse = 0.0
for t in range(1, len(y)):
    e = y[t] - s    # observation minus its smoothed forecast
    sse += e * e
    s = alpha * y[t] + (1 - alpha) * s
mse = sse / (len(y) - 1)
print(round(sse, 2), round(mse, 2), round(s, 2))   # 208.82 18.98 71.5

Frequently asked questions

What is exponential smoothing?

It is a method that forecasts or smooths a series by averaging all past observations with geometrically decreasing weights, so the newest data count most. One smoothing constant, α, controls how fast the weights decay.

What are some exponential smoothing examples?

The worked example above smooths a 12-point series from the NIST handbook with α = 0.1. The OTexts textbook fits the method to Algeria’s exports as a percentage of GDP, finding α = 0.84 and a flat forecast of 22.44.

What value of alpha should I use?

NIST suggests choosing the α that minimises the MSE, trying 0.1 to 0.9 first and refining with an optimiser. Check the result against the naive forecast (α = 1).

How is it different from a moving average?

A moving average weights a fixed window equally; exponential smoothing weights every past observation, with weights that decay geometrically.

How do I handle trend or seasonality?

Single smoothing is for data without them. The textbook covers Holt’s method (trend) and Holt-Winters (seasonality) in its chapter 8.

Sources

Follow CASRAI

Research-administration guidance, standards updates and independent tool reviews.

Ask CASRAI · free to try

Ask about Exponential Smoothing Formula: Worked Example and How to Choose Alpha

Ask your first 2 questions free below. Subscribers get 150 a day for $29 a month.

An AI assistant specialized in research administration. It cites the sources behind every answer, labels web answers and says when it can't answer.

Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.

Works on this site and inside Claude, Cursor and the AI tools you already use.

Everything CASRAI publishes — this page, the dictionary, the guides and the news — stays free to read, with no account and no card.

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →

Ask CASRAI · Regulatory Radar

Research-admin question? Get an answer that links its sources.

An AI assistant specialized in research administration. Every answer links its sources to check before you act. 2 questions free, no account. $29/month after.

  • Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.
  • Every answer numbers its sources and links each one, so you can check the source yourself.