[Math] 5 star ratings. Bayesian or Weighted average

average

I am building a website which has 5 star ratings to rate items.

These ratings unlike the normal ones are of unequal weights. i.e.

1 star: -5,
2 stars: 10,
3 stars: 20,
4 stars: 30,
5 stars: 50,

Every time a user rates I am planning to calculate the average and show it back to the user.

To do this averaging I was thinking of implementing weighted averages or Bayesian average.

Which approach do you think is the best? Are there other approaches I should be looking into?

Best Answer

The basic (weighted) average is really just a special case of the Bayesian average with $C = 0$. There are other special cases, such as the rule of succession, which correspond to different priors. More generally, these are all forms of additive smoothing.

Generally, I'd suggest either implementing some form of smoothing and/or not showing any ratings for items rated less than some minimum number of times. This is to avoid the issue of an item with a single 5-star rating getting a higher average rating than one with 99 5-star ratings and one 4-star rating.

Ps. If you haven't yet seen yesterday's xkcd strip, go take a look at it — it's relevant to the topic.

Related Question