Viewer count tells you how many browser tabs were open. That is a real number and it is worth something, but it counts the person who left a stream running while cooking dinner exactly the same as the person typing in all caps.
Messages per minute counts the second group only. That is why we build almost everything on it.
The arithmetic
MPM is chat messages divided by minutes of broadcast. No weighting, no smoothing.
There are two versions of it and mixing them up will mislead you:
- Overall MPM takes the whole stream, total messages over total duration. It is the honest summary number.
- Per-minute MPM counts each minute on its own. It is what a chat activity graph plots, and it is where the interesting parts live.
A stream can average 30 MPM and still hit 300 for ninety seconds when something happens. The average tells you the size of the room. The per-minute series tells you what happened in it.
What counts as fast
Here is the real distribution from our archive as of today, 549,680 messages across 102 streams. Small sample, and I would not build a business plan on it, but the shape is already clear.
| Channel | Average MPM | Peak minute |
|---|---|---|
| xqc | 276.9 | 888 |
| quin69 | 84.7 | 381 |
| elajjaz | 57.6 | 318 |
| shroud | 46.9 | 174 |
| xaryu | 33.9 | 289 |
| summit1g | 31.9 | 193 |
| grubby | 30.1 | 170 |
That top row is worth sitting with. 888 messages in one minute is 14.8 per second. Nobody read that chat. Nobody could. Past a few hundred MPM, chat stops working as conversation and turns into a crowd noise meter, which is a different thing and still useful, just not the thing most people picture.
At the other end, a channel averaging 2 to 5 MPM has a chat where every message gets read and answered. Whether that is worse depends entirely on what the streamer wants.
Chat speed depends on the game more than people expect
Same archive, grouped by category instead of channel:
| Category | MPM |
|---|---|
| Just Chatting | 85.3 |
| Palworld | 81.5 |
| WARDOGS | 73.9 |
| Tom Clancy's The Division 2 | 31.9 |
| Pokemon FireRed/LeafGreen | 28.0 |
| League of Legends | 14.7 |
| Mortal Shell II | 12.0 |
Just Chatting running fastest is not a surprise, since the format is a conversation and chat is half of it. The gap to a hard single-player game is the useful part. When someone concentrates, chat goes quiet, and that quiet is not disengagement. It is people watching.
Comparing your MPM against a channel playing something else tells you very little. Comparing it against your own MPM in the same category last month tells you a lot.
Why viewer count fails and MPM does not
Three things break viewer count as a measure of how a stream went.
It is smooth. Viewers arrive and leave over minutes, so the graph slides gently and hides the moment something happened. Chat reacts inside one minute.
It is lagging. People do not leave the instant they get bored, they drift off later, so a dip in viewers points at something that happened a while back. Chat responds while it is still on screen.
It is not yours. Twitch hands viewer counts to every tracking site, which is why TwitchTracker and SullyGnome exist and rank on tens of thousands of pages. Nobody publishes chat text, because Twitch does not give it away.
The one thing viewer count does better is measure reach. If you want to know how many people saw a sponsor segment, count viewers. If you want to know whether it landed, count chat.
Where MPM misleads you
I would rather list these than have you find them yourself.
- Chat speed does not scale linearly with audience. Double the viewers and you get well under double the messages, because the bigger the chat, the more people give up on being read.
- Slow mode caps it artificially. Large channels run slow mode routinely, which flattens exactly the peaks you want to see.
- Bots and command spam inflate it. We track known channel bots separately for this reason.
- Emote spam is one message per line. Ten lines of the same emote outrank a thoughtful paragraph, ten to one.
- One stream is not a trend. Half the channels in the table above have two streams recorded. Treat single-stream figures as anecdotes.
Turning peaks into moments
Once you have a per-minute series, finding the good parts is arithmetic rather than memory. We flag a minute when it beats all three of these at once: the stream's own average plus two standard deviations, twice the stream's average, and a floor of 10 messages. The floor exists so that a quiet channel going from 1 message to 4 does not register as an event.
That has flagged 737 moments across the archive so far. The median one runs 3 times the stream's normal pace, and the fastest hit 30 times.
The rule works per stream, not globally, which matters. A 60 MPM minute is a dead patch on xqc and the biggest thing that ever happened on a channel that averages 5. Comparing every minute against its own stream is the only way both readings come out right.
We then split those moments by what chat was actually doing: raid keywords, hype keywords, emote spam above 30 percent of the minute's messages, and everything else as a plain activity spike. The classification is crude and I would not defend it as science, but the ranking underneath it is solid, and the ranking is the part you use.
Reading it yourself
Every number in this post came from our public archive, not from a private dashboard.
Browse the statistics for the current figures, or open clip radar to see the flagged moments for a channel with the timestamps attached. If you want the metric for a channel we do not record yet, add it and MPM starts accumulating from the next stream.