1. What data is used?
To ensure our metrics reflect current performance, Lefty calculates Engagement Rate using a rolling 90-day window.
Content: We analyze every non-story, non-co-authored feed post published in the last 90 calendar days.
Metrics: We use Likes, Comments, and (for videos) the latest View count.
Shares: Share counts are included only if the influencer has authenticated (opted-in) with Lefty, as this data is not public.
2. The Formulas: Video vs. Non-Video
We split content into two "buckets" because users interact with videos differently than static images.
A) Non-Video ER (Images & Carousels)
For standard posts, we use the industry-standard formula relative to audience size.
Formula:
(Average Likes + Average Comments) ÷ Follower Count
B) Video ER (Reels)
For video content, we calculate engagement relative to the actual number of people who saw the content (Views), rather than the total follower count.
Formula:
(Total Likes + Total Comments) ÷ Total Views
Why we use "Aggregated Average" for Videos:
Instead of averaging the percentages of individual videos, we sum the total engagements of all videos and divide by the sum of all views in the period.
This treats your video content as one large body of work.
It naturally weights the data so that a viral video with 1 million views carries more weight than a niche video with 1,000 views. This makes the metric robust against "outliers" (e.g., a video with 2 views and 1 like doesn't artificially spike your ER).
3. The Final Profile ER (Weighted Average)
To provide a single Engagement Rate for an Instagram profile, we combine the two buckets based on how often the influencer posts each type of content.
How to read this:
We take the ER for Images and multiply it by the number of Images posted.
We take the ER for Reels and multiply it by the number of Reels posted.
We add those together and divide by the total number of posts in the last 90 days.
Note: If a profile has no posts in the last 90 days, or if video views are hidden/unavailable, the Engagement Rate may appear as empty (N/A) until fresh data is collected.

