Image by Editor | ChatGPT
#Introduction
Time series forecasting is everywhere in business. Whether you’re predicting sales for next quarter, estimating inventory demand, or planning financial budgets, accurate forecasts can make — or break — strategic decisions.
However, classical time series approaches — like painstaking ARIMA tuning — are complicated and time-consuming.
This presents a dilemma for many data scientists, analysts, and BI professionals: precision versus practicality.
That’s where a lazy data scientist’s mindset comes in. Why spend weeks fine-tuning models when modern Python forecasting libraries and AutoML can give you an adequate solution in less than a minute?
In this guide, you’ll learn how to adopt an automated forecasting approach that delivers fast, reasonable accuracy — without guilt.
#What Is Time Series Forecasting?
Time series forecasting refers to the process of predicting future values derived from a sequence of historical data. Common applications include sales, energy demand, finance, and weather, among others.
Four key concepts drive time series:
- Trend: the long-term tendency, shown by increases or decreases over an extended period.
- Seasonality: patterns that repeat regularly within a year (daily, weekly, monthly) and are associated with the calendar.
- Cyclical: repeating movements or oscillations lasting more than a year, often driven by macroeconomic conditions.
- Irregular or noise: random fluctuations we cannot explain.
To further understand time series, see this Guide to Time Series with Pandas.
Image by Author
#The Lazy Approach to Forecasting
The “lazy” approach is simple: stop reinventing the wheel. Instead, rely on automation and pre-built models to save time.
This approach prioritizes speed and practicality over perfect fine-tuning. Consider it like using Google Maps: you arrive at the destination without worrying about how the system calculates every road and traffic condition.
#Essential Tools for Lazy Forecasting
Now that we have established what the lazy approach looks like, let’s put it into practice. Rather than developing models from the ground up, you can leverage well-tested Python libraries and AutoML frameworks that will do most of the work for you.
Some libraries, like Prophet and Auto ARIMA, are great for plug-and-play forecasting with very little tuning, while others, like sktime and Darts, provide an ecosystem with great versatility where you can do everything from classical statistics to deep learning.
Let’s break them down:
//Facebook Prophet
Prophet is a plug-and-play library created by Facebook (Meta) that’s especially good at capturing trends and seasonality in business data. With just a few lines of code, you can produce forecasts that include uncertainty intervals, with no heavy parameter tuning required.
Here is a sample code snippet:
from prophet import Prophet
import pandas as pd
# Load data (columns: ds = date, y = value)
df = pd.read_csv("sales.csv", parse_dates=["ds"])
# Fit a simple Prophet model
model = Prophet()
model.fit(df)
# Make future predictions
future = model.make_future_dataframe(periods=30)
forecast = model.predict(future)
# Plot forecast
model.plot(forecast)//Auto ARIMA (pmdarima)
ARIMA models are a traditional approach for time-series predictions; however, tuning their parameters (p, d, q) takes time. Auto ARIMA in the pmdarima library automates this selection, so you can obtain a reliable baseline forecast without guesswork.
Here is some code to get started:
import pmdarima as pm
import pandas as pd
# Load time series (single column with values)
df = pd.read_csv("sales.csv")
y = df["y"]
# Fit Auto ARIMA (monthly seasonality example)
model = pm.auto_arima(y, seasonal=True, m=12)
# Forecast next 30 steps
forecast = model.predict(n_periods=30)
print(forecast)//Sktime and Darts
If you want to go beyond classical methods, libraries like sktime and Darts give you a playground to test dozens of models: from simple ARIMA to advanced deep learning forecasters.
They’re great for experimenting with machine learning for time series without needing to code everything from scratch.
Here is a simple code example to get started:
from darts.datasets import AirPassengersDataset
from darts.models import ExponentialSmoothing
# Load example dataset
series = AirPassengersDataset().load()
# Fit a simple model
model = ExponentialSmoothing()
model.fit(series)
# Forecast 12 future values
forecast = model.predict(12)
series.plot(label="actual")
forecast.plot(label="forecast")//AutoML Platforms (H2O, AutoGluon, Azure AutoML)
In an enterprise environment, there are moments when you simply want forecasts without having to code and with as much automation as possible.
AutoML platforms like H2O AutoML, AutoGluon, or Azure AutoML can ingest raw time series data, test several models, and deliver the best-performing model.
Here is a quick example using AutoGluon:
from autogluon.timeseries import TimeSeriesPredictor
import pandas as pd
# Load dataset (must include columns: item_id, timestamp, target)
train_data = pd.read_csv("sales_multiseries.csv")
# Fit AutoGluon Time Series Predictor
predictor = TimeSeriesPredictor(
prediction_length=12,
path="autogluon_forecasts"
).fit(train_data)
# Generate forecasts for the same series
forecasts = predictor.predict(train_data)
print(forecasts)#When “Lazy” Isn’t Enough
Automated forecasting works very well most of the time. However, you should always keep in mind:
- Domain complexity: when you have promotions, holidays, or pricing changes, you may need custom features.
- Unusual circumstances: pandemics, supply chain shocks, and other rare events.
- Mission-critical accuracy: for high-stakes scenarios (finance, healthcare, etc.), you will want to be fastidious.
“Lazy” does not mean careless. Always sanity-check your predictions before using them in business decisions.
#Best Practices for Lazy Forecasting
Even if you’re taking the lazy way out, follow these tips:
- Always visualize forecasts and confidence intervals.
- Compare against simple baselines (last value, moving average).
- Automate retraining with pipelines (Airflow, Prefect).
- Save models and reports to ensure reproducibility.
#Wrapping Up
Time series forecasting does not need to be scary — or exhaustive.
You can get accurate, interpretable forecasts in minutes with Python forecasting libraries like Prophet or Auto ARIMA, as well as AutoML frameworks.
So remember: being a “lazy” data scientist does not mean you are careless; it means you are being efficient.
Josep Ferrer is an analytics engineer from Barcelona. He graduated in physics engineering and is currently working in the data science field applied to human mobility. He is a part-time content creator focused on data science and technology. Josep writes on all things AI, covering the application of the ongoing explosion in the field.
