I'm under the impression that the weather can influence the mood and have some impact in voting statistics.

Is there any way of verifying this hypothesis? I mean, is the daily total of upvotes and downvotes available somewhere for mere mortals like me?


This link is very interesting, I would love to play with this kind of data, where can I get it?

@PauloScardine Where in the world do Stack Overflow users say they are from? – animuson


At least! The data explorer is what I was looking for, never heard of it before.

  • 6
    imgs.xkcd.com/comics/heatmap.png – animuson ModStaff Nov 6 '13 at 0:40
  • 4
    It must be raining & cold somewhere in the world. – psubsee2003 Nov 6 '13 at 0:44
  • 3
    The weather is quite OK here so I'll upvote this question. But I hope you edit it before tomorrow because it might be snowy then so I'll have to change my vote. – Simon Forsberg Nov 6 '13 at 0:48
  • 3
    I personally get angrier much more easily (meaning more downvotes) when it’s uncomfortably hot out. Then again, this is Canada. – Ry- Nov 6 '13 at 1:05
  • @SimonAndréForsberg: I'm already feeling warmer, thanks. :-) – Paulo Scardine Nov 6 '13 at 1:06
  • The linked post explains where I got the data from Paulo, there is also a data dump at the bottom to help you geocode location data without suffering through the same things I did. – jmac Nov 6 '13 at 1:19
  • 4
    -1 IT IS COLD AND I AM GRUMPY – Pekka Nov 6 '13 at 1:29
  • 4
    Seriously though: maybe when people are down due to bad weather, they ask lower quality questions? Something to ponder, too. :) – Pekka Nov 6 '13 at 1:30
  • 2
    Not to mention that summer means kids are out of school, and winter is usually midterms in the Northern Hemisphere, which will definitely have an impact. Not to mention that the data explorer doesn't show deleted questions (another small issue) – jmac Nov 6 '13 at 1:38
  • 1
    I think it's unfortunate this question is being downvoted, as it's an interesting hypothesis that deserved to be examined. I think the issue is that the expression "grumpy and more prone to downvote" makes it sound like you are complaining about downvotes and writing them off as a bad mood. – David Robinson Nov 6 '13 at 1:53
  • @DavidRobinson: such subtle traps when English is not your primary idiom! thanks for the hint. – Paulo Scardine Nov 6 '13 at 1:58
  • Yeah, it sounds like you're saying people are being irrational in downvoting. That complaint occasionally comes up on Meta, very loudly (usually by people who have been rightly downvoted) so the community tends to interpret anything in the direction as hostile - even though you probably didn't mean it that way at all! Never mind though, it's just Meta points. Nothing important. – Pekka Nov 6 '13 at 2:21

You can download the number of votes per day from the Stack Exchange Data Explorer with this query:

SELECT CreationDate, VoteTypeId, COUNT(*) FROM Votes
    WHERE (VoteTypeId = 2 OR VoteTypeId = 3)
    GROUP BY CreationDate, VoteTypeId 
    ORDER BY CreationDate, VoteTypeId

(Note that VoteTypeId 2 is an upvote, VoteTypeId 3 is a downvote). If you download the information into a CSV, you can graph it using (for example) R:

votes = read.csv("QueryResults.csv")
votes$CreationDate = as.Date(votes$CreationDate)
votes$Type = factor(c("Up", "Down")[votes$VoteTypeId - 1])

ggplot(votes, aes(CreationDate, X, col=Type, group=Type)) + geom_line()

enter image description here

Of course both the number of upvotes and downvotes has been increasing with the number of users, and varies greatly by the day of the week, but there is no cyclical trend by season immediately visible.

Now, since there's so much noise within a week, this noise may be hiding a real trend in terms of "% of downvotes", which is what you're actually interested in. So let's look at % of votes each day that were downvotes. We'll also use local regression (LOESS) to smooth over time:

votes = as.data.table(votes)
ratios = votes[, list(ratio=X[2]/sum(X)), by=CreationDate]

print(ggplot(ratios, aes(CreationDate, ratio)) +
            geom_line() + stat_smooth(method="loess") +
            ylab("% of Downvotes"))

enter image description here

Now, I still don't really see a seasonal trend (though I might note that the recent peak in downvotes was in the summer). But this does illuminate an interesting unrelated trend: that the % of downvotes decreased until about 2011 and then has been steadily increasing since. I suppose there are many possible hypotheses that could explain that!

  • What a nice answer! – Paulo Scardine Nov 6 '13 at 1:39
  • 8
    Downvotes on questions stopped costing reputation in May 2011. I believe this is the main reason for the increase in downvotes. It would be interesting to see separate statistics for questions and answers (which could corroborate or invalidate my hypothesis). – Gilles 'SO- stop being evil' Nov 6 '13 at 2:41
  • @Gilles: excellent point: I may take a look at separating them later. Though there's a large increase from 2012-2013 that I'm not sure could be explained by that (unless many users took over a year to figure out question downvotes were free) – David Robinson Nov 6 '13 at 2:50
  • @Gilles the primary reason for May 2011 change is still weather related: I believe SE team decided on it because of global warming – gnat Nov 6 '13 at 10:11
  • Of course the fact that is' t summer in one hemisphere while it's winter in the other would largely wash out any seasonal effects – Richard Tingle Nov 6 '13 at 10:30
  • Isn't it likely that the increase in downvotes from 2012 to 2013 correlates with how many (active) users that had the downvoting privilege? – Simon Forsberg Nov 6 '13 at 12:37
  • @SimonAndréForsberg: Why would that proportion (of 125+ users to 15-124 rep users) increase from 2012 to 2013? – David Robinson Nov 6 '13 at 13:35
  • @RichardTingle As noted here, the vast majority of SO users are from the Northern hemisphere (of the top 10 countries by users, only Australia, coming in at 6th, is in the Southern hemisphere) – David Robinson Nov 6 '13 at 13:40
  • @DavidRobinson Because the number of upvotes per day has gone up. More upvotes = More reputation. More active users on the site = More downvotes. It's just a theory though, only a data query could prove it. – Simon Forsberg Nov 6 '13 at 13:41
  • @SimonAndréForsberg: More upvotes wouldn't mean a higher proportion of users with 125+ rep if they were a) spread over a larger number of users and/or b) concentrated in high rep users (which by definition they are!) – David Robinson Nov 6 '13 at 13:48

As stated by animuson, you can see the rough geographic distribution of users.

You can determine upvotes and downvotes from the data explorer by date. For instance, this query will return the total number of downvotes from November 1st, 2012 to February 28th, 2013:

SELECT count(VoteTypeId) 
FROM Votes 
WHERE VoteTypeId = 3 AND CreationDate > '2012-10-31' AND CreationDate < '2013-03-01'

If you are better than TSQL than me (not a challenge), you can edit the above to tell you upvotes and downvotes for whatever season you want. You can then modify based on whatever geographic distribution or weather data you want to use to get a reasonable guesstimate.

  • Thanks man! The data explorer is what I was looking for. – Paulo Scardine Nov 6 '13 at 1:27
  • @Paulo, No problem at all, good luck! – jmac Nov 6 '13 at 1:28

SE sites are globally available. When it's cold somewhere, it's equally warm somewhere else on the planet. There's no requirement to provide geographic locations in order to post here. How would you propose these numbers are accumulated? Based on IP?

In addition, there is a considerable increase in poor quality questions based on educational institution schedules. Students tend to ask a lot more poor quality or clearly homework questions at certain times of the year (none of which correlate with weather conditions), and these questions cause more downvotes and closed questions at those times. How would you adjust for that factor?

There's simply no way to extrapolate weather impact on voting, and a "daily total of upvotes and downvotes" is meaningless except as an indicator of how many votes of each type were made on each individual day.

  • 1
    Population is not homogeneously distributed around the globe, specially the educated enough that engage in SO. Would not be fair to assume there is a significant majority of the SO users from the northern hemisphere? – Paulo Scardine Nov 6 '13 at 1:03
  • 5
    @PauloScardine Where in the world do Stack Overflow users say they are from? – animuson ModStaff Nov 6 '13 at 1:05
  • @animuson: Excellent link for this question! – Ken White Nov 6 '13 at 1:07
  • @animuson: this link alone is worth the downvotes, thanks. :-) – Paulo Scardine Nov 6 '13 at 1:09
  • @KenWhite: reading your answer more carefully, you made some good points, thanks. – Paulo Scardine Nov 6 '13 at 1:42

You must log in to answer this question.

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