Engagement rate formulas compared: which one belongs in a client report
Engagement rate by impressions, reach or followers gives three different answers for the same post. What each formula measures, a worked example, and how to choose one for client reports.

“What is a good engagement rate?” is one of the most common questions in social media reporting, and it has no single answer, partly because there is no single engagement rate. The same post can have a rate of 2%, 4% or 6% depending on what you divide by and what you count as an engagement. None of those numbers is wrong. They answer different questions. This post explains the three common formulas, works through an example, and suggests how to choose one for client reports and stick with it.
The basic formula
Every version has the same shape:
Engagement rate = engagements ÷ base × 100
Two choices change the result: what you count as an engagement, and which base you divide by.
What counts as an engagement
The usual definition adds up the interactions a network reports for a post:
- Likes or reactions
- Comments
- Shares, reposts or retweets
- Saves or bookmarks
Clicks are a judgement call. Some reports include link clicks; many leave them out because networks report them inconsistently, and some do not report them at all for some post types. If traffic is the client’s goal, a separate click-through rate (clicks ÷ impressions) is usually clearer than mixing clicks into engagement.
Whatever you count, write it down in the report. “Engagements = reactions + comments + shares + saves” in a footnote prevents a lot of confusion when someone compares your numbers with a network’s own dashboard.
The three common bases
By impressions
Engagements ÷ impressions × 100
This answers: how engaging was the post to the people it was shown to? Because impressions count every time a post was displayed, including repeat views by the same person, the rate is usually the lowest of the three.
It is a good choice for comparing posts with each other, because it adjusts for how widely each post was distributed. A post that was shown to few people but engaged most of them stands out.
By reach
Engagements ÷ reach × 100
This answers: what share of the people who saw the post engaged with it? Reach counts unique accounts, so it is smaller than impressions and the rate is higher.
It is intuitive to explain to clients, but not every network reports reach for every post type, so a report built on reach can have gaps.
By followers
Engagements ÷ followers × 100
This answers: how engaged is the audience overall, relative to its size? It is useful for comparing accounts of different sizes, or the same account over a long period.
It is the least useful for judging a single post, because a post can be shown to many people who do not follow the account, and most followers never see most posts. Rates above 100% are possible with this base when a post travels far beyond the audience.
A worked example
A fictional garden centre, Bramble & Birch, publishes a carousel. The network reports:
| Number | Value |
|---|---|
| Reactions | 180 |
| Comments | 24 |
| Shares | 16 |
| Saves | 40 |
| Impressions | 6,500 |
| Reach | 4,300 |
| Followers | 5,200 |
Engagements are 180 + 24 + 16 + 40 = 260.
| Base | Calculation | Engagement rate |
|---|---|---|
| Impressions | 260 ÷ 6,500 × 100 | 4.00% |
| Reach | 260 ÷ 4,300 × 100 | 6.05% |
| Followers | 260 ÷ 5,200 × 100 | 5.00% |
Same post, three honest rates. If this month’s report uses reach and last month’s used impressions, the client will see an improvement that never happened. You can try your own numbers in our free engagement rate calculator, which shows all three bases side by side.
Which formula belongs in a client report
For most client reports, we suggest:
- Use impressions as the main base for post and period engagement rates. It is reported by most networks, it compares posts fairly, and it does not flatter posts that were shown repeatedly to the same people.
- Add follower-based rates only for account-level comparisons, for example when a client asks how their account compares with a competitor’s public numbers (where impressions are not available).
- Report clicks separately if traffic matters, alongside UTM-tagged visits from the client’s web analytics.
More important than the choice is consistency. Pick one formula, state it in the report, and keep it from month to month. If you change it, recalculate the previous period so the comparison stays fair.
Common mistakes
- Comparing rates with different bases. A follower-based rate from one tool and an impression-based rate from another cannot be compared.
- Averaging rates instead of totals. The average of ten post rates is not the period rate. For a period, add up engagements and impressions first, then divide. Report average per post separately if you need it.
- Ignoring post count. A month with four posts and a month with sixteen will have very different totals. Per-post averages explain more than totals when the rhythm changed.
- Treating benchmarks as targets. Published “average engagement rate” figures use different formulas, networks and samples. The client’s own trend is a better yardstick than someone else’s average.
- Reporting the rate without the reason. A number with one sentence of explanation (“lower because two posts were offers”) is worth more than a table of percentages.
Explaining the choice to a client
A short paragraph in the first report saves questions later:
“Engagement rate in this report is reactions, comments, shares and saves divided by impressions. It shows how engaging posts were to the people who saw them. Network dashboards may show a different rate because they divide by reach or followers; we use the same formula every month so changes are real.”
Doing this in PostRoost
PostRoost’s analytics calculate engagement rate as engagements (likes and reactions, comments, shares and saves) divided by impressions, so the rate stays consistent across clients and months. The post engagement report shows the average engagement rate with the change against the previous period of the same length, and a daily chart per account. Export CSV downloads the totals and every post for the date range, ready for our free monthly report template, which uses the same formula. Reports and CSV export are included from the Essentials plan; the Free plan shows the overview for the last 30 days.
For the wider question of which numbers to report at all, see our guide to measuring social media results.



