New to Sly Flourish? Start Here or subscribe to the newsletter.
by Mike on 24 April 2017
Before we begin, we have about a week left on our Fantastic Adventures Kickstarter. If you're a fan of the site and are looking for ten short adventures for your fifth edition RPG, please give it a look. Thanks!
So as not to waste your time, I'll start this article off with the most useful tip I have for watching the #dnd Twitter community. If you want to keep your thumb on the D&D community through Twitter, set up a persistent search for #dnd min_retweets:3. This will show you #dnd tagged tweets that have been retweeted at least three times. This cuts down on noise and serves up the most interesting D&D news curated by others.
Now on to the twitter #dnd analysis.
I am a huge fan of the #dnd community on Twitter. Though fraught with problems, Twitter has been a huge boon for this website and the many friendships I've formed while writing about D&D for the past nine years.
Two years ago, Enrique Bertran, the Newbie DM, made an off-hand remark that he no longer knew who to follow on Twitter when it came to D&D. During the early days of 4e, there was a strong circle of bloggers who wrote about this new (at the time) version of D&D but many of them had either switched topics or gone dark. Now, with the release of the 5th edition of Dungeons & Dragons, we had all new communities forming around this game, but how could we find them?
Being a bit of a data nerd, I wanted to find an answer to Enrique's question not subjectively, but algorithmically. What sort of software or system could I write that would answer his question? Thus began a deep odyssey in my analysis of the #dnd hash tag.
Over two years I collected 910,635 tweets and processed them to answer Enrique's question and a lot of others. Who tweets the most often? What does the overall trend of #dnd tweets look like? Who is the most popular tweeter by retweets? By processing all of these tweets I could answer all of these questions.
So, with just shy of a million tweets in hand, let's look at what the #dnd community looks like.
Any statistical analysis like this needs about a thousand disclaimers. This one will be no different.
The first disclaimer is that the #dnd hashtag on Twitter doesn't fully represent all of the discussions happening on Dungeons & Dragons on Twitter. It's just those flagged with #dnd. This will include a few tweets that use #dnd for something other than Dungeons & Dragons (there are a few but not many) and misses out on many Dungeons & Dragons discussions on Twitter that don't use the tag.
I also do some gross slashing and hacking of the data in order to get to some of the answers. Sometimes this slashing and hacking might cut away useful information. When we're looking at a large set of data like this, its easy to miss some of the nuances.
Lastly, I could just screw up. It's quite possible a bug in my analysis code came up with a wrong conclusion. I wouldn't start betting the future of your company on these results without verifying them and replicating the results. Due to Twitter's terms of service, I cannot pass around the raw data, but if you're interested in digging in, send an email to mike@mikeshea.net about it.
Now, with the disclaimers out of the way, let's start looking at some results.
Of the 910,635 total tweets containing the #dnd hashtag between 21 March 2015 and 27 March 2017, 470,932 (51.71%) were original tweets and 439,703 (48.29%) were retweets. Just about half of all the #dnd tweets were retweets.
For much of this analysis, we filtered out a bunch of tweets for various reasons to give us a deeper look into the most valuable tweets. The first account we filtered is the explosively popular @dungeonsdonald account which accounts for 29,369 retweets from 6 May 2016 to 27 March 2017. That accounted for 3.2% of the total tweets of the 910,635 tweets.
We also filtered out 17 #dnd bots which we'll discuss later. These bots accounted for 62,448 total tweets which is about 6.8% of total tweets. These bots often dominated the list of loudest #dnd twitter accounts and their twitter text patterns were easy to spot in our bi-gram graph, which we'll talk about later.
Lastly, we filtered out contest tweets which included any tweet with the following phrases: "Giving Away", "giveaway", "chance to win", or "enter to win". This removed 14,139 tweets or 1.5% of total tweets.
What remains is 792,196 tweets.
Looking at the number of tweets posted to #dnd month to month, we can see a steady overall increase over the past two years. The month to month median growth of #dnd was 7.4% or roughly 5% over the 2.5% median growth of Twitter overall. That seems small but it clearly compounds every month, revealing a solid growth for the use of the tag (and, perhaps, the game itself).
Here's a chart of the number of #dnd tagged tweets per day from March 2015 to March 2017.
Even more interesting is the number of #dnd tagged tweets per day.
Careful observers will note that it looks like two weeks are missing in early 2015. You'd be correct. The script I use to grab up these tweets failed for those two weeks and that data is missing. This actually changes up some of the results but not by much and I'm too lazy to calculate it.
You'll also those spikes on there. We'll get to those in a bit.
Based on the number of retweets, we can find the accounts whose tweets were retweeted the most. These tended to be the most popular #dnd tweeters overall. Keep in mind that we removed @DungeonsDonald from this list as we mentioned above.
Here are the top twenty most retweeted #dnd tweeters from 21 March 2015 to 27 March 2017.
field | count |
---|---|
Wizards_DnD | 23,153 |
EncounterRP | 12,311 |
Grand_DM | 8,494 |
DmLeviathan | 8,294 |
TheGodDamnDM | 7,910 |
SlyFlourish | 7,423 |
EvilSqueegee | 5,737 |
mstephenjoy | 5,697 |
JeremyECrawford | 5,344 |
thedungeoncast | 3,548 |
DMs_Block | 2,914 |
DMDicetress | 2,911 |
Askren | 2,588 |
XPWebSeries | 2,525 |
DDOPlayers | 2,514 |
DonaldTheDM | 2,261 |
JadeGamingNews | 2,132 |
Mentalburnout | 2,114 |
cawoodpublish | 2,082 |
HowReroll | 2,027 |
We can also get a list of the most popular tweets posted during this timeframe. Again, we removed @DungeonsDonald from this list. This list is abbreviated because it became hard to link to the original tweet and contained a few tweets that really weren't relevant.
Here are the top tweets from March 2015 to March 2017.
So who posts the most #dnd tweets overall? The following list shows the top 20 #dnd tweeters. These are people whose actual posts include the #dnd hashtag.
As I mentioned, noisy bots tended to show up in the list of top tweeters, so we removed them from this list.
Here's the list of top #dnd tweeters from March 2015 to March 2017.
Screen Name | Tweets |
---|---|
SageAdviceDnD | 6,597 |
Alphastream | 4,131 |
rpg_org | 3,628 |
SlyFlourish | 3,598 |
DmLeviathan | 3,390 |
Shenorai | 2,806 |
TheDragonLordDM | 2,612 |
JeremyECrawford | 2,448 |
cbsa82 | 2,401 |
beerwithdragons | 2,388 |
AkeishaRoberts | 2,195 |
Askren | 2,080 |
haelyn78 | 2,072 |
ddocentral | 1,871 |
schwarm | 1,865 |
genghisgalahad2 | 1,790 |
DaquineGameArmy | 1,739 |
XPWebSeries | 1,725 |
Mentalburnout | 1,667 |
GoingInBlindDnd | 1,597 |
EncounterRP | 1,570 |
Top twenty lists are all well and good but sometimes it's nice to dig a bit deeper. What does the entire #dnd twitter network look like when you graph those who retweeted someone to those who were retweeted? We can build a graph visualization of this network into a large single image.
The image below represents one line (known as an "edge") for every retweet that occurred between a retweeter and someone they retweeted. Every dot (known as a "node") is a twitter account. There are a total of 90,496 twitter accounts and 200,665 retweets in this graph.
Any node that received more than 200 retweets has its name displayed. The larger the name, the more retweets it received. The colors represent algorithmically generated "communities" that group together commonly associated tweets. The layout is also done automatically with a random force directed algorithm. This was all generated in R with the iGraph package. It isn't particularly practical but it is pretty.
You can also view a unlabeled version of this graph or one labeled by a minimum of 20 retweets instead of 500. You can't read the center in this one but you can see whose at the edges a bit more.
Using a list of the monsters in the 5th edition Monster Manual we can get a rough gauge for the popularity of monsters by their mentions on Twitter. This list was slightly edited for monsters that happen to have names used for things other than monsters. I also removed some NPC monster names because they are most often described as PCs (like "Druid"). This checked only original tweets, not retweets, which would have skewed the results for any popular retweet of "gelatinous cube" or something like that.
monster | count |
---|---|
Goblin | 1,917 |
Orc | 1,033 |
Vampire | 837 |
Cat | 823 |
Beholder | 799 |
Spider | 662 |
Zombie | 648 |
Wolf | 558 |
Kobold | 523 |
Troll | 482 |
Rat | 480 |
Ogre | 468 |
Lich | 459 |
Ghost | 448 |
Skeleton | 440 |
Mimic | 375 |
Werewolf | 306 |
Owlbear | 300 |
Bugbear | 297 |
Minotaur | 296 |
With basic pattern matching we can get a rough gauge of the popularity of various D&D campaign settings. These are highly skewed, of course, by how well our pattern matches a tweet and by the timing of the campaigns. Still, it's interesting:
Campaign | count |
---|---|
[Curse of Strahd](http://amzn.to/2ovdhSm) | 3,564 |
[Storm King's Thunder](http://amzn.to/2ovxveu) | 2,692 |
[Out of the Abyss](http://amzn.to/2pNihmo) | 1,934 |
[Princes of the Apocalypse](http://amzn.to/2pNAuAm) | 858 |
[Yawning Portal](http://amzn.to/2odKrd3) | 721 |
[Hoard of the Dragon Queen](http://amzn.to/2p195Lc) | 435 |
[Rise of Tiamat](http://amzn.to/2oSGOrR) | 302 |
We can also take a look at campaign trends over time, which tells a more detailed story.
Since we're sitting on three quarters of a million tweets, we can also do some interesting text analysis. What are people actually talking about?
We'll start with a general word list. We removed a bunch of "stop words" like "the", "an", and "#dnd" which every tweet already has. We're also focusing on the 439,703 unique tweets so words from highly retweeted tweets don't end up dominating the list.
Here's a list of the top fifty words in unique #dnd tweets.
Top 50 Words: game (22,228), new (20,423), just (17,223), now (16,799), one (16,100), im (16,041), player (15,586), like (14,864), get (14,761), time (14,613), character (13,519), dm (12,819), wa (12,516), day (12,457), can (12,442), d&d (12,381), tonight (12,019), campaign (11,889), play (11,076), dragon (10,548), will (10,405), session (10,033), good (9,761), night (9,751), check (9,553), live (9,436), dungeon (9,427), u (9,424), ha (9,403), today (9,301), party (9,162), make (8,908), want (8,839), first (8,767), adventure (8,620), love (8,477), great (8,440), episode (8,239), go (8,012), last (7,990), need (7,843), got (7,786), dont (7,737), come (7,653), week (7,588), playing (7,568), going (7,259), dice (7,239), thing (7,186), know (7,093)
Nothing particularly interesting there.
What other hashtags were people using in their tweets? This is pretty easy for us to figure out too.
Top 30 Hashtags (besides #dnd): #rpg (50,058, 12%), #dungeonsanddragons (28,315, 7%), #dnd5e (17,694, 4%), #tabletop (11,892, 3%), #pathfinder (9,820, 2%), #critters (6,454, 2%), #fantasy (5,982, 1%), #criticalrole (5,638, 1%), #podcast (5,425, 1%), #gaming (4,029, 1%), #5e (3,292, 1%), #dice (3,177, 1%), #d20 (3,003, 1%), #twitch (2,939, 1%), #art (2,574, 1%), #sageadvice (2,407, 1%), #roleplaying (2,194, 1%), #kickstarter (2,065, 0%), #games (1,868, 0%), #boardgames (1,780, 0%), #dm (1,719, 0%), #adnd (1,623, 0%), #dnd, (1,620, 0%), #ff (1,556, 0%), #geek (1,522, 0%), #ddo (1,511, 0%), #nerd (1,414, 0%), #gencon (1,375, 0%), #gamedev (1,359, 0%), #roleplay (1,336, 0%), #curseofstrahd (1,192, 0%)
By splitting every tweet into pairs of words (bi-grams), we can build a graph similar to the retweet graph above. This time we represent the relationships of words within tweets. This graph focuses on word pairs that appeared more than 200 times. Since it focuses on words, we chose to display fewer edges (less than 3000) and showed each of the words.
Beats those fancy "word clouds" all to hell, if you ask me.
Co-occurences show us every time two words appeared in the same tweet, wherever they are in that tweet. The list below shows you the top fifty co-occurences across all original tweets.
Top Fifty Co-Occurences: dungeons dragons (3,621), last night (1,955), join us (1,753), curse strahd (1,487), right now (1,429), cant wait (1,315), storm thunder (1,214), come watch (1,199), live now (1,192), new campaign (1,190), im going (1,178), thanks follow (1,161), first time (1,117), storm kings (1,093), fantasy coins (1,088), kings thunder (1,071), looks like (1,033), come us (1,030), now available (1,027), new episode (1,004), thanks players (928), follow players (888), get now (881), dont know (869), new available (855), last now (848), 5th edition (835), want play (791), last get (784), come join (776), new character (764), new now (751), dampd 5e (750), can get (744), just got (724), coins now (692), next week (684), game night (682), first game (674), dungeon master (672), looking forward (672), book now (666), last session (657), going live (655), new game (651), new players (647), first session (646), book get (645), last book (641), black now (641).
Like our word graph above, we can graph and visualize co-occurrences as well. Here are the top X co-occurrences.
For a fun project, I took all of the #dnd tweet texts and ran it through a library called Markovify which runs a series of processes on the text to generate likely combinations of word sets and generates its own tweets. In essence, it trains itself on all of the #dnd tweet texts and tries to build its own likely sentences. This leaves us with the ultimate #dnd twitter artificial intelligence. Let's have a look at a selection of twenty tweets it generated:
First steps in the eye and earholes!
Google + Hangouts Happening Now! @Joatmoniac has a chaotic good human sorcerer. Really worried she will need more popcorn… #dnd
Said Fox executives to the #DND #FF #nerds #rpg #bloodymary
Well, um, obviously no #KimmtStreams tonight - help a lot!
DM: you are your heroes ... #dnd
#DnD peeps - er, Cloudkill? Big difference.
About to enter the portal gate back after the argument about Canada, that is.
Wilderness random encounter table for this weekends @ExtraLife4Kids marathon a success.
@MobilescapeAdvs IF I ever actually see a story to play!
#DnD #DMTip If you like Dragons? Well #unMadeGaming has both his clan & my exercise is imaginary? #dnd #mentalpushups
Currently recording goblin sound effects to add heroes? #dnd #rpg…
Save vs Lawsuit: Publish #dnd Content
I love this cover! LOOK AT THE BABIES #dnd
What is the #DarkSun setting @Pixel_Dailies #pixel_dailies #pixelart @guthay…
#Pathfinder #DnD #DungeonsAndDragons
Prep complete! Now awaiting the PCs. Drawn by anthonymoreci #swrpg #dnd #gamemaster @…
Hey Power in my Top 14 items to add it as a Tabaxi. #VolosGuideToMonsters #Bramblepelt
in 20 minutes.
More of my first gift from the best 2. Rolled 2 crits. BOOM! 154 damage in #DnD? Ordinary heart attacks. I I miss #DND?
Koscheis playlist is currently biting a dragon's wing. #DnD #FTW
I'd read these tweets all day...
When looking at the past two years of tweets, there is one huge anomaly that we must account for when studying the rest of the data. I call it the @DungeonsDonald effect. This Dungeons & Dragons / Donald Trump parody twitter account became HUGELY popular, with 29,369 retweets (3.22% of total tweets) since it began in May 2016. This account's tweets skewed the whole resulting analysis if kept in so, for this analysis, we removed all of these tweets and retweets from our dataset.
We've all likely heard how robots are eating the job market and it looks like these insidious automated bastards are aiming for DMs as well. During this analysis, I found that 62,448 non-retweeted tweets (6.86%) came from bots that auto-generated content of some sort.
These bots tended to be noisy, posting a lot of tweets, and showed up in the top 20 list of top #dnd tweeters. Some of the ones that posted random effects tended to post sentence patterns that showed up clearly when building a graph (we'll talk more about graphs in a bit).
Here is a list of known Twitter bots by their tweet count:
user_screen_name | count |
---|---|
DnDSkillCheck | 8,117 |
ChargenBot | 7,685 |
SimonSezCRB | 6,153 |
randomdnd | 5,770 |
dndsavingthrow | 5,208 |
DnDTweets | 4,995 |
youfoundloot | 4,782 |
RpgExplorer | 4,688 |
dndblogs | 3,111 |
RandomMagicItem | 2,596 |
RollMeaPC | 2,304 |
DungeonRooms | 1,970 |
d20_simulator | 1,860 |
20sidedTweet | 1,615 |
20sidedplayer | 1,594 |
For the rest of this analysis, we eliminated tweets by known bots (including two that I run myself, dnd_blogs and dnd_tweets).
Beginning on 21 March 2015, I set up a Python Twitter streaming listener that began to capture any tweet tagged with the #dnd hashtag. This was stored in a large Mongo database in its raw JSON format. From this database, I could feed a variety of analytical tools by outputting various versions in CSV or using a system like ElasticSearch and Kibana to analyze the results. I hosted all of this on a server hosted on Amazon's cloud.
By March 2017 I had collected over 910,635 tweets in this database. I was able to load and process all of this data using Python Anaconda and R-Studio on my trusty Macbook Pro.
For the data processing I used mainly Pandas, the NLTK, and the iGraph package for R.
Subscribe to the weekly Sly Flourish newsletter and receive a free adventure generator PDF!