A Data Scientist Explains What Makes A Viral Reddit Post
Randy Olson is a Computer Science graduate research assistant at Michigan State University. This post originally appeared on his blog.
Today I’m going to tackle the question that’s on all Redditor’s minds: How do I get a highly-upvoted post on Reddit?
I won’t bother covering the basics of making a successful post on Reddit because there are at least a dozen other articles out there that already cover that. Instead, I’m going to walk you through my analysis of over 850,000 top posts from the past year on Reddit from 4,200 of the most active subreddits.
I bolded the big takeaway messages if you’re not feeling like a long read. Give these tips a try for a week or two and report back how well they worked for you in the comments.
Disclaimer: I am only making statements about probability in this post. Following these guidelines will by no means 100% guarantee that you will get a top post. Rather, following these guidelines will maximize your chance of getting a top post.
When to post
It turns out one of the biggest factors affecting the success of your post is the day and time you submit it. In the top graph (below), the shaded area gives an indication of the number of upvotes I am confident a successful post will receive given that it is posted at a given day and time. Similarly, the bottom graph shows the total number of posts that will receive more than 100 upvotes given the day and time they are posted.
Here’s a handy time zone conversion chart so you can convert the UTC time to your local time: http://www.scc-ares-races.org/utcchart.html
Every day around 12 to 1 p.m. UTC (7 to 8 a.m. EST), there is a highly significant spike in both the number of successful posts and the total number of upvotes those successful posts receive. Undoubtedly, this trend is due to office workers in the U.S. coming into work and catching up on Reddit before they start their workday. The key to success here seems to be to (1) post early in the morning before the deluge of new posts comes in and (2) take advantage of your post’s head start and get upvoted out of the /r/new queue before everyone else. If you’ve posted around 12 to 1 p.m. UTC and your post escapes the /r/new queue, then your post is in prime position to be viewed and upvoted by the U.S. workforce coming in to work in the next few hours.
Interestingly, more posts are successful during the weekdays, but the successful posts on the weekends generally receive far more upvotes. What this means for you is that you stand more of a chance of having a successful post on Monday than you do on Saturday, but if your post is successful, it won’t receive as many upvotes on Monday than it would on Saturday.
Here’s what I find amusing in this graph: the number of successful posts peaks on Mondays and then gradually declines over the week, showing that Redditors likely spend more time on Reddit early on in the week when they’re suffering from a bad case of the Mondays. (And Tuesdays... and maybe even Wednesdays.)
What to post
Great, so now you know when to submit your post, but... what kind of content should you post? First off, let me get this one out of the way: Reddit is married toas an image hosting service.
If you’re submitting an image post, upload your image toand submit that link. Nearly 60% of the top posts from the past year were some form of image or GIF hosted on . With that out of the way, let’s move on to the next-most-popular content format.
If it’s not images that you’re looking at on the top posts page, then it’s most likely a YouTube video. Reddit is dominated by image and video content nowadays. In fact, if you look at just the data presented here, at least 2/3 of the top content on Reddit is an image or video. As such, if you have some sort of message you want to share with Reddit, you’re best off trying to communicate it through an image or video.
If it’s upvotes you’re after, then I have a different story for you. Whereaslinks are by far the most likely to rise to the top, successful /r/AskReddit self-text posts and meme posts are significantly more likely to receive more upvotes. It’s undeniable that Reddit loves sharing stories and jokes via /r/AskReddit, and the patrons of /r/AdviceAnimals freely hand out upvotes to any meme that makes them so much as chuckle. Keep this in mind if you’re more concerned about upvotes than getting your message out there.
The final thing I’ll note here is thatranks 1st in terms of likeliness to reach the top page, and 4th in terms of upvotes. If you’re following along, that means your best bet of reaching the top page and reaping sweet, abundant karma is to submit an link early in the morning on the weekend.
Where to post
Alright, so now you know what and when to submit your post to Reddit. Where should you post it?
Surprisingly, the default image subreddits don’t completely dominate the top posts. As this graph shows, the default image subreddits comprise only about 7-8% of the top-ranked posts from the past year. Let this be a heartening discovery: you don’t have to post in a default image subreddit to have a successful post on Reddit. The rest of the subreddits not listed here all accounted for only ~0.25% of Reddit’s top posts (each), so if you don’t pick one from this list, your chances of having a successful post are more or less the same (i.e., low).
However, again, if it’s karma you’re after, I have a very important addendum: the fraction of top posts that come from a subreddit is highly predictive of the number of upvotes your post will receive if it’s successful. Successful posts in /r/funny, /r/AdviceAnimals, and /r/pics by far receive the most upvotes on average. So keep that in mind: the higher you go on the “Fraction of top posts” chart (i.e., smaller fractions), the fewer upvotes your post will potentially receive. The good news is that smaller subreddits have fewer people posting to them, so even though you receive fewer upvotes, your post is far more likely to show up on the front page of anyone subscribed to that subreddit.
(For you stats nerds out there: I also fit this model with all 4,200 subreddits and the relationship is still significantly predictive, even if I remove the extreme outliers on the right of the graph.)
What title to use
Now for the last of the five W’s: Why? (If you didn’t catch it, the first W was “Who?” The answer to that one is you!) Why should someone bother clicking on your post, read it, and upvote it? That’s the purpose of your post’s title. Below is a word cloud of the most-used words in the top posts on Reddit. The larger the word is, the more often it was used.
I’m going to take 40 or so of the most-used words, break them down into categories, then give you some example titles that the words were used in. Please take these example titles as just that: examples. Use them as inspiration to create your own post titles.
“X-post” is the most-used word in the top posts from last year, and if you’re familiar with Reddit, this should not be a surprise. Cross-posting is huge on Reddit, especially when there are many subreddits with similar interests. Generally, cross-posted links do better because they’re already well-liked in another subreddit before they were cross-posted, and thus were vetted for the poster beforehand. A word of warning: be careful with cross-posting to excess. Reddit can get pissed off pretty quickly if you share a link too much.
Speaking of time...
Some mention of time is commonplace in top Reddit posts. These words seem to be used to make the post relevant to current or past events, and thus make for a more interesting post title.
So I saw this guy the other day...
Mentions of other, non-specific people seem to be extremely common among the top posts. Reddit apparently likes to gossip and share stories about other people.
Puppies and kitties everywhere
Reddit isn’t just all cat lovers any more: cats and dogs are mentioned equally in the top posts from the past year. It’s easy to relate to other people through likable animals like cats and dogs, especially when you’re sharing a cute picture of them.
Big surprise, Redditors like to talk about games. Video games, specifically.
Talk about what you're posting
As I mentioned before, images and videos are the primary content on Reddit. It turns out it helps if you talk about the image or video you’re posting.
Have a broader perspective
People come on Reddit to escape their daily life and learn something about the world. If you can fill that need for them, they will upvote you for it.
Emotions make people like your post more
If you’re really passionate about what you’re posting, let it shine through! Redditors love it when a post title shows emotion.
A diminutive preoccupation
Reddit loves to talk about little things. I guess it’s because little things are cute.
Talk about Reddit!
Reddit is big on self-referential jokes. If you can get in on those, you’re golden!
Location is key
If it’s relevant, mention a location related to your post. It helps give context to what Redditors are looking at. Amusingly, “work,” “school,” and “home” are the most-used words related to location.
That’s all, folks! Don’t wait for chance to favor you; make chance favor you.