# A Tutorial on Multi-period Time Series Forecasts

Two primary strategies for multi-step forecasts

The human pursuit of forecasting has never ceased, from the ancient sages peering into celestial patterns to the cutting-edge algorithms of today. The quests have legitimate reasons. We need the weather forecasts for a week, not just the next hour, to plan trips. A manufacturer needs forecasts for several months but not a forecast for the next hour. We need to plan for the near future and coordinate with others. We forecast the near future although we are aware of the challenges in forecasting.

From a data science technical perspective, there is a big difference between forecasting one period and multiple periods, and the latter is harder. Forecasting multiple periods demands a comprehensive understanding of long-term patterns and dependencies. It is proactive and requires models to capture the intricate dynamics over time. Knowing there are distinct challenges in multi-step forecasting, you will understand why I set this topic as a standalone topic. In the forecasting literature, there are already voluminous papers that fill the gap between the “one-step” forecast and “multi-step” forecasts. This is a good news.

Let me assume we need to start from scratch and do not know the past literature. How do we even think of the strategies for multi-step forecasting? Maybe let’s start with the one-step forecasting models like ARIMA. How do we make it multi-step? Maybe one way is to use the same model recursively. We get the one-period prediction from the model as the input to forecast the next period. Then we take the prediction for the second period as the input to forecast the third period. We can iterate through all the periods by using the predictions of the prior periods. This is exactly what the **recursive forecasting or iterative forecasting** strategy does. The strategy in the previous chapter Automatic ARIMA is the recursive forecasting strategy. Figure (A) shows the model first produces yt+1, then yt+1 becomes the input to the same model to produce yt+2, and so on.

What else can we do? We have learned to formulate a univariate time series as a tree-based…