Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Algorithm for Rating Objects Based on Amount of Votes and 5 Star Rating

I'm creating a site whereby people can rate an object of their choice by allotting a star rating (say 5 star rating). Objects are arranged in a series of tags and categories eg. electronics>graphics cards>pci express>... or maintenance>contractor>plumber.

If another user searches for a specific category or tag, the hits must return the highest "rated" object in that category. However, the system would be flawed if 1 person only votes 5 stars for an object whilst 1000 users vote an average of 4.5 stars for another object. Obviously, logic dictates that credibility would be given to the 1000 user rated object as opposed to the object that is evaluated by 1 user even though it has a "lower" score.

Conversely, it's reliable to trust an object with 500 user rating with score of 4.8 than it is to trust an object with 1000 user ratings of 4.5 for example.

What algorithm can achieve this weighting?

like image 620
Jamie Ramsamy Avatar asked Feb 23 '11 20:02

Jamie Ramsamy


People also ask

How are 5star ratings calculated?

5-star calculations are a simple average— add all of your individual scores, divide by the number of individual responses, and there you have it—your average 5-star rating. The 5-star score is rounded to the nearest tenth.

What is the formula to calculate rating?

Patient star ratings are calculated by dividing the patient's aggregate mean score by 20. For clients using only one question in the patient star rating, the star rating would simply be the individual question score, divided by 20.

How do you calculate average star rating in Excel?

Calculate 5 Star Rating Average Using SUMPRODUCT FunctionSUMPRODUCT(C5:C10,D5:D10) >> First, SUMPRODUCT Function will multiply the Rating column by No. of Ratings column. Then, it will sum all the results of multiplication. SUM(D5:D10) >> Shows us the sum of E5 to E10 cells in the Rating column.

How do you convert star ratings to percentages?

If your goal is to get the percentage of ratings that are (for example) 1-star, then just divide star1 by the number of ratings (which I guess is tot_stars , although the name seems to imply otherwise). That gets you a proportion; multiply by 100 to get a percentage.


1 Answers

A great answer to this question is here: http://www.evanmiller.org/how-not-to-sort-by-average-rating.html

like image 181
drewrobb Avatar answered Sep 23 '22 03:09

drewrobb