I have around 5 years of data points that show how sales revenue a business made each month it looks a little like this:
Jan 13: $101,323.51
Feb 13: $125,021.44
...
Jun 18: $431,032.99
I wish to predict the next six months of revenue using R.
Using a little research I have found a couple of techniques:
1) Use auto.arima function on the log of the sales.
ARIMAfit = auto.arima(log10(mydata), approximation=FALSE,trace=FALSE)
The log is to attempt to remove the upward trend to make it stationary. When I do this I get a differencing of order 1 as well. Looking at a plot of the differencing this also seems to make the data appear more stationary so presumably that is why it has a differencing of order 1. I plotted the ACF and PACF for the data and a few of the lags were out of the range but not enough to know if this method is applicable or not.
The forecast: forecast(ARIMAfit) is what I use to get the ARIMA model to forecast.
Alternatively we have,
2) Using the forecast function with HoltWinters or est so I do
forecast(HoltWinters(train), h = 6)
or
forecast(est(train), h = 6)
to predict the next 6 months.
Again these estimates appear reasonable but I don't know how to check.
What I did to test was to use 6 less months of data to try and see how the models predicted what had happened over the last 6 months. The results were actually quite close to the real thing.
Okay now my question:
Is there a good way to determine which method I should use (or if there is another I have not considered)?
If there is any questions please let me know I am new to this area really.
Note:
Since this is monthly sales revenue I expect there to be some kind of seasonal trend (people buying more in certain months and less in others) as well as increasing spend year on year.