Guides

How to calculate engagement rate, and which version to use

Published

Engagement rate is the share of people who did something with a post: liked, commented, shared or saved it. The idea is simple. The trouble is that there are three versions in common use, and they give very different numbers for the same post.

The three formulas

All three start with the same top line, engagements: the interactions you count. Most people add likes, comments, shares and saves. Some leave out likes because they take the least effort. Pick one definition and keep it.

Version Formula Best for
By reach engagements ÷ reach Comparing your own posts with each other
By followers engagements ÷ followers Comparing accounts, or what brands look at
By impressions engagements ÷ impressions Platforms that don’t report reach

Reach is the number of accounts that saw the post. Impressions count every view, including repeat views by the same person, so they’re always at least as high as reach. That’s why engagement rate by impressions comes out lowest.

A worked example

An Instagram carousel reached 4,200 accounts. It got 310 likes, 42 comments, 18 shares and 96 saves. The account has 9,500 followers.

  • Engagements: 310 + 42 + 18 + 96 = 466
  • By reach: 466 ÷ 4,200 = 11.1%
  • By followers: 466 ÷ 9,500 = 4.9%

Same post, two honest numbers that differ by more than double. Whenever you see an engagement rate, ask which version it is.

Which one should you use?

For your own planning, use engagement rate by reach. It answers the question you actually have: of the people who saw this, how many cared? It isn’t distorted by how many followers happened to be shown the post that day, and it works for posts that reach mostly non-followers, such as short videos.

Use by followers when you compare different accounts, for example when you pick creators for a campaign. Reach is private to each account, but follower counts are public, so it’s the only version you can calculate for someone else’s profile.

Working it out in a spreadsheet

Put one post per row: reach in column I, then likes, comments, shares and saves in columns J to M. Engagements in column N:

=IF(I5="","",N(J5)+N(K5)+N(L5)+N(M5))

N() turns an empty cell into zero, so a post with no saves recorded still adds up. Engagement rate in column O, formatted as a percentage:

=IF(OR(I5="",N(I5)=0),"",N5/I5)

The IF keeps the cell empty for posts that aren’t live yet, instead of showing a #DIV/0! error.

The averaging mistake

To report a month, most people average the engagement rates of all posts. That gives every post the same weight. A story seen by 300 people counts as much as a video seen by 30,000.

The better figure is total engagements divided by total reach for the month. With the platform in column D and the month in column C, for Instagram in October 2026:

=SUMIFS(N:N,D:D,"Instagram",C:C,"2026-10") / SUMIFS(I:I,D:D,"Instagram",C:C,"2026-10")

Here’s how much it changes things. Take two posts: one reached 500 people with 60 engagements (12%), the other reached 20,000 with 400 engagements (2%). The average of the two rates says 7%. Total engagements over total reach says 460 ÷ 20,500 = 2.2%, which is what your audience actually did.

What counts as a good engagement rate?

It depends on the platform, the size of the account and the version of the formula, so a single benchmark is rarely useful. Smaller accounts usually see higher rates than large ones. The most useful comparison is with yourself: track engagement rate by reach per platform and per format each month, and look for the formats that stay above your own average.