Neat article on designing voting/ranking algorithms:
Many web sites allow users to casts vote on items. These visitors' votes are then often used to detect the items' "popularity" and hence rank the rated items accordingly.
And when "rank" comes into play things gets tricky:
- The system can have inherent deficiencies in ranking items.
- That is mostly because developers tend to "re-invent the wheel" and throw in their own algorithms instead of basing their calculations on well-established statistical formulae
- (I'll come to that in a moment, just bear with me ).
- There will be people (i.e. spammers) trying to fool the system and try to take their submissions to top.
- There will be system inefficiencies due to computational complexity.
In this article, I'll try to give examples on how to approach the problem; describe the weakness of each particular approach; and explain how some well-known social community sites implement their ranking algorithms..