How the fake follower checker works
Every threshold on this page is a percentile of a distribution we measured on 431,496 public Instagram accounts in Virev's crawl on 2026-10-02. Nothing is a weight someone picked.
The data
Accounts: public, 1,000+ followers, read by the crawl since July 2026, 431,496 in total. Posts: the 12 most recent timeline posts per account, pinned posts and posts with hidden like counts excluded, at least 6 required, read at least 3 days after posting so the counts had settled. Tiers: 1k to 10k, 10k to 50k, 50k to 100k, 100k to 500k, 500k to 1M, 1M+.
Follower snapshots: every crawl of an account writes one row with the follower count and the time. 375,540 accounts have two consecutive snapshots 1 to 30 days apart, which is the population for the growth check.
Not in the data: the follower list, comment text, audience country or age. Any check that would need those is not on this page.
The six checks and their thresholds
1. Engagement rate for the size
Mean of (likes + comments) / followers over the 12 posts, placed on the tier's 99-point percentile ladder. Flag below the tier p5, look below p25. Bought followers do not interact, so the rate drops relative to the size.
2. Comments per 100 likes
Mean comments divided by mean likes, times 100, against the tier's p10 and p25. Like packages raise likes and leave comments where they were. A low ratio for the size is the mark of bought likes; a passive but real audience can also sit low, which is why it is one check of six.
3. Follower jumps between crawls
The largest rise between two consecutive crawls 1 to 30 days apart. Across 375,540 accounts with such a pair, 3,726 (1.0%) rose 20% or more and 8,320 (2.2%) rose 10% or more; the 99th percentile of the largest rise is 19.8%. So a rise of 20% or more is a flag and 10% or more is marked for a look. Bought followers arrive in one delivery; a real viral week also shows here, which is why the date is printed so you can match it to the posts.
4. Likes evenness
Sample standard deviation of likes over the 12 posts, divided by the mean (the coefficient of variation). Needs at least 8 posts. Flag below the tier p1, look below p10. A real audience varies a lot from post to post (median CV 0.85 to 1.01 by tier); a like package delivers the same count every time, which lands under 0.3.
5. Engagement concentration
The top post's share of all likes and comments across the 12 posts. Needs all 12. Marked for a look above the tier p90, never a flag: a viral post is real engagement, but the mean rate then overstates the usual post, so look at the median instead.
6. Following to follower ratio
Following divided by followers, against the tier's p90 and p99. Flag above p99, look above p90. Accounts grown by follow-for-follow and unfollow cycles sit far above the norm for their size.
The per-tier table
Engagement rate p5 / p25 / median; comments per 100 likes p10 / p25 / median; likes CV p1 / p10 / median; top post share median / p90; following ratio median / p90 / p99.
| Followers | Accounts | Engagement rate | Comments / 100 likes | Likes CV | Top post share | Following ratio |
|---|---|---|---|---|---|---|
| 1k to 10k | 159,262 | 0.28% / 1.15% / 3.00% | 0.7 / 1.68 / 3.62 | 0.26 / 0.45 / 0.85 | 25% / 56% | 0.1699 / 0.9391 / 2.5607 |
| 10k to 50k | 126,791 | 0.13% / 0.59% / 1.69% | 0.62 / 1.34 / 2.86 | 0.27 / 0.49 / 0.96 | 28% / 61% | 0.0255 / 0.1744 / 0.5045 |
| 50k to 100k | 47,735 | 0.09% / 0.48% / 1.44% | 0.54 / 1.1 / 2.35 | 0.27 / 0.51 / 0.99 | 29% / 60% | 0.0075 / 0.0452 / 0.1174 |
| 100k to 500k | 63,461 | 0.09% / 0.43% / 1.21% | 0.51 / 0.99 / 2.06 | 0.28 / 0.52 / 1.01 | 29% / 59% | 0.0028 / 0.0171 / 0.0505 |
| 500k to 1M | 17,467 | 0.07% / 0.37% / 1.03% | 0.43 / 0.81 / 1.65 | 0.29 / 0.52 / 0.96 | 28% / 54% | 0.0008 / 0.004 / 0.0108 |
| 1M+ | 16,780 | 0.05% / 0.28% / 0.77% | 0.4 / 0.73 / 1.42 | 0.28 / 0.51 / 0.94 | 27% / 51% | 0.0003 / 0.0017 / 0.005 |
Virev crawl, measured 2026-10-02. Full benchmarks by tier, category and format, with charts
How the verdict line is built
The verdict counts the checks: any red flag gives "N red flags"; no flag but two or more items to look at gives "mixed signals"; otherwise "no red flags". A flag always means the extreme tail of the tier (the worst 1% to 10%, named per check above), so a clean account rarely picks one up by chance. There is no weighted score and no percent.
Fewer than 6 posts with visible counts marks the read low confidence. A check that cannot run (one snapshot, fewer than 8 or 12 posts, no following count) is shown as not checked, not as passed.
What this checker does not do
It does not read the follower list, so it cannot say that 23% of the followers are bots. Tools that print such a number sample a few thousand followers with a model they do not show; two of them give different numbers for the same account. This page reads the account's own public numbers over time and says where they sit among accounts of the same size.
A real but quiet audience (a brand page, a public figure who posts rarely) can fail the engagement checks without any bought followers. That is why the page prints the numbers and the dates, and why one flag is a question to ask, not a verdict.
Freshness
Each result shows the date the crawl last read the account. A result page is cached for six hours. Benchmarks are a fixed extract dated on this page and are rebuilt when the crawl grows.