Interesting overview, however he fails to address scalability issues properly. Some of the algorithms presented need to periodically recompute each item's score - this is a drawback if scalability is what you are looking for. A scalable algorithm will compute each score on write and will not require batch updates of previous items.<p>See: <a href="http://code.google.com/appengine/articles/overheard.html" rel="nofollow">http://code.google.com/appengine/articles/overheard.html</a>
I really liked this article. I've been playing around with some social-news-rating algorithms of my own, which are quite different from any of the ones listed here. One of these days I'll find the time to sit down and code a site around it them...<p>Also...I'm pretty sure that his argument for the "Dampening The Weighted Votes By Record Age" section is wrong. If you assume that each vote has the same weight (like HN, Digg, etc.), then you can rearrange the terms so that it's possible to use an algorithm that updates the 'rating' of the story on-the-fly.
Some discussion on a similar, but less comprehensive post:
<a href="http://news.ycombinator.com/item?id=478632" rel="nofollow">http://news.ycombinator.com/item?id=478632</a>
What you are likely to have is something like this: 1000 users and each voted between 0 and 100 times with 10 votes average. Yet with this approach all you have is a bag of 10,000 votes. It does not matter what you do with this bag - all the information on how the individual users voted is lost.