Solved – ets() in R returns a flat forecast for intermittent demand

In my attempt to forecast sales demand by month utilizing the last 3 years of history to predict balance of the year, ets() from forecast() package yields an answer for some time series but not others. I'm following Dr Hyndman's presentation on best fist ets() function.

I understand while the flat forecast (average of the intermittent/volatile inputs) might be the best based on the intermittent history. My question is more of whether the process below has any validity or if it's tottay wonky. For the ones where ets() provides a flat forecast I tried the procedure outlined below to fix it, please let me know if I'm totally lost in my way of thinking:

  1. ETS() flat forecast when there are too many 0's (or volatile)
  2. I increase every observation of the time series by 100
  3. ETS() forecast a curve
  4. Can I just now reduce everything by 100 to get my forecast?

If you have an additive model, then your proposed method will do nothing. You will get the same forecasts as when applied to the original data.

If you have a multiplicative model, or a mixed model, then you could get different forecasts. But then you need to think about the meaning of your model, and I'm not sure how it can be interpreted. For example, suppose you have an ETS(M,M,N) model — the simplest multiplicative model with non-constant forecasts. Your model is then

$$y_t -c = ell_{t-1}b_{t-1}(1+varepsilon_t)$$

where $ell_t$ is a local level, $b_t$ is a local growth factor and $varepsilon_t$ is an iid noise term. The value $c$ is what you've added to your data ($c=100$ in your question). What does this mean? $ell_t$ and $b_t$ no longer function as the level and growth of the data, but for the shifted data. It is hard to see that this is interpretable.

Similar Posts:

Rate this post

Leave a Comment