Skip to content

Logistics and distribution

AI demand forecasting for distributors: how much sales history you need

By SourceX Editorial · Updated

Short answer

AI demand forecasting for distributors needs enough clean sales history to show each seasonal pattern at least twice, and longer history for slow, intermittent SKUs. Length matters less than accuracy: forecasts improve most when history flags stockouts, substitutions, promotions and one-off project orders, so the model learns true demand rather than what happened to ship.

Key takeaways

  • Measure history in seasonal cycles, not calendar years; two full cycles is a common working floor for seasonal items.
  • Slow-moving and intermittent items need longer history than fast movers before any usable pattern appears.
  • Shipments understate demand when stockouts are not recorded, so flag lost sales, cuts and backorders.
  • Older history can hurt when the business changed through acquisitions, lost accounts or item renumbering.
  • Separating one-off project and contract orders from repeat demand often matters more than adding years.

Short answer: count seasonal cycles, not years#

AI demand forecasting for distributors needs history that shows each item's repeating pattern at least twice, which for items with annual seasonality means two full years at a minimum and more where the records are reliable. A model cannot separate a seasonal peak from a one-off spike if it has seen the peak only once.

The right length also depends on how each item sells. Fast-moving, steady SKUs can be forecast from shorter history. Slow, lumpy items, such as specialty fittings or repair parts that sell a few times a year, need longer history before any pattern shows, and some never show one.

Many distributors are revisiting how they forecast, and planning software vendors increasingly lead with machine learning. The software choice matters less than whether your ERP history describes real demand.

Decision table: history needed by item behavior#

How much sales history a distributor needs varies by item behavior, so the decision table below segments SKUs rather than setting one rule. Treat it as a starting point for the COO and planning team, and test results on your own data before trusting any tool's defaults.

Segmenting first also keeps expectations honest. A tool that forecasts fast movers well may still struggle with the long tail of slow items that fills much of a typical distributor's catalog, and planners should know which segment each forecast came from.

Decision table: history needed by item behavior
Item behaviorHistory to aim forWhat else the model needsFallback if history is short
Steady, fast-moving itemsRecent trend plus at least one full seasonal cycleStockout flags and price changesMoving averages with planner review
Seasonal itemsAt least two full seasonal cycles, ideally morePromotion and weather-driven event flagsSeasonal profiles borrowed from similar items
Slow or intermittent itemsAs long as reliable history allowsCustomer-level orders and supplier lead timesMin-max or service-level rules instead of a forecast
New itemsNone of their ownAttributes and links to the items they replaceForecast from a predecessor or a similar item
Project or contract-driven itemsRepeat demand only, with project orders removedProject, bid and contract flags on ordersPlan from the project pipeline, not history
Items hit by one-off eventsLong history with the event period flaggedEvent markers such as supply shortagesExclude or down-weight the event period

The fields that matter as much as length#

The fields that matter as much as history length are the ones that explain why a sale did or did not happen. ERPs reliably record what shipped; far fewer distributors record what customers wanted and could not get.

Most of these flags can be added going forward with small changes at order entry: a lost-sale code, a project flag on the order header, a substitution reason on the line. Earlier periods can often be partly rebuilt from backorder reports, quote logs and branch transfer documents.

  • Stockouts and lost sales: lines cut, backordered or turned away at the counter.
  • Substitutions: a different item shipped because the requested one was out.
  • Promotions and price changes: rebates, vendor promotions and contract price moves.
  • Project and one-time orders: large jobs that will not repeat.
  • Returns, especially job leftovers returned unused.
  • Supersessions: one item number replacing another.
  • Branch transfers: stock moved between locations, which is not customer demand.
  • Supplier lead time and receipt history, which shapes safety stock.

Why shipment history understates demand#

Shipment history understates demand whenever an item was out of stock, because a missed sale often leaves no invoice line at all. A forecast trained on shipments alone learns that demand falls whenever you run out, then plans less stock for the next period, which deepens the shortage.

Counter and phone sales make the gap wider. A contractor who calls and hears an item is out may buy elsewhere without any order being created. Some distributors use a lost-sale code at order entry; others rebuild lost demand from quotes that did not convert or from backorder and cancellation records.

If your ERP records backorders and cancellations with reasons, protect those records through any migration. They are the most direct evidence of unmet demand you have.

When older history hurts more than it helps#

Older sales history hurts when the business it describes no longer exists. Before feeding years of invoices into a model, look for structural breaks and decide how to treat each one.

An ERP migration is the most common break. If the old system's history was archived rather than converted, plan to rejoin it, with an item number mapping, before a forecasting project starts.

When older history hurts more than it helps
Break in the historyWhat to do
Acquired branches or companiesTag acquired volume, or start their history at the acquisition date
Large customers won or lostModel those customers separately or remove their volume
Item renumbering after an ERP migrationMap old item numbers to new ones before training
Supply shortage and allocation periodsFlag them so the model does not learn false demand drops
Changes in unit of measure or pack sizeConvert history to one consistent unit

Illustrative: an HVAC parts distributor trials a forecasting tool#

Illustrative: a fictional HVAC and refrigeration parts distributor with several branches trials an AI forecasting tool. Its ERP holds many years of invoices, but the company changed ERPs partway through and never mapped the older system's item numbers.

The first trial uses only post-migration history. Seasonal items such as condenser fan motors and capacitors show too few peaks, and the tool overreacts to a summer when a heat wave and a supplier shortage overlapped.

The COO's team maps old item numbers to new ones, flags the shortage period, and adds a lost-sale code at the counter. It also separates large replacement projects from repeat service demand. The second trial runs on the longer, flagged history, and planners review only the items where the tool and their own judgment disagree.

Sales history beyond your own planning, and how SourceX approaches it#

Clean, flagged sales history is useful beyond your own planning. AI developers building supply chain and distribution tools look for order histories that show demand, shortages, substitutions and the decisions people made around them, not just invoice totals.

SourceX assesses that fit with a metadata-only check, then runs any license through the SourceX five-step transaction: Supply, Rights, Preparation, Approval and Delivery. Customer names, contract prices and supplier terms are reviewed for confidentiality and removed or generalized where needed. The distributor approves the final scope, and the data is licensed, not sold.

Frequently asked questions

Can we forecast with less than two full seasonal cycles?

Yes, with limits. Fast movers can be forecast from shorter history, and seasonal items can borrow profiles from similar items or predecessors. Expect planners to review more forecasts by hand until enough cycles accumulate in your own records.

Is very old sales history still useful?

Sometimes. Longer history helps slow movers and rare events, but old data can reflect customers, products and pricing that no longer exist. Test whether adding older periods improves accuracy on recent periods before relying on them.

Should we forecast at the branch or company level?

Usually both. Company-level forecasts are steadier, while branch-level forecasts drive replenishment. Many tools forecast by item and location and reconcile upward. Separate branch transfers from customer demand, or branch forecasts will be distorted.

How should we treat unusual periods such as pandemic-era swings?

Treat them as events rather than normal demand. Flag the period, then test the forecast with it included, down-weighted and excluded, and keep whichever version performs best on recent history. Do the same for tariff-driven buying ahead and large one-time shortages.

What if we never recorded lost sales?

Start now with a simple lost-sale code at order entry and the counter. For past periods, approximate lost demand from backorders, cancellations and unconverted quotes, and flag known stockout periods so the model treats them with care.

Do forecasting vendors need customer-level data?

Many do, because customer-level history separates repeat demand from one-time jobs. Check the vendor's data use terms and where data is processed, and limit the fields you send to what forecasting actually needs.

Related resources

See if your company qualifies

A short company assessment. No data uploads are needed.

See if you qualify