This isn't really a question but I thought that it may interest people here to see that SO reputation seems to follow Benford's law

Here's the data I got from statoverflow (I omitted accounts with reputation = 1)


Compare this to Benford's predictions

Wikipedia's graph

  • 6
    What's up with all the 3s? A I smell a conspiracy. Sep 21, 2009 at 11:02
  • I don't quite know why you've used a completely different graph since I commented ...
    – please delete me
    Sep 21, 2009 at 11:06
  • @Silky, it's exactly the same graph but with probability rather than absolute numbers so that it's easier to compare to the Wikipedia one.
    – Motti
    Sep 21, 2009 at 12:05
  • Motti: But it makes my comment look a little more silly. I wouldn't be claiming that it's obvious that the most common prefix is '3'. Though I hardly need another reason to be downvoted on this site.
    – please delete me
    Sep 21, 2009 at 12:15
  • @Silky, I don't see any of your comments that is made to look silly by changing the values on the graph (have you deleted it?). Please accept an upvote on your answer as compensation for any wrongs I may have caused you.
    – Motti
    Sep 21, 2009 at 12:31
  • I don't care about votes; My comment was the short version of "of course a small number of people will have the majority of votes"; the graph changes what you're reporting on. But really, I've already spent too much time on this. Anyone cares to see what I'm talking about they can click your edit and see the old graph.
    – please delete me
    Sep 21, 2009 at 12:33
  • 1
    Silky I think you should read the article about Benford's law you seem to be missing the point (the two graphs I posted are exactly the same data with different labels).
    – Motti
    Sep 21, 2009 at 12:44
  • Motti: I can't even begin to imagine how you think they have the same data.
    – please delete me
    Sep 21, 2009 at 13:09
  • 3
    @silky: his first graph didn't say anything about how many users had the most votes. it showed how many users had rep starting with a certain digit. the second graph shows what percentage of users have rep starting with a certain digit. In both cases, it is exactly the same data.
    – Kip
    Sep 21, 2009 at 14:56
  • Kip: Rereading it, it isn't clear at all what it shows; I assumed it was rep. I can no longer express how much I don't care.
    – please delete me
    Sep 21, 2009 at 22:54
  • 2
    I think 0 feels left out of your analysis. Feb 8, 2010 at 6:07

5 Answers 5


I think I have an explanation for the anomaly at 3. I queried not just based on first digit, but also on number of digits.

Here is the query I used:

SELECT LEFT(reputation, 1) AS first_digit
     , LENGTH(reputation) AS num_digits
     , COUNT(*)
FROM users
GROUP BY first_digit, num_digits
ORDER BY first_digit ASC, num_digits DESC

After massaging that a bit, you get this as your raw data:

1st Digit   5 digits   4 digits   3 digits   2 digits   1 digit
        1        190       2504       7049      12838     52486
        2         30        876       2973       7180         0
        3         11        485       2150       4634      2623
        4          7        274       1578       3074         0
        5          0        157       1114       2336       301
        6          1        128        899       1972         4
        7          1         84        687       1481       146
        8          0         62        618       1305         0
        9          1         40        446       1141       447

The 1-digit reps throw things off. In particular, there is a large number of users with rep of 3, because that is your rep if you ask one question, get no upvotes, and accept some answer. Also, due to a bug, if a new user receives a downvote, and then the downvote is revoked, they will have rep=3.

Let's look at that in chart form. First, here is all the data. Clearly the users with rep of 1 are anomalous.

SO rep for all users, by first digit

Now, let's filter out those users with rep=1. Now we can see that there are anomalous spikes for rep=3 and rep=9. (Rep=9 happens with 1 upvote and one downvote.)

SO rep for users with rep > 1

Finally, lets filter out all users with one-digit rep. We get a result that is much closer to an ideal Benford's Law distribution now.

SO rep for users with rep > 9

  • 2
    +1 - Excellent analysis
    – John Rasch
    Sep 21, 2009 at 19:50
  • 12
    I'm tempted to -1 for not drawing freehand circles on your graphs. Sep 22, 2009 at 3:06
  • +1 Nice. Sep 22, 2009 at 9:33
  • 1
    The anomaly at 3 is probably due to new posters being down-voted and then having that down-vote removed. This result in them getting a rep of 3 because 1 - 2 = 1 (you can't go below 1 rep) and then 1 + 2 = 3
    – ChrisF Mod
    Feb 7, 2010 at 12:04
  • @ChrisF thanks, i forgot about that glitch.
    – Kip
    Feb 7, 2010 at 23:05
  • The images you linked to are dead, if you still have (or can recreate) the images please update the answer (I did the same for the question). Thanks!
    – Motti
    Oct 12, 2015 at 10:50
  • 1
    @Motti by some fortunate accident, I still had the spreadsheet I used to make these charts. I think in the originals I overlayed the ideal Benford's Law distribution over top of these. Hopefully I don't have to replace the images in another six years when imgur goes kaput...
    – Kip
    Oct 12, 2015 at 20:26
  • :) If imgur goes belly up then images that do show up in SO will be the exception
    – Motti
    Oct 12, 2015 at 20:44

Could the excess number of 3s as starting digits be related to the fact that 3000 is the required rep level for closing/reopening posts, which is kind of the last stepping point before 10k. If people are motivated by achieving certain targets I would imaging that motivation to "level up"/gain rep falls off after 3000 as the next target is so far away leaving a larger number of people in the low 3000s.

  • or the people that have posted a single question, which has gained three upvotes... Sep 21, 2009 at 11:18
  • 6
    @Rowland. I would guess that the people who have only posted 1 question with 3 up votes is just as likely as 2 or 4 up votes, therefore not effecting the distribution. Whereas the number of people in the 2000-2999 range and 4000-4999 ranges are less likely because those below 3000 have motivation to gain rep so work harder, but those above 3000 have less motivation because the next target (10k) is so far away so work less. I'd be interested to see how the distribution builds up within the categories of starting digits and whether the 3 category is indeed made up of excess 4 digit users. Sep 21, 2009 at 11:38
  • 3 seems like a good place to run out of steam, whether it's "3" (user with no upvotes at all, but has accepted an answer), 30s for a newbie that doesn't engage beyond an initial post which gathers a handful of votes, 300s where people are trying to grow, but aren't quite proficient (this is where I am on SF, as it happens). Of course the 3000s is a longer road, and as you say, there's a long way until the next milestone in terms of "rewards" Sep 21, 2009 at 11:52
  • Perhaps it would be helpful if the graphs were posted with each bar divided up into the number of digits in the number. I could just go and look at the Users pages, but I can't be arsed. Sep 21, 2009 at 16:58
  • 1
    @Simon P Stevens: It looks like the anomaly at 3 comes from people with a rep of exactly 3 (one question, no upvotes, with accepted answer). There is also a smaller anomaly caused by users with rep of 9 (one upvote, one downvote). See my answer to this question for more info.
    – Kip
    Sep 21, 2009 at 17:12

May I direct everyone reading/contributing to this question to "How addicted to StackOverflow are you?"

The answer "I download rep data and compare it to Benford's law" still hasn't been given as an answer yet.


If you haven't seen it before, Benford's law is pretty interesting, and seems on the face of it rather amazing. It takes a bit of thought to see how it arises, but once you do, it isn't at all surprising to see it appear in the Stack Overflow reputation graph. I highly recommend this well-explained article that goes through the details with a minimum of maths, and with some great examples.

Quoting from that article:

We can conclude that data from any distribution will tend to be 'Benford', as long as the distribution spans several integers on the log_10 scale - several orders of magnitude on the original scale - and as long as the distribution is reasonably smooth.

We have reputation spanning 1 - 100,000. That's 6 orders of magnitude. If we didn't see something close to Benford's law, that would be really interesting!


This suggests that log(reputation) is more-or-less uniform. We can test this hypothesis directly since I understand the data's available.

The next question is then: why is log(reputation) uniform? It makes sense that fewer people would have high rep that low rep, of course (since rep takes effort), but a uniform distribution of reputation seems equally likely. Or is there some mechanism through which the people who have reputation are more likely to gain more rep than people with fewer to start with? A sort of Matthews effect?

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