Quick answer
Compare medians instead of means, which will be more robust to the effects of extreme values.
More details
The best way to compare the distributions of usage between your customer groups depends on what you are trying to achieve by comparing them. For example, say you have the following groups:
A: 4, 5, 6
B: 0, 0, 0, 0, 50
There is no one answer to which group is has higher usage, but here are a few scenarios:
Mean
Comparing the mean of B (10) to the mean of A (5) would be appropriate if you want to know, for example, whether the increase in total usage would be greater if you were to add 5 new customers that would fall into group A (expected increase of 25) versus 5 new customers from group B (expected increase of 50). The extreme values will only contribute to larger variance on these expectations.
Median
Comparing the median of A (5) to the median of B (0) would be appropriate if you just want a quick way of saying whether a "typical" customer from group A would have higher usage than a "typical" customer from group B. Calculating the median is easy and gives good results, and in most cases will provide nearly the same results as the following more rigorous approach.
Mann-Whitney U / Wilcoxon rank-sum / AUC... a.k.a "test statistic of many names"
Calculating the U statistic is my personal favorite (although the proliferation of names is confusing). The U statistic is the probability that the usage of a uniform randomly chosen customer from group A is greater than the usage of a randomly chosen customer from group B. It's useful in a wide variety of situations. In addition to having an intuitive meaning, it's easy to test if the value of this U statistic is significant. It generalizes well to more than two groups, under the name Multiclass AUC*.
Significance
You will probably also want to check that any differences between groups are significant. The Mann-Whitney U works for this, as does the Kolgomorov-Smirnov (KS) test. The way-too-common T test makes assumptions about the distributions that don't sound justified with your data.
If, like me, you can't stand the proliferation of tests named "{Dead statistician} {Letter of alphabet} Test", (and you are interested in really understanding the concept of statistical significance), you can choose your software and simulate the process many times and see how unlikely the observed value of the test statistic is (bootstrapping*).
For example, if you want to see if the measured value of your U statistic is unlikely to occur if the groups are not different at all, try this:
- Combine the data from group A and group B into one group,
4, 5, 6, 0, 0, 0, 0, 50
- Randomly pick values from the combined list, with replacement, to form two groups with the same sizes as A and B, for example
A': 0, 4, 4
and B': 50, 0, 0, 6, 5
. Since you know that these A'
and B'
were just chosen randomly from the same population, this is an instance of a "null model" that the groups are not different.
- Measure the "test statistic" for these two groups (this could be the difference in means, the difference in medians, the AUC, the KS value, or anything else you dream up) and write it down.
- Repeat 2 and 3 many times.
- Measure the "test statistic" for your actual groups, and compare it to the distribution of test statistics that you just generated. If it it falls outside the range, then the actual value of your test statistic was unlikely to occur in your null model, and the value is statistically significant.
NOTE: I couldn't put more than two links in here, because I don't have enough street cred on Cross Validated yet. I'll edit when I do.