I have data from a call center morning 8 am to evening 8 pm with half an hour intervals. I am trying to perform time series forecasting to predict expected number of calls during the same time frame in the coming days. I have tried using ARIMA and exponential smoothing but they haven't given me any good results. I am not sure how to bring in seasonality into picture as its only 8 am to 8 pm data. But there are almost no calls on the weekends. Is there any other algorithm/technique which I should be trying ? Would really appreciate your help. Thanks I am attaching the screen shot of the data based on time series below.
2 Answers
TBATS from the forecast package in R should be useful for this, it is designed for handling multiple periodicities. Also, the Facebook Prophet forecast API can handle combinations of hourly and daily periodicities. I don't know whether it can handle half-hour periodicities or not yet (I know there were plans to do so, whether they implemented it yet or not I don't know).
-
$\begingroup$ It seems like a good idea. Any clue on how we would select value of 'h' in this case if we take time only to be 8am to 8 pm $\endgroup$ Commented Jul 31, 2018 at 14:50
-
$\begingroup$ @user10129792 are you talking about TBATS or FB Prophet? $\endgroup$ Commented Jul 31, 2018 at 23:24
-
-
$\begingroup$ @user10129792 the h in TBATS is the number of steps ahead, so if you want to generate forecasts up to 8 hours into the future h=8, if you want to generate forecasts up to 24h into the future h=24, etc.... $\endgroup$ Commented Aug 2, 2018 at 20:03
Try fitting a SARIMA (Seasonal ARIMA) model.
It looks like your data needs to be differenced twice, with two different lags (once to take care of weekly seasonality, once to take care of daily seasonality). This would be one possibility.
You could also classically remove the seasonal component, which involves regression (which the forecast
library in R easily handles).