Demystifying the Instagram Algorithm

One of the themes that keeps coming up in the regular live Q&A sessions we host for Makelight Members is The Instagram Algorithm.

You'll find plenty of blog posts from people who are concerned or angry about how Instagram changed how they order posts on your timeline. And probably equally as many about how to get around the changes with tricks and tactics.

What we've found, talking to our members and to the folks who take our Beautify Your Instagram and Photography for Makers courses is that because there's not very much information about how the algorithm works that there's a lot of confusion about it all.

I'm Stef. Along with Emily Quinton I run Makelight. For the past year we've been building our Makelight Insights tool that helps you understand what your audience prefers you to post – which hashtags, colours and themes are most popular. And lots more. We now have a database of several million Instagram posts, a big map of the hashtags people are using, and I guess you could say I've spent a *lot* of time looking at the way Instagram works. Emily does the art part, and I do the science!

So, I hope in this post I can demystify the algorithm a little for you, and by the end you'll have a clearer idea of how it works and how you might adjust your behaviour.

What's an algorithm?

First up, an "algorithm" isn't as scary as it sounds! It's a term from mathematics that just means any kind of process or set of rules you should follow to calculate something, or to solve a problem.

When you're adding two numbers together, that's an algorithm. When you're applying for a loan and a computer is working out what interest rate you'll be charged based on your credit-worthiness, that's an algorithm too. They can be simple. They can be hugely complex. Often when we encounter them, we don't even notice because there are algorithms in all areas of life.

 

The Instagram Algorithm

Instagram has lots of algorithms too! When you sign in, type in your username and password, an algorithm is used to work out if what you've typed is correct and to let you view your photos.

The algorithm that we'll look at is the one that decides, when you open the Instagram app, which image you see first, and then if you scroll down, which one you should see next.

Before the big change, it was quite easy for us to understand what we'd see when we opened Instagram. Back then we could think of it as a feed made up of all of the images that the people we were following had posted, in reverse order of time posted.

So opening the app, the first image you'd see would be the one that had been posted most recently by anyone you are following.

And then scrolling down, the next one should be the one that was posted a short while ago, and so on.

A simple to understand algorithm, but that's still an algorithm. It didn't show random people's images. It didn't show them in groups of ten with a "next" button. It didn't show them so that they in any way related as "replies" to anyone. It was a staight-forward list, and as we scrolled down it would load more images, forever, or until we reached the first image posted by our friends.

Even something as simple sounding as that is immensely complex when millions of people are using it. I won't get into that, but what I just described is hard - the fact that Instagram made it look easy is why they're such a valuable company!

The problem

So, as Instagram got big, brands started getting interested. People started playing the system to get more attention. What started as "See the World through your friends' eyes" started turning into a very different kind of place for lots of users.

It was distorting away from the original intention, so the Instagram team decided to change the algorithm that the feed was based on.

Remember, the feed had an algorithm already, but Instagram wanted to come up with a different one.

Rather than jumping to that, let's take a look at a few options for what they could have looked at (these are a bit naive, but bear with me!)

 

Ordering by popularity

Let's imagine that we wanted the feed to only show us the most popular images from the people we're following.

You open the app, and there on the screen should be the most popular image. Then when you scroll, it should show you the next most popular and then on we go.

That would probably mean that you'd see some great images, ranked by the total number of likes.

Great! Oh wait. Because you'd see that image and think "this is great", and press "like", and everyone else would do the same, the image at the top would almost be guaranteed to stay there, and you'd probably stop coming back to Instagram.

 

Ordering by popularity *today*

Okay, so we could get around the problem of things sticking to the top by giving every post a "time limit".

Now we're talking. I'd open the app, and then at the top should be the image that's had the most likes within the last 24 hours. After that it should disappear from the feed and new images should appear.

That sounds good in principle. It's how some prominent sites, like Producthunt or news websites work.

The algorithm here is "show me the list of images ordered by the total number of likes but only if they've been posted within 24 hours".

The trouble here, is you still get that same "clumping" effect. Once one image starts taking off, it starts "floating to the top" and will likely stay there.

The reason is that the mobile phone screen is so small. You can only see one image at a time, and people tend to not want to scroll too much. Essentially whatever is at the top is more likely to get likes than ones lower down after scrolling.

Many people would very quickly start seeing the same image and then, whoosh... it would get tons of likes, with the other images not getting very many. It would distort Instagram and turn it into a popularity contest. Remember that "see the World through the eyes of your friends" idea? That doesn't sound very friendly to me.

 

Ordering by whether my friends like it

We could try something else then! How about we show only images posted today, but we rank the images based on the total number of likes given to an image from people we follow.

I'm a programmer, so I have to say, this one fills me with fear for how you'd do that with millions of users. But let's assume that's possible. What happens?

I think we'd start getting somewhere - we'd be using our friends' interests to inform ours, and, oh wait. Doesn't that end up with everyone in a friendship group seeing the same stuff?

The problem with this idea is that it could quite easily remove anything non-popular, niche or esoteric from your feed. So anything that you like, but your friends think you're weird for liking, would stop appearing in your feed. Hmm... that doesn't sound like much fun.

 

Putting it all together

So I've shown you a few different potential algorithms here, all of which have unacceptable problems. Here's one that's tried-and-tested and might help you understand a little more how Instagram works (at least, at a basic level).

We're going to take two factors and use that to come up with a "score" for which images we should see.

Our simple algorithm is:

Show a list of images ordered by how recent each one is, multiplied by the rate that people are liking it at the moment

We'll give a very recent image a score of 100 and one that is older than 48 hours a score of 1, for argument's sake. And then we'll calculate "likes per hour" for each image. Then we'll multiply those numbers together and rank the images highest to lowest.

What happens? Well, things start looking a bit more like how the Instagram feed works. We're trying to make it so that new, interesting stuff appears at the top. "Interesting" because things that have been posted very recently and have had a lot of likes in a short space of time will appear at the top.

When people stop liking an image - maybe because they've seen it already, or a particular group of people goes to bed, then the image starts dropping down the ranking. And gradually, even popular images start disappearing as they get older, allowing new not-so-popular images a chance to appear on your screen.

 

Sounds a bit better!

This is quite a common approach on sites that list lots of links (Pinterest, Reddit, Hacker News).

It's not perfect, and what I've explained here is the absolute bare-bones of how you might go about creating a simple algorithm to do this. You can use more complicated maths. If you're interested here's a good write-up.

It's also quite easy to "game". You can "get around the algorithm" by getting a bunch of people to all click the "like" button more or less simultaneously after you've posted your image.

The combination of your image being very new, and having lots of likes very rapidly, pushes it right to the top of the feed, and if it's any good, and people continue to press like outside of that group of first-likers, then it could stay there.

That's the principle behind "Instagram Pods" - getting a group of people to like and comment on images in order to push the group's images to more people.

We've talked a few time on our live Q&A sessions about how we don't think it's a great idea to get involved in pods. I'll be writing about it as a follow-up post to this, but basically - everyone's seen that before. It's a very old idea, and the way that sites handle it is that they quietly down-rank the contributions from users who take part in automated fake liking groups.

The sites still let you press the like button, but essentially your "likes" start counting as zero. Yikes! I'll talk about that a little more in my next post. Pop your email in if you're not part of our mailing list and I'll make sure I send it to you when it's written.

 

How it really works – signals

When anyone talks about "The Instagram Algorithm", it's an over-simplification. It's a helpful shorthand, but there is no single permanently-defined algorithm deciding what you see when you open your feed in the app.

Every day, Instagram programmers and designers are making subtle changes and running experiments to see what happens when they make small alterations to how the app works. What you see on your version of Instagram is likely subtly different to what I see.

The kinds of things that Instagram uses to decide the order of the images in your feed? I bet they're experimenting with it all the time - you just won't have noticed! Plus, to make sure that people aren't "gaming" the system, it's not in Instagram's best interests to tell us how it works, even.

There are so many different "signals" that could be in the mix for working out how to order a feed of images, and I've heard people talking about all of these being a factor:

  • How regularly you open the app
  • How regularly you post
  • How many likes an image has in total
  • What an image's recent like-rate is
  • How old the image is
  • Whether the post is a video
  • Whether an image is from a "business" account versus a personal one
  • How active the image poster has been today - how many comments and likes have they made?
  • How many of an image poster's images you've commented on or liked recently
  • How many hashtags the image has

Even… What the weather is today!

You could probably sit down with the Instagram team and very few would be able to tell you *exactly* which factors they take into account, and what the weighting of all of these factors are at the moment, because they're always in flux.

I regularly host a Live Q&A in the Makelight Community Facebook group where we talk about what we're doing and learning along the way about Instagram, so make sure you join us to hear what I've found out. 

If there's one sentence I'd say about how to make sure your images appear in your followers' feeds with the new Instagram algorithm, it would be to look for good hashtags to use, pay it forward by commenting on and liking other people's images at the time you post and paying attention to which of your images your audience most enjoys. Give them more of the good stuff!

Until next time…