Thoughts on First Principles in Time Series Forecasting

Building blocks of creating a great forecast
time-series
machine-learning
finance
Author

Mike Tokic

Published

March 26, 2024

I’ve been doing time series forecasting with machine learning (ML) most of my career. I believe it’s still the best AI opportunity in corporate finance, even with all of the latest Generative AI developments in recent years. If you work for the CFO, chances are you often create predictions about the future. Those predictions take time and can always be more accurate. Machine learning can help in both areas. Before you build machine learning solutions in your finance org, it’s important to understand the true building blocks of making good forecasts.

In this post I will overview each first principle, and have follow-up posts digging deeper into each one. Let’s dive in.

  1. Domain Expertise: Knowing what factors actually influence what you are trying to forecast is more important than which ML model to train.
  2. Garbage In Garbage Out: Training a model on bad data leads to bad forecasts.
  3. The Future Is Similar To The Past: If you expect the future to be drastically different than past data, you will have a hard time training accurate models.
  4. Higher Grain Higher Accuracy: Forecasting by country is often more accurate than forecasting by city. Forecasting by month is often more accurate than forecasting by day.
  5. Order Is Important: When time is involved, how your data is ordered makes all the difference.
  6. The Magic Is In The Feature Engineering: How you transform your data before model training can transform a mediocre forecast into a world class forecast.
  7. Simple Models Are Better Models: Like occam’s razor, the best model is often the one with the least amount of inputs.
  8. Capture Uncertainty: Showing the back testing results and future uncertainty of a model’s forecast builds more trust.
  9. Model Combinations Are King: Usually a combination of multiple models is more accurate than just one model’s prediction.
  10. Deep Learning Last: Deep learning isn’t as effective as more traditional ML models.

Final Thoughts

This is not an exhaustive list, but instead principles that I find particularly important when creating a time series forecast. Having a firm understanding of these principles is enough to get the ball rolling on any type of forecast you’re working on. Thankfully, the very same approach I use in my job to do forecasting is open source and freely available through my R forecasting package called finnts. Even if you’ve never done data science or used R before, finnts makes it easy to get off the ground fast without shooting yourself in the foot when dealing with the above principles. Stay tuned for more posts about each principle.