The Optimal Post is 7 Minutes

Understanding which Medium posts get the most attention

Mike Sall
Mike Sall
Dec 2, 2013 · 6 min read

We spend a lot of time at Medium thinking about how to keep readers engaged. So we wondered what post length captures the most attention on average. We dug into the data and found the answer: 7 minutes.

Here’s the average total time spent across all visitors of a post, plotted against post length:

Image for post
Each dot represents the average of all posts of a given length.

We’ll explain this chart and the steps we took to get here in more detail, but the overall pattern is clear:

7-minute posts capture the most total reading time on average.

Plotting views

As a starting point, we’ll look at a familiar metric: page views.

Image for post

In this chart, every dot is a post. The dots are partially transparent, so darker areas represent overlapping dots. The x-axis is post length (in minutes) and the y-axis is the total cumulative views of the post since it was published.

It’s worth noting we’re using a logarithmic y-axis, since popular posts see many times more traffic than less popular ones. Also, both axes are cropped, as they are in all the following charts; we’re excluding the 20+ minute posts and posts with 1M+ views because the cropped visualization is clearer.

Searching for patterns

It’s difficult to discern much of a pattern. If anything, we might conclude that 3-minute posts tend to have the most views:

Image for post
Line drawn by hand.

But that’s a tenuous observation at best. This is a good example of how easy it is to fool ourselves with charts. Frankly, there isn’t much we can read into this blobby cluster, and as we’ll see, we would end up drawing the wrong conclusion.

Plotting total time spent

Page views are interesting, but they aren’t the best metric. We care less about clicks and more about actual reading. Time spent is a better reflection of this, so we’ll plot that instead:

Image for post
Total time spent reading for each post, totaled across all users.

We see a similar blob leading to the same conclusion of about 3 minutes, but we start to get a sense of an upward trend:

Image for post

Plotting seconds per visitor

To tease out clearer patterns, we can dig into the subcomponents. The total time spent reading a post equals the total number of visitors to that post multiplied by the average time spent reading per visitor. We’ll look at these two components individually, beginning with the average seconds (spent reading) per visitor:

Image for post

Compared with the prior chart, we see a much clearer upward trend:

Image for post

However, it is still difficult to parse the true shape of the pattern for shorter posts. That’s because there are many posts clouding up the distribution. A quick histogram of post lengths shows why:

Image for post
Posts are grouped by second, so there are 60 vertical bars for each minute span.

Overall, 74% of posts are under 3 minutes long and 94% are under 6 minutes long. The large quantity of shorter posts makes it difficult to see through such a dense cluster of dots.

Bucketing seconds per visitor

To shape the data into a more readable form, we’ll bucket the posts and take averages. Specifically, we’ll group the posts by each 1-second bar in the histogram and calculate the average seconds-per-visitor:

Image for post
Each dot represents an average of all posts with the same length, rounded to one second.

We now see an explicit upward trend for shorter posts. Since we know from the prior chart that the trend continues to slope upward for longer posts, we’re more confident with the overall pattern:

Image for post
This trend line, and all following trend lines, are drawn by hand.

Calculating medians

When we examined the underlying data, we often noticed outlier visitors who spent exceptionally long amounts of time reading a post. We already remove the time from idle browser tabs, but there are still outliers totaling several hours (sometimes spanning multiple visits). They raise the average enough to cause overestimates.

So, a better measure in this case is the median, not average, of time spent per visitor:

Image for post

The general pattern is similar, but we see a dip for longer posts:

Image for post

Even with this dip, a larger percent of the longer posts tend to have high values. So while the median time spent decreases, longer posts are also more likely to be one of the hits that perform especially well.

Plotting visits per post

We’ll use the same bucketing method to plot the second component, total visitors per post:

Image for post

We see an even clearer trend that rises, peaks, and then falls again:

Image for post

It’s noteworthy that at the beginning of the trend, the longer posts tend to see more visitors. This suggests a possible correlation between length and quality—that, on average, the longer posts are higher quality, resulting in more sharing and, consequently, more traffic. It’s hard to guess why the trend starts declining again, but perhaps the longest posts tend to appeal to more to niche audiences.

Back to total time per post

With a better understanding of its components, we‘ll return to the original question of total time spent per post. We’ll plot the same data as before using the new bucketing method:

Image for post

Rather than a blob, we now see the familiar increasing, peaking, and then declining trend. And with a much better understanding of the underlying components, we can more confidently identify the overall pattern:

Image for post

And there we have it: the average total seconds rises for longer posts, peaks at 7 minutes, and then declines.

But beware!

This doesn’t mean we should all start forcing our posts to be 7 minutes! There is enormous variance. Great posts perform well regardless of length, and bad posts certainly don’t get better when you stretch them out.

What it does mean is that it’s worth writing however much you really need. Don’t feel constrained by presumed short attention spans. If you put in the effort, so will your audience. It’s just math.

Data Lab

Explorations with Medium data, from Medium’s Product…

Thanks to Tyler Neylon, Pete Davies, Nick Santos, and charlotte druckman

Mike Sall

Written by

Mike Sall

Head of Product Analytics at @Coinbase. Previously Head of Data Science at @Medium

Data Lab

Data Lab

Explorations with Medium data, from Medium’s Product Science team

Mike Sall

Written by

Mike Sall

Head of Product Analytics at @Coinbase. Previously Head of Data Science at @Medium

Data Lab

Data Lab

Explorations with Medium data, from Medium’s Product Science team

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store