Both methods on one series, with the optimal alpha found for you.
Smooth a series, and look at the forecast
Rising by exactly 3 every period. Simple smoothing forecasts a flat line at every alpha, including the best one.
Simple exponential smoothing, alpha = 0.300
Next period: 36.13841
Every one of the next 6 periods is forecast at exactly this value. Simple exponential smoothing has no trend component, so its forecast is a horizontal line whatever alpha you choose.
Fitting SSE
738.601725
one-step-ahead errors
MAE
7.92073
mean absolute error
MAPE
29.019%
mean absolute % error
Final level
36.13841
the whole forecast
Best alpha
1.000
minimises SSE
SSE at the best alpha
99.000000
yours is 738.601725
Forecast at the best alpha
43.00000
still a flat line
Flat forecast?
Yes
at every alpha, always
Plain points are the observed series and the line is the fitted one-step-ahead forecast. The highlighted points to the right are the forecast — all at the same height, because there is no trend term to tilt them.
Each period with its observation, the one-step-ahead forecast and the error
Period
Observed
Forecast made last period
Error
1
10.000000
— (initialised)
—
2
13.000000
10.000000
+3.000000
3
16.000000
10.900000
+5.100000
4
19.000000
12.430000
+6.570000
5
22.000000
14.401000
+7.599000
6
25.000000
16.680700
+8.319300
7
28.000000
19.176490
+8.823510
8
31.000000
21.823543
+9.176457
9
34.000000
24.576480
+9.423520
10
37.000000
27.403536
+9.596464
11
40.000000
30.282475
+9.717525
12
43.000000
33.197733
+9.802267
13
—
36.138413
forecast
14
—
36.138413
forecast
15
—
36.138413
forecast
16
—
36.138413
forecast
17
—
36.138413
forecast
18
—
36.138413
forecast
The first period has no forecast because there was nothing before it to forecast from — the level is initialised to it. So the error column has n − 1 entries and the MAE divides by n − 1.
No value of alpha makes this forecast slope. Simple exponential smoothing carries a single number forward — the level — and the forecast for every future period is that number. Press “use the best alpha” on the trending preset and the SSE drops to its minimum while the forecast stays a horizontal line. That is the model, not a tuning failure, and it is the whole reason Holt’s method exists.
What this tool shows
Simple exponential smoothing forecasts a horizontal line — at every alpha, including the one that minimises the error. On a series rising by 3 a period, the best alpha is 1.00 and the forecast is 43 repeated six times against a series heading for 46, 49, 52. Holt’s method fits the same series with an SSE of zero. The tool runs both and finds the optimal alpha for you.
Simple exponential smoothing with any alpha, and the SSE-optimal one found
Holt’s linear trend method, with a separate smoothing factor for the trend
SSE, MAE and MAPE on the one-step-ahead errors, not on the fitted values
A forecast table showing which values are observed and which are projected
Whether Holt’s extra parameter actually beat tuned simple smoothing on your data
The forecast plotted, so a flat line looks like a flat line
Both methods Alpha optimised Flat forecast shown One-step errors
Simple smoothing cannot forecast a trend. At any alpha.
Updated 12 September 2026 · Works in any browser, no installation
Exponential smoothing forecasts by carrying a weighted average forward, with the weights decaying geometrically into the past. Alpha sets how fast they decay: near 1 the forecast is essentially the last observation, near 0 it is essentially the long-run average. The plain version tracks a level only, so its forecast is a constant — unlike a moving average, it uses every past observation, but it still has nowhere to put a trend.
At a glance
Formula shown
Simple: Lₜ = α·yₜ + (1 − α)·Lₜ₋₁, with the forecast for every future period equal to the final L. Expanding the recursion gives weights α, α(1−α), α(1−α)², … on successively older observations — geometrically decaying, summing to 1, and never reaching zero. Holt adds a trend: Lₜ = α·yₜ + (1 − α)(Lₜ₋₁ + Tₜ₋₁) and Tₜ = β(Lₜ − Lₜ₋₁) + (1 − β)Tₜ₋₁, with the forecast h periods ahead equal to L + h·T. Both are fitted by minimising the sum of squared one-step-ahead errors.
Scenario support
Short-horizon demand forecasting, inventory reorder points, smoothing a noisy metric before reading it, capacity planning from recent load, and any series where recent observations should count for more than old ones but none should be discarded outright.
Educational estimate
Planning support from the values you enter — not professional advice.
The forecast is a horizontal line, and no alpha fixes it
This is the single most surprising property of the method, and it is almost never stated plainly in the places it is taught.
Simple exponential smoothing carries one number forward: the level. Its forecast for the next period is that number. Its forecast for the period after that is the same number, because nothing in the model updates between them. Six periods out, it is still that number.
Try the trending preset. A series rising by exactly 3 each period, ending at 43. At alpha 0.05, alpha 0.2, alpha 0.5, alpha 0.8 or alpha 0.99, the forecast is a flat line. The heights differ; the flatness does not.
Including at the optimal alpha, which is the part that settles the argument. The SSE-minimising alpha on that series is 1.00 — chase the trend as hard as the model permits — and it still forecasts 43, 43, 43, 43, 43, 43 against a series heading for 46, 49, 52. The fitting error falls from 738.6 to 99.0 and the forecast stays horizontal.
Holt on the same series fits with an SSE of 0.000000 and reports a trend of exactly 3.000000, forecasting 46, 49, 52, 55, 58, 61. That is not Holt being tuned better; it is Holt having a parameter for the thing that is happening.
So the diagnosis is structural, not numerical. If your series trends and your forecast does not, no amount of alpha-fiddling will help. Change the model.
What alpha actually controls
Alpha is usually described as “the smoothing constant”, which says nothing. It has three exact meanings, and they are the same meaning.
It is the weight on the newest observation. Directly, from the recursion. Alpha 0.3 means the latest value contributes 30% of the new level and the old level contributes 70%.
It sets the decay of every older weight. Expanding the recursion gives weights α, α(1−α), α(1−α)² and so on. They sum to 1 and none is ever exactly zero — which is the real difference from a moving average, where everything outside the window has weight zero and everything inside has equal weight.
And it fixes an equivalent window length. The average age of the weights is (1−α)/α periods, so alpha 0.3 has an average lag of 2.33 periods and behaves like a roughly 5.7-period moving average. The conversion α = 2/(n+1) that appears in every technical analysis package exists to make those two lags match.
The two limits are worth knowing. At alpha = 1 the model is naive persistence: forecast the last value, and the SSE is exactly the sum of squared first differences. At alpha near 0 the level barely moves from where it started, and the tool shows it still sitting on the first observation after twelve periods.
The optimal alpha is found by search, not by rule of thumb. The button above tries a grid across the whole range and reports the value minimising one-step-ahead SSE. The suite verifies on 200 random series that no value on the grid beats the one returned.
When Holt helps, and when it costs you
The usual advice is “use Holt if there is a trend”. The half that is missing is what happens when there is not.
On a trending series Holt wins every time. Two hundred simulated series with a real slope and moderate noise: Holt beat optimally tuned simple smoothing in 200 of 200. Not usually — every one.
On a flat noisy series it loses almost as consistently. Two hundred more with no trend at all: tuned simple smoothing won the large majority. The trend component estimates a slope from noise and then extrapolates it, which is a way of adding error rather than removing it.
The tool computes both and says which won on your data. Switch to Holt and the comparison tiles show its SSE against the best simple-smoothing SSE, with a verdict. That is a fitting comparison rather than a forecasting one, and it is the cheapest evidence available.
Beta = 0 is not simple smoothing. It freezes the trend at its initial value — taken from the first two observations — and keeps extrapolating it forever. A common assumption, and wrong: simple smoothing has no trend term, Holt with beta = 0 has a constant one, and on a long series those diverge badly.
Neither method models seasonality. The monthly-sales preset has an annual shape that both will miss entirely; the errors in the table repeat with the season. Holt-Winters adds a third component for that, and a series with visible seasonality needs it rather than a better alpha.
The error measures are one-step-ahead, which matters
A fitted value here is not a smoothed value. It is the forecast the model would have made for that period, using only the periods before it, and that distinction changes every number in the table.
Smoothed values use the observation they are compared against. Comparing a series to its own smoothed version flatters the model, because the observation is part of the smoothing. The errors here never are.
So the first period has no error. There was nothing before it to forecast from; the level is initialised to it. MAE and MAPE therefore divide by n − 1, and a tool that divides by n reports a slightly better model than it has.
SSE is what the alpha search minimises. Not MAE, not MAPE. The choice matters when the series has one large outlier, because squaring gives it a great deal of influence over the alpha selected — a case where the optimal alpha is optimal for a criterion you may not have chosen.
MAPE is undefined at zero and unstable near it. It is reported here where every observation is non-zero, skipped where any is, and it should be distrusted on series that pass close to zero. It is also asymmetric: it punishes over-forecasting more than under-forecasting.
And none of these measure forecast accuracy. They measure fit on the data used to choose the parameters. A genuine test holds back the last several periods, fits on the rest, and compares — which the table makes easy by showing exactly which values were observed and which were projected.
Against a moving average
Both smooth. They discard different things, and the difference decides which one belongs on a given series.
A moving average has a hard edge. Observations inside the window count equally; observations outside count for nothing. A value leaving the window changes the average even though nothing new happened — which produces movements in the smoothed line that correspond to no event in the data.
Exponential smoothing has no edge. Every past observation contributes, with a weight that shrinks geometrically. Nothing ever drops out, so nothing ever falls off the end and jolts the line.
It also needs almost no memory. The recursion keeps one number (two for Holt), where an n-period moving average keeps n. That was the original reason for its adoption and it still matters at scale.
The lags are comparable, and that comparison is exact. A trailing n-period moving average lags a linear trend by exactly (n−1)/2 periods; exponential smoothing lags by (1−α)/α. Setting those equal gives α = 2/(n+1), which is where the familiar formula comes from — verified against a linear series in the moving average calculator.
But both lag, and neither forecasts a trend without help. A trailing moving average projected forward is flat for the same reason simple smoothing is. The fix in both cases is a model with a trend term, not a shorter window or a bigger alpha.
Reporting a smoothed forecast
Four things that separate a usable forecast from a number in a slide.
State the method and the parameters. “Exponentially smoothed” does not distinguish simple from Holt from Holt-Winters, and the three give very different forecasts on the same series. Alpha and beta belong in the caption.
Say whether the parameters were fitted or chosen. An alpha selected to minimise SSE on the same data it is then evaluated on will look better than it is. A held-out comparison is the only honest accuracy figure.
Say the forecast is flat if it is flat. A chart showing a horizontal line six periods into the future is a model statement, not a prediction that nothing will change, and readers routinely take it for the latter.
Give an interval, or say you have not. These forecasts carry no uncertainty estimate. The residual spread in the error column is the crudest available proxy and it understates the true uncertainty at longer horizons, because the errors compound.
And do not extrapolate far. Exponential smoothing is a short-horizon method. Holt projects a straight line indefinitely, which is a claim no series supports for long — damped-trend variants exist precisely because the undamped projection becomes absurd within a few dozen periods.
Sources and methodology
References for exponential smoothing and its variants.
Method. Both methods are fitted on one-step-ahead errors rather than on smoothed values, so the fitted value for a period never uses that period’s observation. The flat-forecast property is verified rather than described: the suite checks that the simple-smoothing forecast is constant at five different alphas on a trending series, that the SSE-optimal alpha is 1.00 there, and that it is still constant at that alpha, while Holt’s SSE on the same series is zero and its trend is exactly 3. The alpha search is verified as a genuine minimum — no grid value beats the one returned, across 200 random series — and both directions of the Holt-versus-simple comparison are measured on 200 trials each rather than asserted. The limits are checked too: alpha = 1 reproduces naive persistence with an SSE equal to the sum of squared first differences. That engine is verified on every change against 130 assertions. The count and the per-case breakdown are published on the formula verification page.
Related calculators
Where this goes next:
Moving AverageSimple, exponential, weighted and centred moving averages with the lag each one carries — exactly (n−1)/2 periods for a simple average, which is also the reason α = 2/(n+1) is in every EMA formula.
Weighted AverageEach value carries the weight you give it, with every item's share of the total shown as a percentage so you can see what is actually driving the answer.
Linear RegressionThe least-squares line with r and r² — and the regression of x on y beside it, because those are two different lines rather than one line rearranged.
Mean, Median and ModeAll three centres marked on your own data, every mode rather than just the first, and the mean-median gap read as a direct measure of skew.
Standard DeviationSample and population standard deviation, plus variance, mean, median, quartiles, z-scores, outliers, and confidence intervals.
Trimmed MeanTrimmed and Winsorized means at any fraction, plotted across the full sweep — because a 0% trim is the arithmetic mean and a 50% trim is exactly the median, so the trim fraction is a dial between them.
An educational tool. Neither method models seasonality, and neither produces a prediction interval — the forecasts here are point estimates whose uncertainty grows with the horizon in a way the fitting errors do not capture.
Published simple exponential smoothing and Holt's linear trend on one series, with the SSE-optimal alpha found by search. The headline is verified rather than described: on a series rising by exactly 3 a period, the forecast is a flat line at every alpha INCLUDING the optimal one, which is 1.00 and still forecasts 43 six times against a series heading for 46, 49, 52.
Holt on the same series fits with an SSE of 0.000000 and recovers the trend as exactly 3.000000. That is the difference between a model with a trend parameter and one without, shown as two numbers.
Both directions of the Holt-versus-simple comparison were measured at 200 trials each. On trending series Holt beat optimally tuned simple smoothing 200 times out of 200; on flat noisy series simple smoothing won the large majority, which is the half of the advice nobody gives.
The alpha search is verified as a genuine minimum: across 200 random series, no value on the grid beat the one returned.
Errors are one-step-ahead throughout, so a fitted value never uses the observation it is compared against, and MAE divides by n - 1 because the first period has no forecast.
Add this calculator to your site
Responsive embed — and private: nothing your visitors type leaves their browser.