If the purpose of your model is prediction and forecasting, then the short answer is YES, but the stationarity doesn't need to be on levels. I'll explain. If you boil down forecasting to its most basic form, it's going to be extraction of the invariant. Consider this: you cannot forecast what's changing. If I tell you tomorrow is going to be different than today in **every imaginable aspect**, you will not be able to produce **any kind of forecast**. It's only when you're able to extend something from today to tomorrow, you can produce any kind of a prediction. I'll give you a few examples. - You know that the distribution of the tomorrow's average temperature is going to be **about the same as today**. In this case, you can take today's temperature as your prediction for tomorrow, the naive forecast $\hat x_{t+1}= x_t$ - You observe a car at mile 10 on a road driving at the rate of speed $v=60 $ mph. In a minute it's probably going to be around mile 11 or 9. If you know that it's driving toward mile 11, then it's going to be around mile 11. Given that its speed and direction are **constant**. Note, that the location is not stationary here, only the rate of speed is. In this regard it's analogous to a difference model like ARIMA(p,1,q) or a constant trend model like $x_t\sim v t$ - Your neighbor is drunk every Friday. Is he going to be drunk next Friday? Yes, as long as he **doesn't change his behavior** - and so on In every case of a reasonable forecast, we first extract something that is constant from the process, and extend it to future. Hence, my answer: yes, the time series need to be stationary if variance and mean are the invariants that you are going to extend into the future from history. Moreover, you want the relationships to regressors to be stable too. Simply identify what is an invariant in your model, whether it's a mean level, a rate of change or something else. These things need to stay the same in future if you want your model to have any forecasting power.