Calculating your average engagement rate is crucial for understanding how well your content resonates with your audience on platforms like Instagram, TikTok, LinkedIn, or Twitter. Unlike vanity metrics such as follower count, engagement rate measures active participation.
The Engagement Rate Formula
There are several ways to calculate engagement, but the most common standard for influencers and marketers is calculating engagement relative to followers (Engagement Rate by Followers) or relative to Reach (Engagement Rate by Reach). This calculator uses the standard Follower-based formula, averaged over a specific number of posts.
The Formula: ((Likes + Comments + Shares + Saves) ÷ Number of Posts) ÷ Total Followers × 100
Step-by-Step Calculation Guide
Sum your Interactions: Add up all likes, comments, shares, and saves for the posts you are analyzing.
Find the Average: Divide that total number of interactions by the number of posts included in the count. This gives you the "Average Interactions per Post."
Divide by Audience: Divide the average interactions by your total number of followers (or Reach, if you prefer that metric).
Convert to Percentage: Multiply the result by 100 to get your percentage.
What is a "Good" Engagement Rate?
Engagement rates vary significantly by platform and audience size. Generally, as your follower count grows, your engagement rate tends to drop statistically. Here are some industry benchmarks:
Less than 1%: Low engagement. Content may need optimization.
1% – 3.5%: Average/Good engagement. This is standard for most accounts.
3.5% – 6%: High engagement. Indicates a very loyal community.
Above 6%: Viral/Very High engagement. Often seen in micro-influencers.
Why Tracking This Metric Matters
Tracking your average engagement rate helps you identify which content formats perform best. If your engagement rate spikes when you post videos but drops for static images, you know where to focus your efforts. Furthermore, brands look at this metric before sponsorship deals to ensure your audience is real and active, rather than purchased bots.
function calculateEngagement() {
// 1. Get input values
var likes = parseFloat(document.getElementById('totalLikes').value) || 0;
var comments = parseFloat(document.getElementById('totalComments').value) || 0;
var shares = parseFloat(document.getElementById('totalShares').value) || 0;
var saves = parseFloat(document.getElementById('totalSaves').value) || 0;
var followers = parseFloat(document.getElementById('followerCount').value) || 0;
var posts = parseFloat(document.getElementById('postCount').value) || 1;
// 2. Validation
if (followers <= 0) {
alert("Please enter a valid number of followers (greater than 0).");
return;
}
if (posts <= 0) {
posts = 1; // Prevent division by zero, default to 1
}
// 3. Calculation Logic
var totalInteractions = likes + comments + shares + saves;
var avgInteractions = totalInteractions / posts;
// Rate = (Average Interactions / Followers) * 100
var engagementRate = (avgInteractions / followers) * 100;
// 4. Update UI
document.getElementById('resTotalInteractions').innerText = totalInteractions.toLocaleString();
document.getElementById('resAvgInteractions').innerText = avgInteractions.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 1});
document.getElementById('resEngagementRate').innerText = engagementRate.toFixed(2) + "%";
// Show results
document.getElementById('resultSection').style.display = 'block';
}