The direct answer
Engagement rate is the share of people who interacted with a post (liked, commented, shared, saved, clicked) out of some base number of people. Which base number depends on which version you are looking at.
Two different formulas, and they mean different things
Engagement rate by followers divides total engagements by your follower count. It takes one division to calculate and stays comparable across your own posts over time, but it penalizes accounts with a large, inactive follower base. A follower is not the same as a viewer.
Engagement rate by reach or impressions divides total engagements by how many people saw the post. It is a more honest measure of whether the post itself worked, since it only counts people who had a chance to react to it. Most platform-native analytics report this version, or something close to it, when they show a per-post number.
- Engagement rate (by followers) = total engagements ÷ follower count × 100
- Engagement rate (by reach) = total engagements ÷ reach × 100
There is no single number that counts as "good"
Engagement rate varies enormously by platform, format, audience size, and industry. A number that would be strong for a large account is often weak for a small, tight-knit one, and the reverse happens just as often. Any universal benchmark you see quoted online is an average across accounts nothing like yours.
The more useful comparison is a post against your own account's recent average, not your account against a stranger's benchmark. A post that clearly beats or clearly misses your own baseline is telling you something real; a post that's a fraction of a point off an internet-wide average usually isn't.
What it does not tell you
Engagement rate counts reactions, not outcomes. A post can have a strong engagement rate and drive zero business results, and a post with a modest engagement rate can bring in the one comment that turns into a customer. Treat it as one signal about whether content resonated, not a scoreboard for whether it worked.