# What's the best method to measure relative variability for non normal data?

I have a set of data that states the volume required each month for the next 12 for 750 raw materials.

I would like to determine the variability in the demand for each material, and categorise the results into a low, medium, high format.

I have found some potential candidate statistical methods to measure this:

1. Coefficient of Variation
2. Interquartile Range / Median
3. Median Absolute Deviation from the Median (/median)
4. mean absolute deviation (/mean)

What would be the best method to determine the variability?

The data for each material may not be normally distributed; however, the same method needs to be applied to them all. In many cases the data could have quite a lot of skew.

For the advised method, please state the prerequisites to use it, the advantage it has over other methods and provide guidance on how I would interpret the results in the format stated above. FYI if you feel that there is a better measure of variability i haven't listed please feel free to suggest.

A few additional items of information that will be useful

• I am using Excel to do the calculations

• The chosen method and methodology for interpretation needs to be relatively simplistic as it will be adopted by people who are not statistically minded

• The calculation for variability will be based on a population size of 12

• The data is on a ratio scale (0 is really 0)

• These are measures of relative variability. It's not obvious from your instructions that you wouldn't be better off with a measure of variability. Jul 19, 2019 at 11:24
• I would to use a relative variability method because I want to be able to compare the results for each material to see if Material X has more variation than Material Y. The volumes can range greatly from 50kg to 100,000kg so straight measures of variability like: Range, Interquartile Range, Variance, Standard Deviation will have huge differences Jul 19, 2019 at 12:15
• Indeed; that's not contradicting my point. For some purposes (e.g. warehouse storage) variability of small amounts could be trivial. But, to take this forward, note that your title and your question don't make this clear -- which is especially important if this thread is to be of use to others. As variability of volumes (by which apparently you mean weights or masses) is not what you want, the question might be better revised. Jul 19, 2019 at 12:23
• If you measure relative variability (how best to do it for your purpose being an open question) then degrading a measure to low, medium, high is a backwards step, That's like measuring height and then dividing people into short, medium and tall. More positively you already know several methods so that you can compare methods to see if they produce the same ranking. Jul 19, 2019 at 13:00
• Shaun - if you were looking at change in central tendencies of things with very large differences in magnitudes, and a 10% change in a small thing was as important as a 10% change in a big thing, then one useful measure would be the geometric mean. There is a related measure called the geometric standard deviation that might suit your needs very cleanly. If you could provide some "dummy data" an example could be made to demonstrate this. It is easy to explain it easily to bosses. Jul 19, 2019 at 13:36

Gini's mean difference is always interpretable and is efficient and robust. It is defined as the mean over all possible pairs of different observations of the absolute difference between them. I haven't seen it studied under skewed distributions but I'll bet it works as well as anything. If you happen to have a Gaussian distribution it is 0.98 as efficient as the standard deviation. But it is far more interpretable than SD. Gini's mean difference is standard output of the R Hmisc package describe function, which uses a quick computational formula in the GiniMD function. See this for more information.

First, the only correct answer here is "none of them are best, it depends on what you mean by 'variability'". Each method will have advantages and disadvantages. Are you primarily interested in large deviations and outliers? Or not? (See below)

Second, you can't have data on what's going to happen for the next 12 months. You might have estimates of that, but you can't have data.

Third, as Nick pointed out in a comment, if you are going to take the results and then categorize them, you are taking a step backwards and, if it's going to be as few as three categories, you are probably eliminating any differences across at least most of the methods you mention.

Fourth, I wouldn't use Excel for data analysis, myself. It's very limited.

Let's compare some of the methods using R on a few sets of data. I suggest you take these as examples but use your own examples and see which suit your purposes:

x1 <- c(1, 2, 3, 4, 5, 6, 7, 8,  9, 10, 11, 100)  #Single outlier
x2 <- c(1, 1, 1, 2, 2, 2, 3, 4, 10, 11, 20. 20) #Repeats with outliers
x3 <- c(rep(1,11),100)  #11 values the same, one outlier

#Coefficient of Variation

sd(x1)/mean(x1) #1.98
sd(x2)/mean(x2) #25.03
sd(x3)/mean(x3) #3.09

#Interquartile Range / Median
IQR(x1)/median(x1) #0.85
IQR(x2)/median(x2) #36.18
IQR(x3)/median(x3) #0

#Median Absolute Deviation from the Median (/median)

#mean absolute deviation (/mean)
install.packages("lsr")
library(lsr)