All capabilities · Machine learning & data science

Forecast time series

Seasonality, ARIMA/Prophet/gradient boosting, backtesting for demand/finance use cases.

~12 focused hoursintermediate
Explore 4 tools for this project
Market relevance

Which roles ask for this — and how often

Share of job postings in India, per role, that name this capability.

No job posting we have read names this yet. It stays on the map so the picture is complete; it will not appear on a path until a role asks for it.
What employers mean

You should be able to…

  1. Decompose a time series into trend, seasonality and residual components
  2. Build a classical statistical forecast (ARIMA/ETS/Prophet) with confidence intervals
  3. Build a machine-learning forecast (feature-engineered gradient boosting) and compare it to the classical baseline
  4. Backtest a forecasting model correctly with a rolling/expanding time-based split, never a random split
  5. Handle holidays, promotions and other known events that shift demand
  6. Choose the right evaluation metric (MAPE, RMSE, WAPE) for a business forecasting problem
  7. Communicate forecast uncertainty (intervals, not just a point estimate) to a business stakeholder

Needs first: Train and evaluate classical ML models

Learn — free, link-checked

The few resources that matter

Tools for practice

Choose a tool for the job

Start with one tool for each part of your project. You don’t need to learn them all.

Go to the practice brief

4 tools to explore

Practice

Festival-season demand forecast with Prophet and XGBoost backtesting

Use the public Kaggle 'Power consumption in India (2019–2020)' series — daily state-wise electricity demand spanning two festival seasons — as a demand series with strong, genuinely Indian seasonality. Fit a Prophet baseline with the Indian holiday calendar added as regressors, then build a feature-engineered XGBoost forecaster with lag and rolling features on identical folds. Backtest both with a rolling/expanding time-based split and report WAPE and MAPE per fold, not one headline number, and plot forecast against actuals with intervals over the festival weeks.

Start from

Kaggle 'Power consumption in India (2019–2020)' — daily state-wise electricity demand in MU, covering two festival seasons

Milestones
  1. Load one state's series, decompose trend and seasonality, and plot the festival weeks · ~1.5h
  2. Fit Prophet with the Indian holiday calendar and produce interval forecasts · ~1.5h
  3. Build lag/rolling features and an XGBoost forecaster on the same folds · ~1.5h
  4. Run the rolling backtest, compare WAPE/MAPE per fold, and write it up · ~1h
Done when
  • Prophet model includes an Indian holiday/festival calendar as regressors, not just default seasonality
  • XGBoost (or similar) forecaster built with lag/rolling features and compared against the Prophet baseline
  • Backtesting uses a rolling or expanding time-based split across multiple folds, with per-fold WAPE/MAPE reported
  • README includes a plot of forecast vs actuals with confidence intervals and states which model won and why
Prove it

Evidence a recruiter can check

  • Per-fold WAPE and MAPE for Prophet vs XGBoost across the rolling backtest, rather than a single averaged score
  • The forecast-vs-actual plot with prediction intervals over Diwali week, where both models are visibly stressed
  • The holiday-effect table Prophet estimates — how much each festival moves demand, and in which direction
  • The backtest loop with its expanding cutoffs printed, so a reviewer can confirm no future data reached an earlier fold
Signal it

Forecast daily Indian electricity demand through festival season — Prophet with a holiday calendar benchmarked against a feature-engineered XGBoost model on a rolling backtest, reporting per-fold WAPE with prediction intervals.

Interview

Questions you'll get asked

  1. Walk me through how you'd forecast next month's demand for a product with strong seasonality
  2. Why must you backtest a forecasting model with a time-based split instead of random cross-validation?
  3. ARIMA vs Prophet vs a gradient-boosted regressor for forecasting -- when would you pick each?
  4. How do you incorporate known future events (festivals, promotions) into a forecast?
  5. What's the difference between MAPE and WAPE, and when does MAPE break down?
  6. How would you communicate forecast uncertainty to a non-technical stakeholder?
  7. How do you detect and handle a structural break (e.g. COVID-like shock) in historical demand data?