# Demand Forecasting and Inventory Optimiser

Procurement teams across thousands of SKUs cannot forecast each one by gut. Single-model approaches break on the long tail. We built a hierarchical forecasting system that picks the best model per SKU-store combination automatically, runs 12-month rolling forecasts on a scheduled pipeline, and surfaces exception alerts to buyers when reality diverges from the procurement plan.

## Key facts

- **Industry:** RETAIL & FMCG
- **Client (abstracted):** A regional FMCG retail group
- **Timeline:** Multi-month delivery
- **Role:** Hierarchical demand forecasting
- **Year:** 2024

## The challenge

Demand patterns vary wildly across thousands of SKUs. Seasonal products, promotional spikes, new launches, and regional variation defeat a single forecasting approach.

Procurement decisions are made weeks in advance with limited visibility. The result is persistent stockouts on top movers and overstocking on slow sellers.

## The solution

Built a hierarchical forecasting system with a LightGBM and Prophet ensemble. Each SKU-store combination trains independently and the framework picks the better-performing model on rolling backtests.

Orchestrated 12-month rolling forecasts via Apache Airflow into Snowflake, with a Tableau exception dashboard that surfaces the SKUs where actual demand has diverged enough from the procurement plan to warrant attention.

## Outcomes

- A working monthly procurement cycle grounded in forecast outputs, not gut feel.
- A defensible, auditable forecast for every SKU in the range, with model selection rationale traceable per item.
- An exception-driven workflow that focuses buyer attention on the SKUs that need it.

## Impact

- Per-SKU — Model selection across the catalogue
- 12 months — Forward forecast horizon
- Exception-driven — Buyers alerted only on divergence
- Hierarchical — Roll-up by store, region, and category

## Tech stack

- Python
- LightGBM
- Facebook Prophet
- Apache Airflow
- Snowflake
- Tableau

## Related

- [All work](https://levent.ai/work/)
- [Next: MENA Dealership Service-Centre Scheduler](https://levent.ai/work/pitlane/)

Client names and real outcome metrics are not published. See https://levent.ai/ai-content-policy/ for the abstraction policy used across this site.

---

**Canonical URL:** https://levent.ai/work/demand-forecasting/
