# Statistical test to compare 1-10 ratings between groups

I'm trying to decide on an appropriate statistical test to determine whether there is a significant difference in average ratings (out of 10) between two groups.

• The scale is 1-10
• The distribution of ratings is left-skewed
• Sample size is around 20 in group A and 50 in group B

I was initially going to use a T-Test for this given the small sample and the fact that the sample itself is probably not representative of the population, but wasn't sure whether the test should compare means, or whether the ratings should be formulated as proportions (given they're on a bounded scale). Also not sure whether the skewness would make a T-Test inappropriate here...

What would a more competent statistician recommend?

• No test compensates for "the fact that the sample itself is probably not representative of the population". If that's really what you think, what do you think any test can tell you? May 19, 2021 at 10:38
• Yes, sorry, on further reflection I misspoke there. What I'm comparing are ratings across two groups of books that I have chosen to read. I have no reason to think that the sample is unrepresentative of the population of books that I would choose to read. It would however be unrepresentative of the wider population of books in general, given the selection bias, but that doesn't seem relevant given I'm looking to understand my own relative preferences between two groups - books that "exist but I would never read" wouldn't be part of the population, I guess. May 19, 2021 at 12:11

Mann-Whitney U test is probably what you're looking for. It's nonparametric, so skewness is not a problem for it.

But, to be strict, it does not compare averages. It compares

• probability that ranking of an entity from group 1 is bigger than ranking of an entity from group 2

with

• probability that ranking of an entity from group 2 is bigger than ranking of an entity from group 1

Another commonly used name for it is Wilcoxon two sample test, hence R function that carries it is wilcox.test().

• Not your fault, but naming the R function wilcox not wilcoxon is an example of misguided conciseness. (Bizarrely, Wilcoxon did have a later co-author Wilcox.) May 19, 2021 at 10:39
• I'll do some more research on this suggestion and will mark as solution if it fits what I'm trying to achieve. Thank you! May 19, 2021 at 12:13