Supply Chain & InventoryFree calculatorPDF, Excel, Word export

ADI and CV2 Demand Classification Calculator (Smooth, Erratic, Intermittent, Lumpy)

Not every item should be forecast the same way. The ADI and CV2 scheme sorts items into four demand classes using how often demand occurs and how variable the order sizes are. This calculator gives the class from a few counts you can pull from any ERP.

Your numbers

periods

Count of months or weeks in the history you are classifying.

periods

Number of those periods where demand was above zero.

units

Average quantity in the periods that had demand.

units

Standard deviation of the non-zero demand quantities.

Your results

Average demand interval (ADI)
3
Average number of periods between demands. 1.00 means demand every period.
Class code (1 smooth, 2 erratic, 3 intermittent, 4 lumpy)
3
Syntetos-Boylan cut-offs: ADI 1.32 and CV2 0.49.
Coefficient of variation of size
0.625
Standard deviation divided by mean of non-zero demand sizes.
CV squared
0.3906
Squared coefficient of variation used in the classification.
Share of periods with demand
33.3%

The cut-offs 1.32 and 0.49 come from published work by Syntetos and Boylan and are guidelines. Test the suggested method against a naive forecast on your own data.

Save results:

ADI as demand periods increase (36 period history)

Sweeps Periods with demand from 1 to 36, holding your other inputs fixed.

Classify every item automatically

Want ADI and CV2 computed for all items from your ERP history? Ask for an optional expert review.

Optional. The tool and every export work without this. No spam.

How to use the calculator

For each item, count the periods in the history and the periods with demand above zero. Then take the mean and standard deviation of the demand quantity in only those non-zero periods. Enter the four numbers. The class code tells you which family of methods fits. Repeat per item in a spreadsheet using the same formulas, or ask your planning team to add the class as an item attribute.

The method and cut-offs

ADI is total periods divided by periods with demand. CV2 is the squared ratio of the standard deviation to the mean of non-zero sizes. Using the Syntetos-Boylan cut-offs, ADI below 1.32 and CV2 below 0.49 is smooth, ADI below 1.32 with higher CV2 is erratic, ADI above 1.32 with CV2 below 0.49 is intermittent, and both high is lumpy.

  • Smooth: SES, Holt, Holt-Winters
  • Erratic: robust smoothing and larger safety stock
  • Intermittent: Croston or SBA
  • Lumpy: TSB, judgment, order-driven stocking

Worked example

A part has demand in 12 of 36 months. ADI is 36 divided by 12, which is 3.0. Non-zero sizes have a mean of 8 and a standard deviation of 5, so CV is 0.625 and CV2 is about 0.39. ADI is above 1.32 and CV2 is below 0.49, so the item is intermittent. Croston or SBA is the right family, and ordinary monthly smoothing is not.

Common mistakes

The most common error is computing the standard deviation over all periods including zeros, which mixes occurrence with size. Use only non-zero periods. Another is classifying on too short a history. With fewer than about 20 periods, a single order can flip the class. Reclassify each quarter, because items move between classes.

Frequently Asked Questions

What does ADI mean in forecasting?

ADI is the average demand interval: total periods divided by the number of periods with demand. A value of 1 means demand every period, and a value of 3 means demand roughly every third period.

What is CV2 and why squared?

CV2 is the squared coefficient of variation of the non-zero demand sizes. Squaring is how the published classification scheme defines its cut-off of 0.49, which corresponds to a coefficient of variation of 0.7.

Which forecast method suits lumpy demand?

Lumpy demand is hard for any statistical method. TSB, judgment based on known customers and contracts, and stocking policies based on service levels and order history usually work better than a point forecast.

How often should I reclassify items?

Quarterly is a sensible cycle. Reclassify sooner after a customer win or loss or a product change, because the occurrence pattern and order size can shift quickly.

If you need this class stored on every item and refreshed from live demand history, Netray can build it on your ERP data and keep it current.