I have two years daily demand data, corresponding to which I have to forecast the daily demand for next year. I am new to time series, and used Arima model for this purpose. But it predicts only about 10 days data for next year, for rest of the days it is simply a mean. How can I forecast daily demand for next year. Any help will greatly appreciated. Thanks.
From eyeballing your data, it appears like there is yearly seasonality, which one would expect a forecasting model to pick up and extrapolate. ARIMA here doesn't, although (assuming you are using R's
auto.arima()) it does check and model seasonality.
I would guess that the problem lies in the high variation we still see in the data. This makes it hard to find the signal (i.e., the seasonality).
Now, if these are daily demands, then some sort of intra-week pattern may be occurring. I would recommend that you plot seasonality plots, plotting each week over a Mon-Sun axis.
OK, now let's assume that you do have intra-week seasonality. Unfortunately, standard ARIMA implementations won't model two kinds of seasonality (intra-week and intra-year). So you now have a few options:
- Recode your daily time series to have a period not of 365.25 days, but of 7 days. Then ARIMA should choose a seasonal model (assuming, as above, that intra-week seasonality exists) and give you periodic weekly forecasts. However, we still won't see the yearly seasonality.
- Run an ARIMAX model with day-of-week dummies. You can feed these into
- Look at forecasting models that do allow multiple kinds of seasonality. There are some such models out there, most of them in an exponential smoothing/state space formulation. For instance, look at this paper (an ungated preprint can be found here), which describes the so-called TBATS model, which the authors implemented in the
tbats()function in R's
forecastpackage. (Incidentally, one of the authors also authored this free online forecasting textbook which I will never stop recommending and which I already linked to above in recommending seasonality plots.)