StatsForecast, MLforecast & NeuralForecast: Three Forecasting Jobs in One Ecosystem
The Nixtla libraries are not competitors. They represent three different forecasting approaches, and each is useful in the right context.
TL;DR: The question is not which library is best. It is: what kind of forecasting problem am I solving? Start with the simplest reliable benchmark, add features when they carry signal, and add complexity only when it earns its place.
Visual Summary
The Problem
If you do time series in Python, Nixtla now has three distinct forecasting libraries. The common trap is asking "which one is best?" as if they competed with each other.
They are not competitors. They represent three different forecasting approaches, and each is the right choice in a different context.
The Three Libraries
StatsForecast — statistical baselines
ARIMA, ETS, Theta. Faster than statsmodels and handles 1000+ series. No ML features, no external regressors. This is where I start when I need to understand how far classical forecasting can take the problem.
MLforecast — feature-driven production
Combines the sklearn ecosystem with proper TS lag/window handling (LightGBM, XGBoost, CatBoost). You bring engineered features and external variables: promotions, prices, holidays, weather, domain knowledge. Built for production ML pipelines.
NeuralForecast — deep learning at scale
Large datasets, complex multi-series patterns, transfer learning. State-of-the-art architectures (N-BEATS, N-HiTS, PatchTST) that share patterns across many related series. It needs GPU, trains slower, and is harder to interpret.
My Practical Decision Flow
- Quick statistical baseline → StatsForecast
- Feature-driven production system → MLforecast
- Deep architectures / complex global patterns → NeuralForecast
- Fast zero-shot benchmark → TimeGPT, where appropriate
NeuralForecast is powerful, but it also adds training, tuning, compute, and interpretability complexity. Complexity is a cost you pay upfront and on every retraining cycle.
Key Takeaway
Design insight: The question is not which library is best. It is: what kind of forecasting problem am I solving? Start with the simplest reliable benchmark, add features when they carry signal, and add complexity only when it earns its place.
Related
Turning Decomposition into a Forecasting Strategy →Forecasting Routing Layer →Conformal Prediction →LightGBM vs XGBoost in 2026 →isnull() Is a Feature →Don't Ask Your Model to Learn What a Formula Already Knows →Sea Turtle Competition →AgriBORA Maize Price →Soil Moisture Prediction →MLforecast Forecasting Pipeline →
Comments
FAQ
What is the key takeaway from "StatsForecast, MLforecast & NeuralForecast: Three Forecasting Jobs in One Ecosystem"?
The question is not which library is best. It is: what kind of forecasting problem am I solving? Start with the simplest reliable benchmark, add features when they carry signal, and add complexity only when it earns its place.
Who wrote this and what is it about?
This was written by Mahmoud Trigui, Senior Data Scientist. Nixtla's three forecasting libraries solve three different problems: StatsForecast for fast statistical baselines, MLforecast for feature-driven production pipelines, NeuralForecast for deep learning at scale. Choose by problem type, not library popularity.