Reddit.com: Design and Most Popular Subreddits

by Anton Tarasenko [email protected] http://antontarasenko.com

Reddit's selection of the items for the main menus substantially impacts the popularity of subreddits.

The data

In [1]:
%pylab inline
pylab.rcParams['figure.figsize'] = (12.0, 9.0)
pylab.rcParams.update({'font.size': 16})

import pandas as pd

df = pd.read_csv('top_100.csv')

df.head()
Populating the interactive namespace from numpy and matplotlib
Out[1]:
subreddit subscribers subscribers13 in_horiz_menu in_dropdown_menu
funny funny 8491543 3997640 True True
announcements announcements 8478507 3931064 False True
AskReddit AskReddit 8473368 3751470 True True
pics pics 8409451 3921652 True True
todayilearned todayilearned 8343499 3614904 True True

Variables:

  • subscribers: The number of subscribers on 2015-05-07
  • subscribers13: The number of subscribers in 2013
  • in_horiz_menu: Is the subreddit in the Reddit's horizontal menu?
  • in_dropdown_menu: Is the subreddit in the dropdown (main) menu?

What's wrong?

The numbers of subscribers for the top 53 subreddits steadly decline...

In [2]:
df['subscribers'][:54].plot(kind='line', title='Top 53 Subreddits by Subscribers')
Out[2]:
<matplotlib.axes.AxesSubplot at 0x106671470>

... as well as the numbers of subscribers after the 53-th subscriber

In [3]:
df['subscribers'][55:].plot(kind='line', title='Top 54-100 Subreddits by Subscribers')
Out[3]:
<matplotlib.axes.AxesSubplot at 0x106758be0>

But between the 54th and 55th subreddits you'll find a discontinuity:

In [4]:
df['subscribers'][50:60].plot(kind='bar', title='Subreddits from 50th to 60th')
Out[4]:
<matplotlib.axes.AxesSubplot at 0x1069af470>

This discontinuity is caused by Reddit's design choices:

In [5]:
df[:][50:60]
Out[5]:
subreddit subscribers subscribers13 in_horiz_menu in_dropdown_menu
creepy creepy 2828707 141134 True True
UpliftingNews UpliftingNews 2808352 42540 True True
WritingPrompts WritingPrompts 2709230 10547 True True
TwoXChromosomes TwoXChromosomes 2675974 142768 True True
atheism atheism 2087359 2118004 False False
woahdude woahdude 787241 328720 False False
trees trees 736871 475744 False False
leagueoflegends leagueoflegends 680038 305868 False False
4chan 4chan 634853 326503 False False
programming programming 611973 450788 False False

Not being in the menus implies a free-times fall in popularity, as we see from the difference between "TwoXChromosomes" and "woahdude". Subreddit "atheism", which is between them, was excluded from the menus after 2012 (snapshot).

Data Sources

The data is available on GitHub:

github.com_top.json
reddit.com_dropdown.txt
reddit.com_horizontal.txt
redditlist.com.txt

Sources: