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.


  • 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.


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
    • There is often a low question to SME ratio
    • 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


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.

  • 21
    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
    Commented Oct 17, 2013 at 10:53
  • 13
    I think it would take less than 20 minutes to randomly vote 40 questions. I'd say it would take a minute or less. Commented Oct 17, 2013 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
    Commented Oct 17, 2013 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. Commented Oct 17, 2013 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. Commented Oct 17, 2013 at 10:57
  • 3
    You've included downvoting. Whilst this makes me happy I don't think the description "paying it forward" applies :-). Commented Oct 17, 2013 at 10:59
  • 4
    Another bias against low-traffic areas of sites? Commented Oct 17, 2013 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 Commented Oct 17, 2013 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.
    – user50049
    Commented Oct 17, 2013 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). Commented Oct 17, 2013 at 13:58
  • 6
    @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.
    – Adam Lear StaffMod
    Commented Oct 17, 2013 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. Commented Oct 17, 2013 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
    Commented Oct 17, 2013 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 Commented Oct 17, 2013 at 17:20
  • 3
    @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. Commented Oct 17, 2013 at 17:24

3 Answers 3


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?

  • I was wondering if you would put anything. I always see you at the top of the voting leaderboard. Commented Oct 18, 2013 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. Commented Oct 18, 2013 at 10:09
  • +1 I like the barrier idea. It should depend on site traffic, though.
    – Mansfield
    Commented Oct 18, 2013 at 13:35

I think encouraging voting is worthwhile. I think rewarding voting with reputation, though, specifically, would be a problem.

At the moment, all the ways to gain reputation have oversight, both from the community and the moderators. This ensures that someone can't gain reputation without actually contributing usefully to the site; this means that reputation can safely be used not just as a reward, but as a way to help control how quickly users have access to the various privileges.

Now, upvoting something has no oversight at all, other than the scripts that detect serial voting and sockpuppetry. If a bad post gets upvoted, not even a diamond moderator can see who upvoted it. Additionally, it's hard for a computer to distinguish indiscriminate voting from well-reasoned voting; the whole point of voting is to tell the site which answers are useful, and so we can't really audit it the "other way round", where the site works out for itself which posts are useful, and uses that to see if voting is done with good intentions. We try to do something similar in reviews via review audits; it doesn't really work as well as could be hoped. The idea of a "vote audit" would just be ridiculous, and likely repel voters more than any rewards would encourage them.

As such, voting is something that cannot really have oversight, and the reason this isn't a problem is that it isn't really abusable; the voter doesn't get any rewards other than the encouragement (or discouragement) they give to the author of the post they voted on. If you give rewards for voting, therefore, they need to be something that's harmless and won't encourage people to vote abusively to gain them.

The most obvious move in this direction would likely be badges. We already have a few badges related to voting. It might be possible to add more (most of the voting-related badges we currently have, apart from Supporter and Critic, are fairly hard to get unintentionally), although we'd have to be careful that people didn't vote just for the badges. Perhaps a repeatable badge for putting in an early upvote on a post that eventually became highly voted? That'd be hard to abuse, and (if the numbers were chosen correctly) reward people for voting well at the right sort of frequency for reinforcement.

It's possible that there are other ideas along these lines, too, but I can't think of any right now.

  • 2
    There are some good points, but I'm not convinced badges are any less abuse-motivating than rep. Commented Feb 22, 2017 at 21:43
  • The main point is that if there is abuse, the badges at least won't give the abuser privileges they aren't entitled to. Or in other words, I'm more worried about people voting arbitrarily to get access to mod-like abilities, rather than about people voting arbitrarily to make numbers go up.
    – ais523
    Commented Feb 22, 2017 at 22:20
  • This answer offers an interesting counter argument but I still maintain that some people will want to progress in reputation to stay involved. Looking back, I have also stopped voting as much in the time since I wrote this question. In my case it's mostly about realizing that I need more time to give to others in meat-space versus cyberspace. Commented Feb 25, 2017 at 14:15

If you really wanted to do this (not sure I'm convinced) here's a simple algorithm:

How many votes (both up and down) have you cast in the ten days prior to but not including today? For each one, add (1? 2? I'm thinking 2) to your rep cap.

Or your rep cap is max (200, votes*5) or whatever number.

I would pick the numbers so that someone averaging about half the mathematically possible voting over that time stretch (which is a lot of voting) would double their rep cap. (And if you hit rep cap yesterday the calculation would exclude both today and yesterday, etc, and someone else can write the Jon-Skeet-hits-it-every-day exception: perhaps we just give 0 votes for rep cap days and always look at the previous 10 so Jon would never get a vote-boost to the cap.) The idea is you don't go on a vote binge once you realize you're headed for a rep cap day. When I get one, I often get another the next day, so I might vote like a maniac today to increase tomorrow's cap.

Now when you occasionally get that bingo of an answer that earns you rep-cap, if you had done a lot of voting prior to that, your bingo is bigger. There is never direct reward for voting, but if you're the kind of person who votes a lot, from time to time your ship will come in a little more heavily-laden than it otherwise would.

You must log in to answer this question.

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