What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 128 Stack Exchange communities.

Stack Exchange uses rewards to encourage participation:

  • Votes for good content
  • Badges for good questions, answers, and behavior
  • Reputation bonuses for valid edits
  • Increased responsibilities for good contributions

Quite arguably, Stack Exchange uses principles from Skinner's Operant Conditioning Chamber, which randomly rewarded rats with food every time they pushed a lever. Stack Exchange, Facebook, and video games are all smashing successes because people get addicted to rewards for behavior. The formula clearly works.

If you look at the list of rewards above, most of them depend on voters. Voting is one of SE's core currencies. Votes reward quality content, which ultimately makes Stack Exchange a better place. Even if a user doesn't continue asking or answering questions, we want him to come back to consistently vote good content up and bad content down.

As it stands today, users who mostly click the vote button1 get no consistent rewards2. Those users are "paying it forward" by providing tangible feedback from their peer-review efforts. Suppose you're competent in a subject... or perhaps even a subject matter expert participating in a small beta site... maybe you only visit once or twice per day (which isn't often enough to pounce on the trickle of questions). How long would these experts continue to altruistically "pay it forward" when they get nothing back, other than occasionally a little more information? Speaking as someone with access to one beta site's vote patterns, on the whole, these people don't silently click the vote button for more than a few weeks. After that, they either lose interest in voting, or worse, lose interest in the site. My conversations with other beta site moderators reinforce this notion. It's a real shame, because those competent users / experts are the people we really need to continue driving good content into stack exchange.

FEATURE REQUEST:

  • Randomly give incentives to voters (on average) every 42 votes (based on today's daily vote limits)
    • +2 points if total reputation is less than 200 points
    • +5 points if total reputation is less than 2,000 points
    • +10 points if total reputation is less than 20,000 points
    • +15 points if total reputation is greater than, or equal to 20,000 points
  • This bonus is optionally retroactive (based on SE preferences)... I personally don't think it should be retroactive
  • This bonus should show up in reputation tab tallies as "User voting bonus"
  • For small beta sites with low question velocity, perhaps you want to use a few points to "sink the hook"; i.e. increase the vote reward frequency for the first few user visits and then tail off to one reward per 42 votes over time. I don't have enough data to have input on this algorithm.
  • Limits:
    • This bonus should not apply to daily reputation cap limits from votes received
    • Temporarily lower the vote reward frequency for voters in the top-X% of votes over time.
    • No more than 500 points may be earned by this bonus when your total site score is under 10,000 points
    • After 10,000 points, you may earn an additional 500 points from the vote bonus.
    • Above 20k total reputation on the site, there should be no vote reward caps since the user is trusted.
    • To avoid incentives for robo voting, temporarily (and silently) stop offering the random bonus if the user voted (on average) more than once every X minutes (value of X is subject of debate, and I don't have enough data)
    • The baseline bonus frequency probably should have jitter (i.e. it should not be constant); this is to ensure that people can't assume they can calculate what they should have been awarded. The system is intentionally opaque to non-StackExchange employees.
    • Optional: After randomly earning the bonus, perhaps the user should complete a captcha before points are credited to his account. This countermeasure is included to address vote automation; it should be used when automation is suspected.

Q&A:

Q1. When is this feature request beneficial?

  • If the site's question velocity is high, it might not make much difference because there is ample opportunity for anyone to get points if you want them. Nevertheless, this is an incremental improvement for similar reasons that apply below.
  • If the site's question velocity is low / modest (such as the many sites now in beta):
    • SE's privilege thresholds feel like handcuffs if you don't have much reputation
    • It is hard to earn reputation because there are often many more experts than questions
    • If you feel like you make no progress towards more privileges, you loose interest and quit voting
    • If people quit voting, this is a negative incentive for people to put (sometimes hours) into answering an otherwise good question, only to get a measly two votes. Ultimately this dynamic is a negative drag on the whole goal of launching the beta site.

This could be a significant improvement for the beta sites, since it rewards the positive contributions of silent reviewers (who may otherwise feel that they are just a cog in the system).

Q2. Why should Stack Exchange developers / management care (and prioritize implementation of this feature)?

  • More voting ultimately means more page views (because people review / vote more often)
  • More page views == higher Google SE ranking
  • More page views == more SE ad revenue
  • Other well-documented reasons

Q3: If you mechanically reward voting, won't you inadvertently encourage people to vote for crap just to get the rewards?

  • This is why I suggest we reward voting A) randomly and B) set the random threshold where the incentive is beyond what you could mechanically get on a single day of voting... so an incentive after more than 40 votes (on average)
  • See the "Limits" section in the feature request for specific robo-voting counter-measures

Q4: What if these limits on the reward structure (asking, answering, editing) are part of the core design of Stack Exchange?

  • Answering, asking and editing are certainly valuable, but votes are what make people continue contributing. After a site has high question velocity, ask-answer-edit is enough, but you have a chicken / egg problem on small sites. Besides, if I spend my hours voting good content up and bad content down, that's positive participation that we still want to encourage.
  • Stack Exchange gets money from views, and the more votes we encourage, the more views we get (i.e. from voters).
  • The incentives are scoped such that the overall contribution to a user's reputation is still small, but it's something so they don't feel like it's all output and no input

Q5: If the incentive is random, how do we audit the incentive trail?

  • Use the documentation in the reputation tab or <site_name>/reputation, just like other bonus awards.

Q6. What algorithm might someone use for this incentive?

  • Establish the baseline incentive frequency based on the user's past voting behavior. Assume for sake of argument that the baseline frequency chosen is one incentive award for 42 votes (on average).
  • Pick a random number between 1 and 42 for every time the user voted on a unique question or answer within the last day; if any one of the random numbers comes up as a 1, then the user gets the incentive for that day.
  • Even if there are multiple 1s per day, we shouldn't offer the incentive more than once in a single day
  • The algorithm should account for the reality that you can revoke an upvote within five minutes, and it might need to account for editing the same post to remove your previous vote. That's part of the reason I am starting to believe the award should happen on a daily basis instead of instantly after a vote.

Q7. What about abuse / gaming the system?

  • If SE detects intentional abuse / gaming, then SE should have the option of suspending incentives temporarily or indefinitely for that user
  • It should be obvious, but I'll just say it... The incentive is an extra something given to encourage good behavior, it's not a right or something you deserve just because you voted X times.

Q8. What do you mean by "Top-X% of votes over time"?

  • The idea is to build a histogram of question / answer votes per user, measured over a longer period of time (maybe a week or so?).
  • If a user falls into the upper X% of that vote distribution, then we offer fewer incentives. I don't know what threshold or time period to use; for sake of argument let's say the incentives are lower if a user falls into the top 10% of votes given over the period of a week.

Q9. If you lower the incentive frequency for people in the Top-X% of votes given, isn't that is a disincentive for good behavior? Also, what do you mean when you say "temporarily raise the reward threshold"?

  • Anyone who consistently votes 40 times per day is a hero. Thank you for doing the right thing (and I'm assuming it wasn't robo voting).
  • Using the word disincentive assumes:
    • You really can know the frequency that you could have been awarded.
    • You know where the Top-X% threshold is
    • A significant motivation is purely for the incentive (which is not the intention of this, anyway)
  • I will openly admit that I suggested this limit because:
    • I assume that if you're an honest top voter, you don't need an incentive as often... status quo works :-). In @Ward's case, he was a top-voter long before this proposal.
    • I hope to provide a disincentive for robo voting
  • The system is intended to be opaque to the masses; we should not know the real algorithm for incentive awards, or even know the incentive frequency for awards to other people (because we can't see their individual votes anyway).
  • Regarding the question of what temporary means; I consider that relative to the histogram used to measure this, but I don't know what time period SE might use.

Q10. What if the baseline incentive frequency was variable every day, so people couldn't predict when they "should" get an incentive?

  • That sounds like a good way to implement it.

Q11. Meta has different dynamics that the other sites. Should every site have the same incentive award frequency?

  • That sounds like a good argument. The incentive frequencies probably should be influenced by site dynamics; however, I don't have enough data

Q12. Maybe there could be a high barrier that you have to get over to start earning this bonus?

  • I am not sure I like this idea, because the whole point is to give incentives to the average person who comes to SE and silently just reads / votes a few times every day. I wouldn't expect that person to ever be a voting hero

Footnotes:

1: At some point in time, assume they asked sufficient questions in the past to start voting.

2: Yes, we have Suffrage and Electorate, but they don't do enough to encourage consistent voting.

Click here to go back to the top of the page

Thanks to ChrisF and WaxEagle for very useful feedback while writing this up.

share|improve this question
18  
How would you prevent random (robo) up-voting just to get this bonus? Every other rep-giving activity is either reviewed (edits) or can lead to loss of rep as well (questions and answers). This one wouldn't. –  Mołot Oct 17 '13 at 10:53
12  
I think it would take less than 20 minutes to randomly vote 40 questions. I'd say it would take a minute or less. –  George Duckett Oct 17 '13 at 10:56
1  
There already are robo-reviewers. How do you plan to prevent robo-voters? Just like @GeorgeDuckett says. He expressed my concerns way more clearly it seems. –  Mołot Oct 17 '13 at 10:57
5  
I would add another limit: one can gain only up to X reputation points from this, reasonable X being 1000 or 2000 - note that for suggested edits, one can earn up to 1000 only. One more thing is add the ability to globally revoke all the bonus by a moderator or dev team member, when they catch robo voter. –  Shadow Wizard Oct 17 '13 at 10:57
5  
One possible counter to robo-voting could be to reward number of hours in which the user voted at least once. i.e. I couldn't vote loads in quick succession, that would be counted once only as far as the reward was concerned. To get a reward I'd have to vote over 45 (or whatever) different hours over a few days. –  George Duckett Oct 17 '13 at 10:57
3  
You've included downvoting. Whilst this makes me happy I don't think the description "paying it forward" applies :-). –  ben is uǝq backwards Oct 17 '13 at 10:59
4  
Another bias against low-traffic areas of sites? –  Bill Woodger Oct 17 '13 at 11:09
9  
@benisuǝqbackwards, downvoting is still "paying it forward" because voters payed us with their review effort. Downvoting is valuable and actually I considered counting downvotes twice since it seems so uncommon that people downvote crap –  Mike Pennington Oct 17 '13 at 11:13
12  
Not an official response, just my own response - at first glance I gotta say I like this, and this is incredibly well hashed out. We're at a summit currently, but this is definitely going on our feature list for discussion. –  Tim Post Oct 17 '13 at 11:48
2  
As others have pointed out already, psychological conditioning will make robo-voting a huge problem, and 62% of your "limits" section is about raising or removing them, not stopping robo-voting. Also, how will you deal with those who are unequivocally are not robo-voting, but still vote up bad content and vote down good content? We shouldn't reward voting patterns which run contrary to our aims, such as consistently reading and voting up popular drek (e.g. old "what's your favorite" questions). –  Esoteric Screen Name Oct 17 '13 at 13:58
5  
@MikePennington A captcha wouldn't really do much. "Robo" voters aren't literally robots. They're people who are voting without regard for quality, just to blow through the daily allotment of votes. –  Anna Lear Oct 17 '13 at 16:48
1  
@annalear, thanks for the clarification... vote rate thresholds (outlined under "Limits") also address robo voting by this definition... however, I believe a captcha is still useful in the feature. –  Mike Pennington Oct 17 '13 at 16:51
1  
I'm not satisfied that your current solutions for avoiding robo-voters would work, but if a better option(s) comes forward I'm all for this. +1 –  Mansfield Oct 17 '13 at 17:09
2  
@servy, I accept that there is a risk of indiscriminate voting; we already live with many other imperfections in the system... the real question is whether the net effect of this feature meaningfully improves good voting habits. The feature includes a lot to discourage bad practices, but I would never pretend that it is going to make everyone happy. I personally think it will help. The community and SE get to decide its fate –  Mike Pennington Oct 17 '13 at 17:20
2  
@MikePennington Definitely agree. There are going to be flaws in any system. The advantages definitely outweigh the disadvantages though - no doubt. The captcha isn't a bad idea. People are already robovoting for the electorate badge, and nothing is being done. –  Josh Crozier Oct 17 '13 at 17:24

1 Answer 1

There are lots of good comments in the comments, but since I vote the most I thought I'd put my comments as an answer...

I personally don't think it should be retroactive

I'd be a little unhappy if it wasn't retroactive... if people are going to start being "rewarded" for something, those of us who've already been doing it deserve the same reward.

Temporarily raise the vote reward threshold for voters in the top-X% of votes over time.

I'm not sure what this one means... Does it mean I can get more bonus rep on ServerFault because I'm the top voter there? And how would "temporarily" work? On SF I have 31,000+ votes, the #2 voter is at 12,000, so even if I stop, it's gonna be a while before I'm not at the top...

No more than 500 points may be earned by this bonus when

A limit like the one proposed is a good idea. If this proposal were applied retroactively without a limit, I'd get ~7000 bonus rep on SF, which is probably excessive.

To avoid incentives for robo voting, temporarily (and silently) stop offering the random bonus if the user voted (on average) more than once every X minutes (value of X is subject of debate, and I don't have enough data)

This is likely to be tricky, there are a variety of situations where I can burn through 40 votes in a really short time, e.g.:

  1. Maybe this proposal shouldn't apply to meta.SO, because it's easy to go through and use up 40 votes here really fast: Click on a Q, "do I agree/think it's a good idea," vote, vote on any answers, back, next Q...

  2. On an active site like SF, it's possible to use up 15+ votes really quickly while reviewing close votes. (what, doesn't everyone click on the question and vote on it and any answers while reviewing?) Another way I've often used up a lot of votes in short order is to randomly click on high-rep users and look at questions they've answered recently. Those users usually only pick decent questions to answer and they usually give good answers.

Overall, I think something like this has merit, but avoiding robo-voters will be difficult. The last time I proposed a new incentive for voting, I suggested badges for people who vote a lot over a long period of time (several months). Maybe there could be a high barrier that you have to get over to start earning this bonus?

share|improve this answer
    
I was wondering if you would put anything. I always see you at the top of the voting leaderboard. –  Josh Crozier Oct 18 '13 at 4:08
    
Hi Ward, thank you for responding and pointing out some things that were unclear. I edited my question with some responses in Q8 - Q12... perhaps it clarifies. –  Mike Pennington Oct 18 '13 at 10:09
    
+1 I like the barrier idea. It should depend on site traffic, though. –  Mansfield Oct 18 '13 at 13:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .