Jump to content
  • Holt Winters Forecasting Data Function for Spotfire®

    This article describes in detail the Holt Winters data function for fitting and forecasting an univariate time series.


    Holt Winters, also known as Triple Exponential Smoothing, is a method commonly used in time series analysis for data that exhibits both a trend and a seasonal variation. This method is used both for smoothing and forecasting.
    The primary goal of smoothing in the Holt Winters method is to capture and represent the underlying behaviours in the historical time series data.

    • The method decomposes the time series into three main components: level (average or baseline), trend (overall direction or slope), and seasonality (repeating patterns or cycles).
    • The smoothing constants (alpha, beta, gamma) control the weights assigned to the most recent observations when updating level, trend, and seasonality, respectively. A higher alpha/beta/gamma gives more weight to recent observations when calculating level/trend/seasonality respectively, making the forecast more responsive to short-term changes.

    Forecasting uses the smoothed components to make predictions about future values. The forecast is achieved by combining the level, trend and seasonality components, using a different formula for additive or multiplicative seasonality:

    • additive seasonality: the seasonal fluctuations remain relatively constant in magnitude throughout the time series
    • multiplicative seasonality: the seasonal patterns vary proportionally to the level of the time series.

    Holt Winters also uses the seasonality period, i.e. the length of the seasonal cycle. This parameter is called frequency in this implementation of Holt Winters.
    In summary, smoothing and forecasting work together in Holt Winters. Smoothing sets the foundation for accurate forecasts. The choice of smoothing constants influences the trade-off between fitting the model to historical data and adapting to new trends or patterns. 


    Holt Winters Forecasting in Spotfire

    This functionality is available on the Spotfire Exchange. Please see here for download items.

    Release 2.0.0 includes two data functions: the Holt Winters Forecasting data function, adapted from Release 1.0.0, and a Preprocess Time Series data function, designed to help when the time series dataset contains irregular time points or further aggregation is desired.


    Details about the data function

    Technique used: Holt-Winters
    Required Packages: data.table (fit and forecast), zoo, lubridate (pre-processing).
    Description: prepare, fit and forecast a univariate time series.

    See Readme.pdf in this distribution for details on inputs and outputs.

    In order to run the forecasting, you will need to provide a dataset with a date or datetime column, and one or more numeric value columns. The included sample Spotfire dxp contains an additional data function, Preprocess Time Series, which is used to prepare the data series before applying Holt Winters. Users may skip this stage, if the time series is already aggregated at least by day, and does not have gaps. This data function estimates the natural granularity (e.g. daily, weekly..) of the time series, taking into account missing data and irregularities. It also allows for further aggregation of the dataset. Any remaining gaps are linearly interpolated. The minimum time granularity handled is by daily. Lower frequencies are automatically aggregated to daily measures.

    As an example, in the time series shown below, the data is collected daily but the times are irregular and there are numerous gaps. The pre-processing step aggregates the time series by month and then imputes the remaining missing values. A weekly frequency could also be achieved at the price of imputing more missing values, by tuning the tolerance factor.


    The pre-processed dataset is fed into Holt Winters, which calculates both fit and forecast for the desired time periods ahead. Most of the fit and forecast parameters can be left empty and are estimated automatically.


    The example shown above does not use a Test dataset. This is an available option to get an idea of the forecast quality, although it is not meant as a strict validation test.

    User Feedback

    Recommended Comments

    There are no comments to display.

  • Create New...