0

What is a proper algorithm/approach to rank these products for recommendation purposes:

  • Product-1: 1 rating (5.0 average rating)
  • Product-2: 30 ratings (4.9 average rating)
  • Product-3: 500 ratings (4.7 average rating)
  • etc.

Intuitively, I'd rank product-2 better than product-1, because 30 ratings are considerably more "reliable" than 1 rating despite having slightly lower average score.

The best I could come up with was to normalize the two figures: rating and rating-count, and assign (an arbitrary, really) weight to each, and average them to get a crude "ranking" or a recommendation-score. But I keep thinking that would be oversimplifying the problem.

mediocre
  • 11
  • 2

1 Answers1

0

A commonly used solution is to build a confidence interval around the average rating. Then, instead of ranking products by their average rating, you can rank them by their lower confidence bound.

For instance:

  • Product-1: 1 rating, 5.0 average rating, [4.0,6.0] confidence interval, 4.0 lowerbound
  • Product-2: 30 ratings, 4.9 average rating, [4.8,5.0] confidence interval, 4.8 lowerbound
  • Product-3: 500 ratings, 4.7 average rating, [4.65,4.75] confidence interval, 4.6 lowerbound

Ranking by lowerbound gives: first Product-2, then Product-3, then Product-1.

Related: Wilson's confidence interval for 5-star rating.

Keywords when searching for algorithms using confidence in ratings:

Stef
  • 13,242
  • 2
  • 17
  • 28