SKU-level and location-level demand forecasts trained on your sales history, promotional calendars, and external signals. The forecasting stack combines multiple model types: LightGBM with lag features (7-day, 14-day, 28-day rolling sales, day-of-week indicators, month-of-year encoding, promotional flag), Facebook Prophet for strong seasonal decomposition (weekly seasonality, annual seasonality, holiday effects with a custom holiday calendar for your trading geography), and LSTM networks for SKUs with complex temporal dependencies that tree models underfit. An ensemble weighted by validation-set MAPE (Mean Absolute Percentage Error) per SKU is used in production -- different model types outperform on different SKU profiles, and ensemble blending produces lower aggregate error than any single model.
External signals incorporated where available: weather (temperature correlation for seasonal categories -- outdoor furniture, cold-weather apparel, ice cream), local events from an event API (sports fixtures, concerts, public holidays near each store location), and competitor pricing signals from web scraped price indexes where publicly available. Promotional lift modelling: each planned promotion is tagged with a promotional type (BOGO, percentage discount, multipack), and historical promotional events are used to fit a lift multiplier per promotional type per category -- so the forecast for a planned 20%-off promotion next week incorporates observed lift from comparable past promotions rather than ignoring the promotion entirely.
Forecast output: daily or weekly point estimates per SKU per location with 80% and 95% prediction intervals (not just a point estimate, because the variance drives safety stock calculations). Accuracy metrics tracked weekly: MAPE per SKU, WAPE (Weighted Absolute Percentage Error) across the SKU range, and a coverage rate (what percentage of actual sales fell within the predicted interval). Forecasts served via API to your replenishment or purchasing system -- reorder point and suggested order quantity computed from the forecast and safety stock formula (Z-score × forecast standard deviation × lead time). MLflow tracks all model versions, training parameters, and validation metrics so any model can be inspected and any historical forecast can be reproduced.