The reddit world map

Written by: Randy Olson

Primary Source: Randal S. Olson

We can all agree that online social networks dominate most people’s day-to-day Internet lives. 90% of all U.S. adults aged 18-29 have a Facebook account, and a large portion of those people check their Facebook at least once a day.

What’s strange is that most people regard social networks as nothing more than a blob of status updates and links that occasionally has something interesting on it. These people rely on word of mouth or rudimentary search features to find interesting content on social networks, despite the fact that there’s often small communities focused on exactly what they want to talk about.

Last year, I set out to change all that. I wanted to connect people to these smaller communities.

The toughest part about online social networks is navigating them. With millions of users and hundreds of thousands of communities, how can we possibly hope to find the right community? That’s when I had the thought: We all use maps to navigate the real world. Why can’t we use maps to navigate online social networks?

Randall Munroe famously inked a high-level social network map back in 2007:

but his map wasn’t particularly useful for navigating individual networks.

Thus, I set out on an expedition to map out the untamed lands of my favorite social network — reddit.com — like a modern-day Lewis and Clark. Below are the results.

The reddit world map

After several months of web scraping, data tinkering, and fidgeting with layouts, I settled on a methodology for mapping reddit. I decided that I would project reddit onto a 2D plane where every subreddit is represented by a dot. A subreddit would connect to another subreddit if many users posted or commented in both of the subreddits, and the subreddit would be colored red if it connected to many subreddits or blue if it were connected to only a few. Finally, subreddits that connected to each other would be placed closer to each other on the 2D plane than subreddits that didn’t, which had the neat effect of creating “meta-communities” of subreddits.

Sadly, the research paper I wrote on the methodology wasn’t good enough for academic journals, but I’ve put a free copy up on arXiv in case anyone wants to apply or develop the method any further.

reddit-map-full

When I initially shared this map, people started charting out the meta-communities that I had inadvertently created. Here’s one of my favorite maps:

reddit-world-map

Sure enough, if you zoom around on the interactive version of the map, you’ll see these meta-communities of reddit pop up before your very eyes: video games, sports, technology, movies, music, and of course a huge porn peninsula. To better highlight these meta-communities, I decided to color the subreddits by their cluster.

Community structure

Unbelievably, those very same meta-communities popped out in the clustered version of the map.

reddit-map-full-clustered

We see the active gaming cluster:

reddit-map-gaming-cluster

The hub of reddit techies:

reddit-map-tech-cluster

The isolated My Little Pony island:

reddit-map-mlp-cluster

And of course the massive porn cluster:

reddit-map-porn-cluster

Again, I made this interactive version available online to explore and make use of.

All of this points to a major discovery: By Liking, commenting on, sharing, hashtagging, RTing, and voting on content in these social networks, we are creating a hidden structure that shows what we’re really interested in, and what we’re on the social network to talk about. These maps bring this hidden structure to light.

Where do we go from here?

Ultimately, I’d love to see this mapping methodology applied to social networks beyond reddit. Much like reddit and its subreddits, Twitter organizes itself around hashtags, Facebook organizes itself around Pages, and Pinterest organizes itself around Pins. The only thing stopping us from mapping these social networks out is the availability of their data.

Come, my fellow Lewis and Clarks. Let’s map out the untamed lands of social media.

The following two tabs change content below.
Randy Olson is a Computer Science graduate research assistant at Michigan State University in Dr. Chris Adami’s lab specializing in artificial intelligence, artificial life, and evolutionary computation. He runs a research blog where he writes about Python, scientific computing, evolution, and AI. Randy is an ardent advocate of open science and regularly travels the U.S. to teach researchers scientific computing skills at Software Carpentry workshops.