Is it wise to use predicted values to model predicted values further down the line? Hi I have two questions that are related.
I am wanting to model sales for different areas in a business and have been looking at ARIMA, I am not too happy with the results of this especially when I look very far into the future.
Instead I am now looking at doing a drift method and also mixing a drift method with a seasonal naive forecast where I think there is likely to be seasonality.
Details of the methods are found here: https://en.wikipedia.org/wiki/Forecasting
I am wondering two things:
1) Is it a good idea to mix the two approaches where seasonality is present.
I.e. I use the drift approach but instead of using the latest value $y_T$ I use the last value of $y$ in the same time period. (So to predict August 2018 I will take August 2017 and add the drift term to account for upwards/downwards trend).
2) Say I want to predict the next $12$ months, $\hat{y}_1, \hat{y}_2,...,\hat{y}_{12}$. Should I use the predicted values going forward or is that bad form?
Let me give an example, I use the drift method to predict $\hat{y}_1$ based on actual values of data I already have. Should I use $\hat{y}_1$ to predict $\hat{y}_2$ and then use $\hat{y}_1$ and $\hat{y}_2$ to predict $\hat{y}_3$ and so on?
Hopefully I am clear but if there is any questions let me know and I will get back to you!
 A: (1) You should "mix" the approaches by using a model that captures both features.  When your data shows multiple features (e.g., drift and seasonality) it is a good idea to use a model that captures all of these features together.  This is preferable to attempting to make ad hoc changes to a model that only captures one feature of the data.  If you have a seasonal component with a fixed frequency, you can add this into your model by using an appropriate seasonal variable.  In the case of monthly data with an annual seasonal component, this can be done by adding factor(month) as an explanatory variable in your model.  By having both a drift term and a seasonal term in your model, you are able to estimate both effects simultaneously, in the presence of the other.  You can then forecast from your fitted model without having to make ad hoc changes.
(2) Predictions are functions of observed data; they are not new data. When you want to make forward predictions in time-series data, your predictions will be functions of the observed data and the parameter estimates from your fitted model.  For time-series models with an auto-regressive component, the form of the predictions is simplified by expressing the later predictions in terms of earlier predictions.  The later predictions are implicitly still functions of the observed data and the estimated parameters; they are just expressed in a simplified form through previous predictions.
For example, suppose you observe $y_1,...,y_T$ and you estimate parameters $\hat{\tau}$ for a model.  Then if your model has an auto-regressive component, you make predictions $\hat{y}_{T+1} = f(y_1,...,y_T, \hat{\tau})$ and $\hat{y}_{T+2} = f(y_1,...,y_T, \hat{y}_{T+1}, \hat{\tau})$, where the later prediction is expressed as a function of the earlier prediction.  The prediction $\hat{y}_{T+2}$ is still an implicit function of $y_1,...,y_T, \hat{\tau}$, so this is just a shorthand way of simplifying the expressed predictions, to take advantage of the auto-regression.
If you are doing this correctly, your uncertainty about your predictions (e.g., confidence intervals, etc.) should account of the uncertainty in earlier predictions, and so your uncertainty should tend to "balloon" as you get further and further from the observed data.  You must make sure that the earlier predictions are not treated as new observed data - i.e., the prediction $\hat{y}_{T+1}$ is not the same as the actual data point $y_{T+1}$.  So long as you treat this correctly, accounting for the additional uncertainty, there is no problem with expressing later predictions as being dependent on earlier predictions.
A: I will answer your questions in reverse order:
2) Your approach is correct. This is called recursive forecasting: Generate a forecast for one step ahead $\hat{y}_{t+1} = f(y_t)$, then use that to generate a forecast for two steps ahead  $\hat{y}_{t+2} = f(\hat{y}_{t+1})$, etc...until you have $\hat{y}_{T}$ for your desired $T$ steps ahead. This approach is used by most statistical forecasting models such as ARIMA and Exponential Smoothing. We could say that it is the standard approach. 
Another possibility is direct forecasting - where your build a model for forecasting $\hat{y}_T$ directly. This is called direct forecasting, and although theoretically it shows promise, I haven't seen it widely used except sometimes when using neural networks for forecasting. See here for details. 
1) You could do that, and it should work (depends on your data obviously), but you would get a similar result using Holt-Winters, STL or Seasonal ARIMA. I suspect you are not applying ARIMA correctly if you think that your data is seasonal but your are still getting bad results. 

In response to @Ben's comment that 

The auto-regression is at a fixed lag, but I don't agree that this leads to a seasonal part with fixed frequency and phase angle. (I should have said: it is the phase angle that gets thrown off here.) Run a seasonal ARIMA for a long time and you will see that random error eventually pushes the seasonal fluctuation out-of-sync with what it was at the start of the series. As I understand it, you cannot mimic a periodic regression with seasonal ARIMA for this reason.

This is not correct. The seasonality is structurally built into a Seasonal ARIMA model (in the same way that it is in a Holt-Winters or Seasonal BSTS model), so it can't deviate from the frequency, even after long term forecasts. 
Below is an example of an ARIMA model of a monthly seasonal series where a long term forecast maintains a fixed seasonality even with a very, very long forecast horizon (216 steps ahead)  - generate using the R Forecast package auto.arima() function: 
 
