8

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?

[update]

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

[update]

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

12
  • 6
    imgs.xkcd.com/comics/heatmap.png
    – animuson StaffMod
    Nov 6, 2013 at 0:40
  • 4
    It must be raining & cold somewhere in the world. Nov 6, 2013 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. Nov 6, 2013 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, 2013 at 1:05
  • @SimonAndréForsberg: I'm already feeling warmer, thanks. :-) Nov 6, 2013 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, 2013 at 1:19
  • 4
    -1 IT IS COLD AND I AM GRUMPY
    – Pekka
    Nov 6, 2013 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, 2013 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, 2013 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. Nov 6, 2013 at 1:53
  • @DavidRobinson: such subtle traps when English is not your primary idiom! thanks for the hint. Nov 6, 2013 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, 2013 at 2:21

3 Answers 3

14

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:

library(ggplot2)
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:

library(data.table)
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!

11
  • What a nice answer! Nov 6, 2013 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). Nov 6, 2013 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) Nov 6, 2013 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, 2013 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 Nov 6, 2013 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? Nov 6, 2013 at 12:37
  • @SimonAndréForsberg: Why would that proportion (of 125+ users to 15-124 rep users) increase from 2012 to 2013? Nov 6, 2013 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) Nov 6, 2013 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. Nov 6, 2013 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!) Nov 6, 2013 at 13:48
4

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.

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

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.

5
  • 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? Nov 6, 2013 at 1:03
  • 5
    @PauloScardine Where in the world do Stack Overflow users say they are from?
    – animuson StaffMod
    Nov 6, 2013 at 1:05
  • @animuson: Excellent link for this question!
    – Ken White
    Nov 6, 2013 at 1:07
  • @animuson: this link alone is worth the downvotes, thanks. :-) Nov 6, 2013 at 1:09
  • @KenWhite: reading your answer more carefully, you made some good points, thanks. Nov 6, 2013 at 1:42

You must log in to answer this question.

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