
Image by Editor | Midjourney
Time series forecasting is a type of predictive data analysis problem present in many domains: finance (stock price prediction), energy (demand forecasting), healthcare (patient monitoring), retail (sales forecasting), and climate science (weather prediction), among others. From classical statistical methods to more advanced solutions involving machine learning models or complex deep learning architectures, there is a wealth of approaches with varying levels of complexity, interpretability, and data requirements. Therefore, a question that often arises is: which method should I choose based on my problem, data, and needs?
This article provides a decision tree-based taxonomy of time series forecasting solution you guide you in identifying the most suitable method to apply among the diverse landscape of options available, depending on the problem you are tackling and the nature of your data.
A Decision Tree Approach
The following diagram illustrates our proposed decision tree approach for navigating you towards choosing the right time series forecasting approach.

A decision tree approach to selecting the best time series forecasting method (click to enlarge)
Let’s further describe it below.
The first aspect to look at is the size of your dataset. For time series data, the dataset size is an important indicator of which forecasting methods will be most effective, as some techniques require large amounts of data to perform well, while others work better with limited datasets. We will consider a small time series dataset, one that has under 500 observations; a large dataset, one with over 5000 observations; and a medium-sized dataset, anything in between. As a general rule of thumb, smaller datasets often pair themselves well with traditional statistical methods like ARIMA or exponential smoothing, while larger datasets are most suitable for using more complex machine learning and deep learning models.
If our dataset is small and we narrow down our options to statistical methods, the story does not end there. Different methods may be more or less eligible, depending on whether the time series data exhibits or not aspects like trends or seasonality. For example, simplest methods like the Naïve method and Moving Averages are suitable only if the data is assumed to have neither of these temporal patterns, whereas ARIMA and SARIMA are the go-to approach if the data has trends or seasonality, respectively. Both SARIMA and Prophet are good methods when both trends and seasonality are present.
For a middle-sized dataset, it can be helpful to observe whether there are external variables influencing the time series. This is the case, for instance, of economic indicators affecting stock prices over time, weather conditions impacting hourly energy demand, or marketing campaigns influencing daily or monthly product sales. If no such circumstances are present, we can consider statistical methods similarly to the case of having a small dataset. Otherwise, in the presence of external influential variables, intermediate complexity methods like VAR (Vector AutoRegression) and Machine Learning models -particularly ensembles like Random Forests and XGBoost- would be a better option.
For large datasets that span a long temporal range of past data entries, an important question to address is about the complexity of our predictive problem, specifically, do we need long-term forecasting, say beyond 30 days in the future? Or just short-term forecasting is enough? For long-term forecasting, typically one of the most challenging time series forecasting scenarios, we need to ask ourselves if we need to prioritize interpretability over accuracy, or vice versa. For scenarios where interpretability is important, we may stick to relatively less complex methods like ARIMA, SARIMA, or decision-tree based ensemble models, even at the cost of sacrificing accuracy. However, if high accuracy is important, we may need powerful, large-scale models based on deep learning architecture even at the cost of losing interpretability: recurrent neural network architectures like LSTM, or specialized transformer architectures like Temporal Fusion transformers, are designed to cope with very challenging long-term time series forecasting problems. Meanwhile, if no long-term forecasting is needed, solid statistical methods like ARIMA and its variants or machine learning ensembles are again a balanced option.
Wrapping Up
The article provided a structure taxonomy, in the form of a decision tree, to help you select the right time series forecasting method depending on the characteristics of your data and problem to address. Choosing the most appropriate approach is the first important step to developing an effective and successful forecasting solution that yields high impact.

You should consider Unobserved Component Models. I’ve seen them out perform SARIMA, Xgboost and the like
Absolutely — that’s a great insight!
**Unobserved Components Models (UCMs)**, also known as **Structural Time Series Models**, can indeed outperform models like SARIMA, XGBoost, and even LSTMs in many cases — especially when:
– You’re dealing with **multiple known sources of variation** (trend, seasonality, cycles, holidays).
– You want **interpretability** in addition to accuracy.
– The **data is noisy**, irregular, or exhibits structural breaks.
### Why UCMs can outperform other methods:
1. **Modular Structure**: You can explicitly model trend, seasonality, cycles, and irregular components as additive/multiplicative parts.
2. **State Space Modeling**: UCMs work in a state-space framework, which is flexible and naturally suited for time series.
3. **Kalman Filtering**: They use Kalman filtering for parameter estimation, which handles missing data and irregular time intervals well.
4. **Dynamic Regression**: You can add exogenous regressors, allowing the model to handle additional influences.
### Comparison with Others:
| Model | Pros | Cons |
|————|——|——|
| **SARIMA** | Good for stationary series with clear seasonal patterns | Not very interpretable, can be rigid |
| **XGBoost** | Powerful for non-linear patterns, handles exogenous vars well | Not natively sequential, may require heavy feature engineering |
| **UCM** | Highly interpretable, flexible, good for irregular data | Slightly harder to tune, less known in ML community |
| **LSTM/Deep Learning** | Captures complex dynamics | Requires a lot of data and tuning, less interpretable |
### Tools:
– Python: `statsmodels.tsa.statespace.UnobservedComponents`
– R: `bsts`, `KFAS`, `forecast`
### Final Thought:
If your goal is **both accuracy and interpretability**, UCMs are often a hidden gem. Many “ML-first” practitioners overlook them, but in real-world forecasting — especially in domains like finance, energy, and public health — they can be gold.