Analyzing Twitch chat during a Pokémon Marathon
We dove into Twitch chat during the Pokémon Marathon, and found key moments when viewers sing, cry, and laugh together. Sometimes, weirdly, all three happen at the same time.
Context and dataset
Twitch ran a marathon of all Pokémon episodes and movies. The first 13 episodes aired on August 27, from 10am to 4pm PST. While watching Pokémon, we noticed a lot of meming and spamming in chat, even by Twitch standards. So we decided to dive into it.
Our dataset has two tables. One consists of all 269k messages posted by viewers during these 6 hours. The messages are lowercased for convenience. The second table consists of emotes usage, it’s also indexed on message id, and has one row per emote use.
Twitch chat likes emotes: 61% of chat messages have at least one. Twitch chat also likes to spam emotes: a total of 359k emotes were used, i.e. chatters use on average 2 per message with an emote.
Gotta Catch ’Em All
Each of the 13 episodes opens and concludes with the Pokémon theme song, “Pokémon, gotta catch ’em all”. It is a catchy song written in common meter with classic anime lyrics. Its most frequent non-stopword token is “pokemon”, appearing in 14 out of the 45 lines of the theme song.
Throughout all 13 episodes, viewers sing along in chat to the theme song, during both the intro and outro. While the average 10-second window during the marathon sees 1.5% of chat messages with the token “pokemon”, this can reach up to 18% during the theme song.
The graph below shows a heartbeat-like pattern in the proportion of chat messages with the “pokemon” token. Since each episode is 22 minutes, and intermissions between episodes 4 minutes, this proportion spikes twice every 26 minutes.
Text memes: “never seen again” and “pity badge”
Throughout his adventures, protagonist Ash encounters various characters whom he leaves but promises to see again. Twitch chat, in disbelief, spams “never seen again”. This goodbye meme started modestly in episode 4, peaked at episode 8 at 17% of chat messages in a 10s window, and dwindled in the following episodes played that day.
However, another raw-text meme stayed strong after episode 7. When Ash challenges the three Cerulean Gym leaders, they tell him their Pokémon are exhausted and forfeit their Cascade badge to him without a fight. This prompted chat to spam “pity badge”. This meme peaked at 25% of chat messages during episode 13, when Ash showed his badges proudly.
Viewers love these text memes.
LDA topics
We’d like to explore trends involving both emotes and raw text throughout the day. Moreover, in Pokémon, the scenario moves quickly: one minute is slapstick running-around, with chat laughing, and the next tearful melodrama, with chat crying. LDA seems appropriate.
We first remove stop words (“the”, “is”, “are”, etc.), then treat each minute of chat as a document for LDA. LDA then treats each minute of chat as a mixture of topics, and outputs the top words for these topics. A topic is an assignment of a weight to each word, for example {‘pokemon’:0.9, ‘sourpls’:0.8, …}. All words appear in all topics, but the topic’s top words enable us humans to interpret it. We played around with the number of topics, and ended at 11, a local minimum. The resulting topics are displayed below.
Let’s deep dive into 2 of these topics: the sad topic, and the Team Rocket topic.
The sad topic
Topic 9 is about the sad moments in Pokémon. It loads heavily on tokens like “biblethump”, which is a tearful Twitch emote expressing commiseration, sometimes used sarcastically. It also loads heavily on words related to the Pokémon Charmander.
We believe that words related to Charmander are prominent in topic 9 because of episode 11, in which Ash meets Charmander, and a very sad and melodramatic story unfolds. Chat was ready to react. Here’s a close-up of episode 11’s BibleThump-ness.
While the episode is very melodramatic in the beginning, it quickly turns around, and chat spams PogChamp, an emote indicating amazement.
These flip-flopping emotions remind us of the 6 shapes of story arcs. In our case, Twitch chat lets us analyze these story arcs via the audience’s reactions.
The Team Rocket topic
The top words in Topic 10 come from the Team Rocket motto!!
Prepare for Trouble Make it double To protect the world from devastation To unite all people within our nation To denounce the evils of truth and love To extend our reach to the stars above Jessie James Team Rocket Blast off at the speed of light Surrender now or prepare to fight Meowth, that’s Right!
Starting with the Team Rocket’s first appearance in episode 2, and every time they appear thereafter, chat just spams the villains’ motto.
Wrapping up
This article dove into chat during the first day of the Pokémon marathon on Twitch. Pokémon brought viewers together in chat, via memes involving raw text, emotes, or both. LDA helped us discover that the most intense memes stem from silly plot elements, melodramatic moments, and catchy theme songs and mottos.
This article was co-written by Thomas Debeauvais, Sanjay Kairam, and Brendan Rocks.