Hi there. I've been using acts_as_rateable on goneraw.com, which is
written in rails. It works great, but there's kind of a problem with
the way it sorts ratings. Namely, if everyone adores a recipe, and it's
been rated two dozen times at five-stars, but someone has given it four
stars, and you have another recipe with *one* rating of five stars...
the recipe with a single five-star rating will always come out on top!

I've been thinking a lot about this problem and don't have a clean
solution in mind. Here's how I find the three favorite recipes (on the
home page) now:

Well, it's not trivial to fix this, is it? Does anyone have a better
algorithm in mind, for weighting the ratings by how many ratings a
particular item has received? This seems like a common problem for
anyone using acts_as_rateable....

Sometimes simple works… I don’t use the acts_as_rateable plugin, but for the ‘Top Rated’ category at the plugin directory I simply sort by the rating times the number of votes.

Sometimes simple works... I don't use the acts_as_rateable plugin, but for the 'Top Rated' category at the plugin directory I simply sort by the rating times the number of votes.

Shouldn't one star be treated as a negative review? I'd rather choose a product with ten reviews that all give five stars, than a product with a thousand one-star reviews!

It would seem that a simple adjustment to Ben's system would be to
slide the star ratings down by 3 before doing the calculation. Make 1
star => -2, 2 => -1, 3 => 0, 4 => 1, 5 => 2. Now, 1000 1 star reviews
will actually bring the total rating down.

You could adjust the weights to make 1 and 5 star ratings not be linear
- 1 star => -5, 5 star => 5

Sometimes simple works... I don't use the acts_as_rateable plugin,
but for the 'Top Rated' category at the plugin directory I simply
sort by the rating times the number of votes.

Interesting, I'm sorry I missed all the follow-ups on this thread!

For the record, what I ended up doing was taking the sum of all the
ratings, adding the number of ratings minus one to that number, then
dividing that total by the number of ratings. So a single, five-star
rating gives a result of 5, as does a recipe rated with a four-star and
five-star rating. Two five-star ratings gives 5.5, three five-stars
gives you 5.66, and so on. This was a weird solution, but it works fine
for my goal of keeping recipes with a single five-star rating from
showing up at the top of my list.