# Compare skewness of many distributions with few observations

I have a dataset with page view data for about 500,000 users, divided into two groups. Each user can visit up to 5 pages, each as many or as few times as they want. So for each user, I have the distribution of number of visits to each page. I would like to compare the 'average skew' in distribution between the two groups. Roughly, users in one group are more likely to have distributions that look like this {3,0,0,0,0} and users in the other group are more likely to have distributions like this {1,1,0,1,0}. How can I compare the degree of skewness between the two groups? I thought of using the average Gini coefficient or entropy for each group, but each user has so few observations. How can I do this?

• Not easily . . . The skewness coefficient is a pretty flaky statistic. I suggest avoiding it. Are you sure you wouldn't do just as well comparing their ranges, or number of different pages visited? And is it the same 5 pages for each? If not, what is the meaning of "(1,1,0,1,0)" versus "(1,1,1,0,0)"? – Russ Lenth Jul 27 '14 at 19:24
• It is not the same 5 pages for each; there is no difference between (1,1,0,1,0) and (1,1,1,9,0). It's just the distribution of how many views they did for each of the 5 pages they were offered. Neither number of pages nor range is exactly what I want, since neither fully captures the difference between someone who looks at many pages once each and someone who looks at one page several times. Maybe I can report both? – bsg Jul 28 '14 at 6:07
• What does "skewness" mean when we're looking at counts in nominal (i.e. unordered) categories? Do you mean something more like "concentration" into few categories rather than spread over many? I guess you could think of that as skewness in the values of the counts. – Glen_b Jul 29 '14 at 23:19
• Yes, that's what I mean. – bsg Jul 30 '14 at 5:57

2. Here's another simple one: After ordering the counts $y_1<y_2<\ldots<y_5$, compute $$\frac{y_5-y_3+1}{y_3-y_1+1}$$ So for (3,0,0,0,0) the score is $\frac{3+1}{0+1}=4$, and for (1,1,1,0,0) it is $\frac{0+1}{1+1}=0.5$. The idea is that $y_5-y_3$ is the difference between the max and the median, and $y_3-y_1$ is the difference between the min and the median, so you're comparing the two halves of the distribution. $1$ is added to each so you never end up dividing by $0$. Like then Gini index, this is a function of the order statistics.
3. Another simple measure of disparity is the SD of the logs. For nonzero data, $SD(\log ay)=SD(\log y)$ for any $a > 0$, so it is scale-invariant. It measures relative variation in the data. However, you'd have to add some constant before logging to avoid taking the log of $0$. In your examples, the SDs of $\log(y_i+1)$ are $0.62$ and $0.38$ respectively.
Note that options 2 and 3 are not scale-invariant, due to adding $1$ (or something) before dividing or logging, whereas the Gini index can be computed without any adjustment for the zeros, and is scale-invariant. So the choice might be based on that. Is (10,0,0,0,0) really the same as (3,0,0,0,0), in terms of your behavioral model? And is (4,4,4,0,0) the same as (1,1,1,0,0)?