Forecasting module

    AI Demand Forecasting for Every SKU

    Most planning tools run one forecasting model across the whole catalog, and it's the wrong model for most products. buffers.ai backtests five models on every SKU's own history, forecasts each one with the model that actually performed best, and turns that forecast into a purchase plan.

    Built forDemand planners, supply planners and purchasing teams buying for a central warehouse across a large SKU catalog.

    5
    Models backtested on every SKU
    21,600
    Backtests in our public benchmark
    36.2%
    Best single model's win rate: no model fits all
    BACKTEST WINDOWJUN ’24JUN ’25JUN ’26
    Forecasting: Champion model per SKU

    Demand → Forecast → Purchase plan

    1. Step 1

      Demand

      Each SKU's daily sales history, with past promotions and events measured, not guessed.

    2. Step 2

      Champion forecast

      Five models backtested per SKU; the best performer on WAPE and bias forecasts it.

    3. Step 3

      Purchase plan

      The forecast becomes order quantities after lead time, safety stock, MOQs, budget and open commitments.

    The champion model

    One model never fits every SKU

    A fast-moving basic, a seasonal fashion item and a slow seller with sporadic sales need different models. Instead of assuming one works for everything, buffers.ai measures which one does, product by product.

    1. 01

      Backtest every model

      Each SKU's own sales history runs through all five engines over a rolling six-month window, on data none of them has seen.

    2. 02

      Score on WAPE and bias

      WAPE measures how far off each forecast ran against total actual demand; bias shows whether it systematically over- or under-forecasts.

    3. 03

      Crown a champion per SKU

      The closest fit forecasts that SKU. Champions are re-scored on a rolling basis, so a different model takes over when it starts performing better.

    • TimesFM (Google)
    • LightGBM (Microsoft)
    • Prophet (Meta)
    • Exponential Smoothing
    • Moving Average
    buffers.ai forecasting backtest: monthly actuals plotted against the forecasts of several models for one SKU
    A real backtest: each model's forecast plotted against actual sales for one SKU, before a champion is picked.
    Capabilities

    From backtest to purchase order

    The champion forecast is the start. Promotions, new products and supply constraints are handled before it reaches a purchase recommendation.

    / Forecasting

    Backtest & Champion Selection

    Race 5 forecasting engines, crown the best fit per SKU

    Every SKU's sales history runs through five forecasting engines — TimesFM (Google), LightGBM (Microsoft), Prophet (Meta), Exponential Smoothing, and Moving Average — backtested over a rolling six-month window on data none of them has seen. Each model is scored on WAPE, bias, safety stock, and service level, and the closest fit is crowned the champion for that SKU.

    Function
    5-engine backtest: TimesFM, LightGBM, Prophet, Exponential Smoothing, Moving Average
    Optimizes for
    Forecast accuracy per SKU, scored on WAPE, bias, safety stock, service level
    / Forecasting

    Blended Demand Build

    Build the demand signal from the champion model

    Once a champion algorithm is selected per SKU, buffers.ai builds a blended demand forecast from its output — the single demand number that feeds every downstream buffer, replenishment, and supply calculation.

    Function
    Demand signal construction from each SKU's champion forecasting model
    Optimizes for
    Forecast accuracy feeding the supply calculation
    / Forecasting

    Supply Calculation

    Turn the demand forecast into a purchase order

    Converts the blended demand forecast into a purchase recommendation, accounting for lead time, safety stock, minimum order quantities, budget limits, and open commitments.

    Function
    Lead time, safety stock, minimum order quantity, budget, and commitments applied to the blended forecast
    Optimizes for
    Right-sized purchase orders within budget and commitment constraints
    / Forecasting

    Promotion Uplift

    Measure each promotion's real lift, then forecast the next one with it

    Every past promotion is measured on each SKU's own sales: average daily demand during the event against a clean baseline of the four weeks before and after it, with other event days left out and repeat runs of the same event pooled. A future promotion points at a comparable past one and inherits its measured lift, so a brand-new promo is forecast from real history instead of a guess. Prophet reads the events directly as holidays; the other engines get the measured lift applied to the forecast on the promotion days. One-off events nobody planned are smoothed out of the training data so they don't skew the model.

    Example: one Category A SKU, a 7-day sale copied from last spring's

    Measured: last spring's 30%-off sale

    Baseline
    50/day
    During the sale
    82/day

    Applied: this summer's sale, same 7 days

    Model forecast
    55/day
    With uplift
    90/day
    Measured lift
    82 / 50 − 1 = +64%
    Applied to the forecast
    55 × 1.64 = 90.2/day
    Over the 7 days
    385 → 631 units
    Function
    Per-SKU promotion lift measured from history and applied to future promotion days
    Optimizes for
    Forecast accuracy through promotions, without one-off spikes distorting the baseline
    / Forecasting

    Cold-Start Forecast

    Forecast a brand-new SKU before it has sold a single unit

    The five forecasting engines need a SKU's own history, so a new item would otherwise get no forecast at all. Instead it is matched to products that share its attributes, starting with the most specific group that has at least eight of them and widening only when it has to. Its demand level is the median of that group, shaped by the group's own weekday, month-of-year, and launch-ramp patterns. As the new SKU starts selling, its own sales take a growing share of the forecast.

    Example: a new running sneaker, two weeks after launch

    Find similar products (needs at least 8)

    1. Running sneakers, $90-1305 SKUs, too few
    2. Sneakers23 SKUs, used
    3. Footwear140 SKUs, not needed

    Blend with its own sales so far

    Similar products
    4.2/day
    Own 14 days
    6.0/day
    Forecast level
    4.9/day
    Weight on its own sales
    14 / (14 + 21) = 40%
    Forecast level
    0.4 × 6.0 + 0.6 × 4.2 = 4.92/day
    Before its first sale
    4.2/day, from similar products alone
    Function
    Analog-based forecast for new and thin-history SKUs, blended with their own sales as they accrue
    Optimizes for
    A usable launch forecast and PO quantity from day one
    / Forecasting

    Forecast every SKU with the model that fits it

    Champion selection, WAPE and bias per SKU, and a supply calculation that turns the forecast into purchase quantities.

    Forecasting FAQ

    Common questions