Let’s say I wanted to create a module to display my blog’s “popular posts.” No harm in that, right? Wrong! The sheer act of creating a system to display popular posts creates a further gap between new content and content that was already deemed, popular. Sure, this many seem like common sense to many of you (I would hope), but many algorithms fail to address the gap that this type of functionality can create, which in turn, could negatively impact the ability for new and recurring users to enjoy your best recent work!
First of all, how do we define popularity? “Simple, we look at our analytics platform,” you might say. Wordpress has various plugins that measure how many people are viewing a blog post (I will refrain from ripping apart the algorithms behind these plugins for the moment). If you are using a Markdown-based blog platform (e.g., Jekyll, Grav), you will need to use something like Google Analytics to gather data on post popularity, but this is a very low-level approach to the problem.
Why? Because to actually understand how and why someone is reading your individual post gets very . . . well . . . nuanced. You almost need to be an ethnographer to tease out the reasons someone really decided to click on a link, and these reasons could include: they were bored, it seemed interesting, they like the work you do and wanted to learn more, they don’t like you and wanted to see if your post would reinforce their existing negative ideas about you—furthering the delicious loop of self-aggrandizing thinking occurring in their minds, or your headline was relevant (or clickbait), or they just so happened to be on Twitter and see your headline, or the media you used with your post was catchy—I could create a top 50 for these and similar reasons. If we’re being scientific (which you’d better be—being . . . ), then we would pause here to try and identify ways to understand first and foremost, why people were viewing our content.
Describing a blog post as popular is a self-fulfilling prophecy. You are telling your viewer that the tribe has decided that this post deserves to live, and maybe should even rise above other such posts, to sit atop a throne of sticks and leaves, watching the other (or newer) posts burn in ritual sacrifice. Nice, huh?
This is inherently wrong by design. If I launch a blog and write 20 posts before I have a real audience, some of those posts will become popular and some will not. In reality, it’s a gradation from zero views to the most views, but doesn’t actually say anything, per se.
The early days for any new blog consists of working to understand who you are writing for (your target demographic), and working to actually find them (marketing). Hopefully you can even convince them to read your work—and maybe even comment on it so you can create a discussion (community building). This can take a lot of time and effort, and even years. By that time, there is a large amount of noise in the analytics data, since it could take years to hone in on your target demographic, and the people viewing in the meantime may have seen your post on social media, or arrived via search query. Again, you can see this using Google Analytics, but understanding the repeatability aspect of post promotion is very tedious.
Once you know (or have a strong theory), as to why people are clicking your posts, you can then work to introduce them to new content which could be very meaningful to them. For me, I am now categorizing my content, using tags like, “Startups” or “Economics.” This can help people self-filter to find more content they like, with the comfort of branching out if they decide they generally enjoy what you have to say (or maybe continue to read because they can’t stand your perspective).
If I had a popular posts filter that only used page views to define popularity, it could be that many of my prescriptive posts like, “An Easy Way to Set up Grav for Local Development” might win out over posts that mean a lot more to me like, “Stoic Indifference and Its Place in Everyday Life.” When you have a large audience, this can mean you might start to lose people who don’t really care about the posts on your site that happen to be popular, but might have really resonated with your more self-reflective work.
It’s hard, don’t get me wrong. The way algorithms can account for this self-fulfilling prophecy problem is by using Categorical Suggestions, Random Selection, Date Cutoffs, and A/B Testing. Let’s look briefly at each:
- Categorical Suggestions: This means displaying some number of posts from the same category (or taxonomy) as the post the user is currently reading. This can really help further filter interesting content for users who only want to read posts that deal with certain subject matter.
- Random Selection: You can write a short snippet of code that will display a post at random, in the footer of the page. Random selection can be a really great way to help people find content they wouldn’t have known to search for, especially if your titles can be a bit pedantic, but the content of the post could be highly engaging and applicable.
- Date Cutoffs: Create relative ranges for post popularity—view the most popular or trending posts for this week, this month, or this year. These ranges can give new and interesting posts a fighting chance.
- A/B Testing: It can be very helpful to try posting the same content with different titles to see which title proves more effective (in terms of click-throughs) and may be more indicative of the post’s content—since authors are burdened with “knowing” what they wrote about, but can be blind to how people with zero knowledge of the post would have been enticed to read more.
Creating a definitive algorithm for post popularity can be challenging, but if you use some of the above techniques, you can get much further in regard to introducing readers to cool and worthwhile (as voted by the crowd) content that they may not stumble upon any other way. Make sure to control for your current demographic, so as not to lose great viewers who may have otherwise been interested.
Nick is the Founder & CEO of MetaSensor, a venture-backed internet of things startup located in Silicon Valley, and a Behavioural Product Designer at Duke's Center for Advanced Hindsight (with Dan Ariely et al.). | Read Full Bio »
The Top Three Ways to Improve Your …
Yesterday I had the privilege of attending a Cybersecurity Town Hall with Congressman Mike Honda, as well as members of the FBI and U.S. Secret Service. The …