Skip to content
In2Gravity
Machine LearningData Analytics & DashboardsRetail · representative engagement

Demand forecasts that buyers actually trust

Challenge

Replenishment ran on a legacy moving average that under-called promotions and seasonal peaks, so category buyers overrode it by hand and stopped trusting the number.

Approach

We built store- and SKU-level forecasts with gradient-boosted models (LightGBM) over lagged demand, price, promotion, and calendar features, and produced quantile outputs (P10/P50/P90) so buyers could set safety stock against a service-level target rather than a single point estimate. Rolling-origin backtesting measured accuracy the way the business feels it — one period ahead, repeatedly — before anything reached replenishment.

Architecture

Feature store (sales · price · promo · calendar) → LightGBM quantile models → rolling-origin backtest → replenishment feed

Python · LightGBM · Pandas · Airflow — quantile loss (P10/P50/P90), rolling-origin backtesting

Results

  • Roughly 18% lower forecast error than the moving-average baseline*
  • Quantile outputs let buyers set safety stock by service-level target, not guesswork
  • Backtested over 24 months of history before rollout
PythonLightGBMPandasAirflowPostgreSQL

* Illustrative figure from a representative engagement, shown to convey typical scope. Replaced with client-verified numbers before publication.

← All case studies

Tell us what you're trying to build or fix.

We reply within one business day.

Book a consultation