views:

87

answers:

2

What I mean by bandwagon effect describes itself like so:
Already top-ranked items have a higher tendency to get voted on at all, possibly even to get upvoted.

What I am hoping to get is some concrete recommendations, at best based on your practical experience with a mathematical formula and in which situation it helped.

However, any useful pointers are more than welcome!

My ranking system

Please consider a ranking system at a website that has a reputation system and where users cast only upvotes on items and the ranking table is reset to start fresh every month.
Every user has one upvote per item within each month, and there is a reward for users who, within a certain month, upvoted an item that made it into the top ranks at the end of that month.

Users are told the following about what increases the weight of their upvote:
1)... the more reputation you have at the time of upvoting
2)... the fewer items you upvote within the current month (including the current upvote)
3)... the fewer upvotes that item already has within the current month before your own upvote

The ranking table is recalculated once a day and is visible to all.

Goal

I'd like to implement part 3) in an effort to correct the ranks of items where one cannot tell if some users just upvoted it because of the bandwagon effect (those users might hope to gain a "tactical" advantage simply by voting what they perceive lots of other users already upvoted)

Also, I hope to mitigate this way against the possible use of sock puppets that managed to attain some reputation, but upvote the same item or group of items.

Question

Is there a (maybe even tested?) mathematical formula that I could just apply on the time-ordered list of upvotes for each item to get a coffecient for each of those upvotes so that their weights will be corrected in a sensible fashion?
I'm thinking it's got to be something of a lograthmic function but I can't quite get a grip on it...

Thank you!

Edit

Zack says: "beyond a certain level of popularity, additional upvotes decrease the probability that something will be displayed"

To further clarify: what I am after is which actual mathematical approaches are worth trying out that will, in the form of a mathematical function, translate this descrease in pop (i.e., apply coefficients to the weights, see above) in sensible, balanced manner.

My hope is someone has practical experience with such approaches in a simmilar or general situation to the one above.

+1  A: 

Consider applying the "Indie Rock Peter Principle": beyond a certain level of popularity, additional upvotes decrease the probability that something will be displayed.

Term coined by Leonard Richardson in this paper. Indie Rock Peter is of course from Diesel Sweeties.

Zack
I first skimmed the paper, which I found to be a little bit confusing, but that could be just me. I guess what he proposes is pretty much what I want in my "Question" section of my question, but he leaves out any hint or explanation of how one can approach actual solutions for it math-wise. I then looked at the code that I also found on the site you linked to, but found it too specialized to compare his situation to mine. +1 for good pointer to further explanation to add to my question, though!
+2  A: 

I have always disliked the bandwagon effect in voting systems, especially "most viewed" rankings in which simply clicking on a highly ranked item increases its rank. My solution to this problem, which I have never tested or seen implemented, would be to keep track of how an item was reached (and then voted for), and ignore (or greatly decrease the weight of) votes that came from any sorted-by-ranking page.

Sparr
In my case users have to first click/view on the item which is linked to from several locations on the site and have to upvote on the item's detail page. While there is no guarantee that one can safely correlate the user clicking the item page from the ranking table and her actual upvote, there are still some implementations for this that I could factor in. So +1 for the idea pointer.