Not because it found a magical model, but because it removed a large amount of repetitive feature plumbing across hundreds of series.
TL;DR: Good forecasting tooling moves effort away from repeated plumbing and toward forecasting judgment. Define the feature recipe once, apply it consistently across every series, and make the forecast cutoff explicit — the value is in what you decide, not in how many times you rewrite the lag code.
In multi-series forecasting, the same mechanics appear again and again: build lags per series, add rolling and expanding transforms, create calendar features, preserve time ordering, generate multi-step forecasts, and repeat the process consistently across hundreds of series. That work matters. But rebuilding it manually for every project creates fragile code and slows down iteration.
I reached for MLforecast because it made me rethink half of what I was doing by hand. Instead of hand-writing the plumbing every time, you define the forecasting recipe once: the lags, the lag transforms, the date features, and a scikit-learn-compatible model. Then you apply that same recipe consistently across all your series.
The gain is not "zero thinking." You still need to decide what history is available at forecast time, which lags make sense, which validation scheme matches the horizon, whether future exogenous inputs are genuinely known, and how to monitor drift and forecast quality. The difference is that the tool pushes the effort away from repeated plumbing and toward those decisions.
Less custom lag code to maintain. More time for validation, signal design, and forecasting judgment. The forecast cutoff becomes explicit — you build features only from what would have been known at forecast time — which keeps the whole pipeline honest about leakage. And a single reusable recipe fans out to every series instead of duplicating feature logic, so the code stays clean as the number of series grows.
Design insight: Good forecasting tooling moves effort away from repeated plumbing and toward forecasting judgment. Define the feature recipe once, apply it consistently across every series, and make the forecast cutoff explicit — the value is in what you decide, not in how many times you rewrite the lag code.
Good forecasting tooling moves effort away from repeated plumbing and toward forecasting judgment. Define the feature recipe once, apply it consistently across every series, and make the forecast cutoff explicit — the value is in what you decide, not in how many times you rewrite the lag code.
This was written by Mahmoud Trigui, Senior Data Scientist. MLforecast removes the repetitive lag, rolling, and calendar feature plumbing of multi-series forecasting so you can spend time on validation and signal design.