The Best Time to Post on Reddit

Whether you’re a social media manager for a big company or a (link karma hungry) regular Redditor, the timing of your Reddit posts is incredibly important. A badly timed submission will flop; a well timed one can go viral. But our intuition about when the best time to post can be faulty, so I coded a solution using Google’s BigQuery and the statistical scripting language R.

Heatmap of optimal posting time generated for /r/dataisbeautiful
  1. what metric to use to quantify a “best time to post” and
  2. which type of plot to use to visualize my results.

To Separate or Not to Separate

This is by no means the first attempt to quantify the best time to post on Reddit. In researching this idea, one of the first solutions I stumbled across was this image. I almost moved on to another idea, thinking that this problem had already been solved. But then I realized that whoever made this graphic made a key mistake: they did not separate the data by subreddit. I had a hunch that the optimal time to post could differ significantly (even between the biggest subreddits) according to the demographics of the subreddit community. It seemed ridiculous to expect (given such factors as differing time zones and waking habits) that the best time to post would be uniform (or even similar) between subreddits, but just to be sure I tested it out. And I was right, as these graphs indicate:

A comparison of optimal posting times for Reddit as a whole versus three different major subreddits. Although some subreddits have similar distributions to Reddit as a whole, many do not

What is the “Best Time to Post”?

Probably the most important step in answering a question is understanding what the question is. “What is the best time to post on Reddit?” may seem like a simple enough question to understand, but it actually has a lot of nuance to it. Take, for example, the image I linked to above. The author uses a score of 3,000 as an arbitrary standard, and counts every post that receives a score above 3k equally. These two impacts are incredibly problematic. If I made a post and it got a score of 2,999 I would be incredibly excited, only marginally less so than if I had gotten a score of 3,000. But the metric that the author uses gives equal weight to a score of 2,999 and a score of 0, plus an equal weight to a score of 3,000 and a score for 10,000.

Randall Munroe — https://xkcd.com/1138/
A side-by-side comparison of the /r/xkcd heat map for optimal posting time. On the left is the normalized data, on the right is the data which hasn’t been normalized. As we can see, the discrepancy is not insignificant

Bar Chart, Histogram, Line Graph, Oh My

One of the other “What is the best time to post on Reddit” solutions that I stumbled across is from Adam Bard at Reddit Later. Now, I have to give this guys props: the webapp has a simple UI, clean design, he made the right choice to segregate the data by subreddit, and didn’t do the same “only count posts over 3,000” silliness as the solution mentioned above. They fail to normalize their data (but so did everybody else), and only analyze at most 500 posts per query, but overall it seems like a pretty reasonable answer to our question. Except for one crucial thing: their choice of chart.

“Best Time to Post” for /r/news — http://www.redditlater.com/analysis/#/r/news

What’s the best time to post this article?

At the end of the day, the code (and the comments I inserted in it) should speak for itself. If you have a couple of minutes on your hands and want to find out more about when to post on your favourite subreddit, I definitely recommend setting up a BigQuery project (it takes under a minute), booting up R, and running the script below.

Also availble at https://github.com/dleybz/BestTimeToPostOnReddit

Data Specialist, Reading Enthusiast, Amateur Adventurer

Data Specialist, Reading Enthusiast, Amateur Adventurer