How does Stack Overflow determine sock puppet accounts that give "fake" upvotes to questions?

I am specifically interested in the statistical approach Stack Overflow takes (IP addresses or user-agents need not be part of the answer). It's okay if propriety details are not revealed. But we can still benefit from knowing the general approach Stack Overflow takes.

My gut feel is that Stack Overflow uses a record of each user's voting decisions (e.g. last 50 votes cast by the user). They use this historical data to calculate whether a vote currently being cast can be flagged as a socket-puppet or not (i.e. it's above some Bayesian probability threshold). And when enough sock-puppet votes materialize, Stack Overflow takes action against the profiles involved.

Could an expert shed light on how Stack Overflow does it?

  • 4
    A record of all votes is kept, not just the last 50. You can see this in your activity. Nov 4, 2018 at 15:42
  • 1
    Well when I mention "50" recent votes, I am speculating that a limited data set would be used to calculate the Baysian probability that when X upvotes Y's question, X is Y's sock puppet. It's just an example. Nov 4, 2018 at 16:07
  • 2
    some users can have as many as five sockpuppets, one way I've sussed someone out was when I was talking to one hi-rep user and then the next day a completely different "user", who always seemed to be hanging around, replied as if we were continuing the conversation from the previous day. Nov 4, 2018 at 16:21
  • 4
    I don't think anyone from the SE team will reveal any secrets, it would be counterproductive, but it's an interesting question and one I've always asked myself. Nov 4, 2018 at 16:23
  • People here try to make the question more readable and fix grammar mistakes. Stack Overflow is the correct name in official posts, no "SO", which is better used in chat or comments where we have strict character limit. Also, no idea what is "Sybil" or who is that, but it's surely not something people are familiar with around here. "sock puppet account" is as clear as possible, no need to expand on that. Nov 5, 2018 at 10:22
  • @ShadowWizard: for your reference: en.wikipedia.org/wiki/Sybil_attack Hope it helps. Nov 5, 2018 at 11:58
  • Nice try, puppeteer.
    – user1228
    Nov 6, 2018 at 16:30

1 Answer 1


Some of this stuff is done automatically, and some of it is done manually. There is a system that checks for voting fraud by looking at voting patterns and reverses suspicious sets of votes. (The details are kept secret to stop people from trying to get around the limitations.) However, that's all it does - it won't suspend users automatically. That's where moderators step in. We can't see individual votes, but we can see aggregate data and totals - i.e. how many votes were cast by User X on User Y's posts. We can also see if a user's votes were reverted by the system.

If we notice some suspicious activity somehow, we'll try to figure out if there's malicious intent behind voting, and we'll take appropriate action, which usually involves suspending the user and deleting sockpuppet accounts. We can use various tools that make it easier to figure out if two accounts were run by the same person - we're not just guessing based on vote totals.

TL;DR: Reverting serial voting is done automatically. Suspending/deleting accounts is done manually.

  • Thanks for answering all the way from Betelgeuse. I'm from a planet near Rigel. Any opinion on what statistical approach the voting fraud detection mechanism takes? Or if it even uses a statistical approach? Nov 4, 2018 at 17:32
  • 4
    @HassanBaig It's kept secret; I don't know the details, and they're kept private. I don't think even speculation to any significant degree is possible.
    – HDE 226868
    Nov 4, 2018 at 18:32
  • 1
    I believe people have done analysis before, or at least one guy has, and published the results. It just shows exactly why security through obscurity is so bad. Nov 5, 2018 at 4:15
  • @forest: any link to the published results? Nov 5, 2018 at 9:00
  • @HassanBaig I don't remember where it is now. I think that Chinese guy who really likes pissing off the Chinese government on Stack Exchange would know. I don't know what name he is using now (would be easy to look through Meta posts regarding the appropriateness of usernames). Nov 5, 2018 at 9:01

You must log in to answer this question.

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