What are some of the best ranking algorithms with inputs as up and down votes?

asked Sep 08 '10 at 16:17

yura's gravatar image

yura
1010374854


2 Answers:

Reddit uses this algorithm to rank comments (which are based off of up/down votes from users). I find it works well in practice.

answered Sep 08 '10 at 16:22

rm999's gravatar image

rm999
6125

One thing I think most descriptions of algorithms miss is that, if you interprete them socially, different algorithms mean different things. Let's just assume there are lots of votes (enough for we to disregard the biases induced by very few votes) and consider the following variants:

  • downvotes have negligible weight: this creates a community where the things most people like go to the front. Probably will be filled with yo-mama jokes and pictures of cats, since lots of people will upvote them and there is no real way to fight against this bias. This can also lead to very offensive content, racial jokes, etc. See what happens to 4chan for example.
  • downvotes and upvotes have similar weights: this creates a bias torwards consensus. Controversial things will be easily buried (since you will have as many people upvoting as downvoting) and most of what you will see will be tame, entertaining-ish things. Slightly controversial things, however, can dominate, as long as they are controversial in the right direction. See reddit's biases (for ron paul in the past, for feministic things in the TwoXchromossomes subreddit), or the fact that slightly-flaming blogposts tend to dominate in this environment (if it's a site for programmers and you write "10 reasons your manager is an idiot" it will probably rise to the top in this environment)
  • upvotes have negligible weight: this is usually called groupthink, or political correctness. Anyone who is offended by anything can effectively get rid of it, and all that is left are bland things nobody can disagree with. Think television at its worst.
  • votes are uneven: this opens a huge can of worms. If you do something pageranky (by, for example, making people whose votes are good predictors of final popularity have votes with higher weight) the community will probably reinforce forever its own biases (think rich-get-richer), but will likely be able to maintain a quirky character even if it grows. However, it will become extremely biased against newcomers after a while, and might be uninteresting. See hacker news (where actually some specific people have strong negative votes).

These are just some broad examples. I think it really pays for you to, before deciding on an unbiased statistically correct confidence-weighted formula to rank by votes, think a bit about which dynamics you want to see on the site, and then think how you can use voting to achieve that. Remember that I just sketched broad scenarios, and by interpolating between these examples you will find lots of interesting as-yet-unexplored potential communities.

I've also ignored issues of timeliness, and how addictive/profound you want your site to be (by addictive I mean having things decaying fast over time creating the illusion that people can easily "miss" important content by staying away; by profound I mean doing things more slowly and creating an incentive for only very good things to get to the top and then stay there).

answered Sep 08 '10 at 17:59

Alexandre%20Passos's gravatar image

Alexandre Passos ♦
2549653277421

edited Sep 08 '10 at 18:01

Your answer
toggle preview

powered by OSQA

User submitted content is under Creative Commons: Attribution - Share Alike; Other things copyright (C) 2010, MetaOptimize LLC.