There is no forecasting algorithm that performs best for every product. A stable grocery staple, a six-week fashion item, and a newly launched SKU with zero sales history all behave differently — and each is predicted more accurately by a different method. Buffers.ai does not run one model against the whole catalog. For every SKU, it backtests several forecasting algorithms against real historical sales and automatically selects whichever one — the Champion Model — measured most accurately for that specific product.
This page explains, in order: why one model isn't enough, how Buffers.ai builds a forecast end to end, which algorithms it draws from, how backtesting and WAPE work, and how champion models are selected and kept up to date.
A forecasting algorithm encodes assumptions about how demand behaves: how much weight to give recent sales, whether seasonality repeats, how much history is required. Because products violate these assumptions differently, no single algorithm is the most accurate choice across an entire catalog.
Retailers and manufacturers carry thousands of SKUs, and those SKUs don't share one demand shape. Six patterns show up in almost every catalog:
A model tuned for one of these patterns is often a poor fit for another. That's the practical reason a single fixed algorithm cannot consistently outperform every other algorithm across a full catalog.
The table below shows where different model families tend to perform well. These are common tendencies, not universal rules — the only way to know which model actually fits a given SKU is to measure it, which is what backtesting (below) is for.
| Demand pattern | Typical characteristics | Model families often effective | Why |
|---|---|---|---|
| Stable demand | Low variance, few structural breaks | Moving Average, Exponential Smoothing | Simple statistical methods track a flat signal without overfitting to noise. |
| Seasonal demand | Recurring, calendar-driven peaks and troughs | Exponential Smoothing (Holt-Winters), Prophet | These models explicitly decompose trend and seasonality. |
| Trending products | Sustained upward or downward momentum | LightGBM, TimesFM | Machine learning and foundation models capture nonlinear momentum shifts from covariates and history. |
| Fashion / short lifecycle | Short history, sharp lifecycle curve | LightGBM, TimesFM | Models that generalize from similar products or pretraining outperform smoothing methods with little SKU history. |
| New products | Little to no sales history | TimesFM, analog / attribute-based methods | Foundation models pretrained on large time-series corpora can generalize with minimal SKU-specific data. |
| Intermittent demand | Sparse, irregular sales with many zero-demand periods | Exponential smoothing variants, LightGBM | Specialized handling of sparse data avoids collapsing forecasts to zero. |
Buffers.ai turns raw sales history into a live forecast through eight stages: data ingestion, feature engineering, parallel modeling, backtesting, accuracy scoring, champion selection, forecast generation, and continuous monitoring.
Ingest each SKU's transaction-level sales history, plus store, channel, price, and calendar context.
Derive signals such as trend, seasonality, promotions, and lead time from the raw history.
Generate a forecast candidate for the SKU from every algorithm in the library, in parallel.
Replay each candidate against past periods it did not train on, simulating how it would have performed historically.
Score every backtested forecast against actual sales using WAPE and bias at the SKU level.
Assign the SKU the algorithm with the best measured, out-of-sample accuracy as its Champion Model.
Use the champion to produce the live, forward-looking forecast that feeds supply and replenishment.
Continuously re-score the champion against new sales data and re-run the contest as more history accumulates.
Buffers.ai draws from five forecasting algorithms spanning classical statistics, gradient-boosted machine learning, and transformer-based foundation models, because each family models demand differently.
Transformer-based time-series foundation model
Gradient-boosted decision trees
Additive trend and seasonality decomposition
Classical statistical smoothing, including Holt-Winters
Rolling average baseline
Why five algorithms, not one: none of the five is strictly better than the others — each encodes different assumptions about how demand behaves. Buffers.ai keeps all of them in the library, plus the backtesting process described below, so the forecasting method for a given SKU is a measured outcome, not a modeling decision made once for the whole catalog.
Backtesting means running a model against historical periods it has not seen, then comparing its predictions to what actually happened. It is the only way to know how accurate a model would have been before trusting it with real inventory decisions.
A model can look reasonable in theory and still be wrong for a given SKU in practice. Backtesting replaces that guesswork with a measurement: Buffers.ai evaluates every algorithm on a rolling window of real, held-out sales history for each SKU, so the comparison reflects how each model would actually have performed, not how it's expected to perform in general.
WAPE (Weighted Absolute Percentage Error) is the sum of absolute forecast errors across all periods, divided by the sum of actual demand, expressed as a percentage:
WAPE = Σ |Actual − Forecast| ÷ Σ Actual
Lower WAPE means the forecast tracked actual sales more closely. Unlike a plain percentage-error metric, WAPE stays stable when individual periods have low or zero demand, which is what makes it usable for comparing accuracy across SKUs with very different volumes.
Forecast Bias measures whether a model systematically over-forecasts or under-forecasts, rather than just how far off it runs on average. A model can post a low WAPE and still be biased — for example, consistently forecasting a few units high, which quietly inflates safety stock over time. Buffers.ai scores bias alongside WAPE, so a champion is chosen for being accurate and unbiased, not just accurate on average.
Selecting a model this way — by measuring WAPE and bias per SKU rather than assuming one algorithm fits the whole catalog — is what lets a champion model beat any single fixed algorithm applied everywhere.
A Champion Model is the forecasting algorithm that scored most accurately, through backtesting, for one specific SKU. Buffers.ai assigns a champion independently to every product, so two SKUs in the same category can be forecast by two different algorithms.
Every algorithm in the library is backtested against that SKU's real, held-out sales history and scored on WAPE and bias. The algorithm with the best measured, out-of-sample score is crowned that SKU's Champion Model and used to generate its live forecast.
Demand behavior varies SKU to SKU, as the patterns above show. Champion selection makes the choice of algorithm an empirical, per-product outcome instead of a portfolio-wide assumption applied to everything a business sells.
Demand behavior isn't fixed. A fashion item can settle into a repeat pattern, a stable item can start trending, a promotion can change its shape. Buffers.ai re-scores champions on a rolling basis and hands the title to a different algorithm the moment it demonstrably outperforms the incumbent for that SKU.
Because monitoring never stops, forecast accuracy doesn't quietly degrade as demand evolves — the system keeps re-testing challenger algorithms against the incumbent champion for every SKU, so accuracy is maintained rather than assumed.
| Dimension | Fixed single algorithm | Buffers.ai Champion Model |
|---|---|---|
| Model choice | Chosen once, for the whole catalog | Measured independently for every SKU |
| Basis for choice | Assumption or vendor default | Backtested WAPE and bias |
| Adapts to changing demand | No — fixed until manually revisited | Yes — re-scored on a rolling basis |
| Fashion / new products | Often poorly served by a general-purpose model | Modeled explicitly (e.g., TimesFM, analog methods) |
Buffers.ai runs this exact backtesting and champion-selection process across your live catalog — not a sample, not a demo dataset. Talk to our team to see it run against your own sales history.