So i have a table with ratings including total votes, and total value. total votes is how many times everything has voted and total value is the value of all the votes added together. If i use total value / total / votes i get an average but sometimes it does not work because a rating with higher total but lower votes can be higher. Is there a special algorithm that works for rating sites like this ?
The ratio for each category is calculated as "total votes / total value", isn't it? In this way, since total value is always higher than total votes, it will work for all cases. If I have misunderstood, pls explain more about the problem.
Yes. but your explanations wasn't much clear to me. According to what I have understood I have added my comments. Note that you used "total value / total / votes" and what I have suggested was total votes / total value Also, I expect the two variables are defined as floating point and the ratio is taken as ((total votes * 100) / total value) %
Provide some field names along with sample data, what the results should be and what the results are. Everyone's explanation and assumptions are making this hard to understand.
looks at this site.. http://cologneandperfumez.com/ - you can see top rated column. the first one of 4. because the average isnt as high as the 5 below it, bc its 1 five rating which average is 5. and the two 4 ratings average is 4.
Now it is clear. You need to use Bayes’ Theorem. See How to implement an accurate rating system You will have to store some more information in your database to get this working.