ForHosting KIT · Developer Utilities

Double Exponential Smoothing Calculator

This double exponential smoothing calculator applies Holt's additive level-and-trend method to an ordered numeric series.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Supply observations, a level smoothing constant, a trend smoothing constant, and the number of future periods you need. The result includes fitted values, the evolving level and trend components, and a forward forecast. It is useful when data has a changing baseline and a roughly linear trend but no seasonal cycle, and it makes every intermediate estimate available for review rather than returning only a final prediction.

Choose data suited to Holt's method

Holt's double exponential smoothing is designed for observations recorded at regular intervals when both the local level and a persistent trend matter. Examples include weekly orders, monthly subscriptions, daily ticket volume, or annual production totals. Put the values in chronological order, oldest first, and keep the spacing consistent because the algorithm treats every step as one equal period. The method does not model seasonality, so a series with strong weekday, monthly, or quarterly repetition should normally be seasonally adjusted first or analyzed with a seasonal method. At least two observations are necessary because the calculator initializes trend from the difference between the first two values. More history usually gives the recursive estimates more opportunity to adapt, although a structural break can make distant history less representative. Inspect the plotted or tabulated series before accepting a forecast. Missing observations should be resolved deliberately rather than silently converted to zero, and the calculator therefore requires every supplied item to be a finite number. This keeps the statistical meaning of the time sequence explicit.

Set the level and trend constants

The level constant, commonly written as alpha, controls how strongly the latest observation changes the estimated baseline. A value near one responds quickly to new data, while a value near zero preserves more of the prior level-plus-trend projection. The trend constant, commonly written as beta, controls how quickly the estimated slope changes. A high beta follows recent acceleration or deceleration closely; a low beta produces a steadier trend. Both constants must be between zero and one, inclusive, and the calculator rejects values outside that range instead of extrapolating an undefined weighting rule. There is no universally best pair. You can compare plausible combinations against held-out observations and choose constants that reduce forecast error for the horizon that matters. Avoid selecting parameters solely because they make the in-sample line look smooth: an extremely responsive model may chase noise, while an extremely slow model may miss a genuine shift. The returned levels and trends expose the effect of each choice at every observation, making parameter comparisons auditable and easier to explain.

Interpret fitted values and forecasts

For the first observation, the calculator reports that observation as the initial fitted value. It initializes level from the first value and trend from the first difference. For each later position, the fitted value is the one-step-ahead estimate available immediately before seeing that observation. The algorithm then updates level by blending the new observation with the preceding level-plus-trend estimate, and updates trend by blending the newest level change with the preceding trend. Future forecasts extend the final level by one, two, or more multiples of the final trend. This is a point forecast, not a confidence interval, and uncertainty generally grows as the requested horizon increases. Compare fitted values with actual observations to identify persistent bias, unusual shocks, or a changing pattern that the model cannot capture. Also review the level and trend arrays when reproducing results in another system: they document every recursive state after each observation. API automation costs $0.002 per request, while the browser implementation uses the same deterministic calculation. Repeated calls with identical inputs therefore produce identical numeric output, rounded consistently for portable comparisons.

Forecast short-term demand

Estimate the next several regular periods of demand when recent level and trend are more relevant than a long-run average.

Monitor operational growth

Separate an evolving baseline from its estimated slope for tickets, signups, throughput, or another nonseasonal operating metric.

Compare smoothing settings

Run candidate alpha and beta values and examine their fitted values, level paths, trend paths, and holdout forecasts.

What is double exponential smoothing?

It is Holt's recursive method for estimating a time series level and linear trend, then extending those components into future periods.

What ranges are allowed for the constants?

The level and trend constants must each be finite numbers from 0 through 1, including both endpoints. Values outside that range return an invalid-input error.

How are the initial level and trend chosen?

The initial level is the first observation. The initial trend is the second observation minus the first observation.

Does this calculator handle seasonality?

No. It models a changing level and an additive linear trend only. Use a seasonal method or adjust the series first when repeating cycles are important.

What does the forecast contain?

It contains one point estimate per requested future period, computed by extending the final estimated level with the final estimated trend.

What does API use cost?

Each API request costs $0.002. The calculation is also available in the browser through the generated tier-A widget.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/stat/double-exponential-smoothing

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/stat/double-exponential-smoothing \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"series":[10,12,13,16,18],"level_constant":0.4,"trend_constant":0.3}'
{
  "series": [
    10,
    12,
    13,
    16,
    18
  ],
  "level_constant": 0.4,
  "trend_constant": 0.3
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "stat.double_exponential_smoothing",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_items10000
max_forecast_periods1000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →