Instagram shadowban: how to know whether your account really lost reach
Most reach drops people measure don't exist: they are measurement error. Here is how to compare the numbers properly, and what to do if the drop is real.
Everyone who runs accounts has been through this: you look at the week's numbers, see that the latest reels did worse than the older ones, and conclude the account dropped. Sometimes it really did. Most of the time, what dropped was your measurement.
This post is about telling the two apart, because the difference decides whether you should change your operation or change nothing.
The error that makes every account look like it is dying
When we set out to measure reach drops automatically, the first version of the calculation was the obvious one: take the median views of the 5 most recent posts and compare it with the median of the 20 before. If the recent number is much lower, the account dropped.
We ran that on the real base and the result was absurd: every account showed up delivering between 6% and 37% of normal. Healthy accounts, growing accounts, accounts in different niches. All sinking at once.
It was not a collective shadowban. It was the calculation being wrong.
A recent post hasn't had time to accumulate views. A reel published yesterday will always look worse than one published a month ago, because the month-old one spent thirty days being distributed, showing up in search, being shared. Comparing the two is comparing a finished race with one that just started.
That is exactly the error you make when you open the app, look at the latest posts and feel the account dropped.
The fix: only compare mature posts
The rule that solves it is easy to say and almost nobody applies: on both sides of the comparison, ignore every post younger than 14 days.
With that filter, the same calculation started discriminating properly. Three accounts from the same base, on the same day:
| Account | Base | Delivery |
|---|---|---|
| Account A | 50 mature posts | 89% of normal |
| Account B | 85 mature posts | 88% of normal |
| Account C | 60 mature posts | 44% of normal |
Now the number says something. Two normal accounts and one with a real problem, instead of "everything sinking".
Why 14 days: that is when a typical reel's view curve has flattened enough for the total to be comparable. It is not a magic number, it is the point past which the comparison stops lying.
The other two rules that stop the number from lying
Use the median, never the mean. One old viral destroys the mean and makes the account look permanently collapsed. The median ignores the spike and answers the right question, which is "what is normal for this account".
Require a minimum base. With 20 posts the test gave 12% on one account and 59% on another, neither with any apparent problem. A small sample swings on its own. Below 25 mature posts, the honest answer is not a number: it is "not enough to say yet".
That last point is the most uncomfortable, because it means a new account simply cannot know whether it dropped. There is no drop measurement without history, and any tool giving you a diagnosis in the first week is making it up.
How to do it by hand
You don't need a tool to apply the method. You need patience:
- List your posts from the last few months with the date and total views.
- Discard every one younger than 14 days.
- If fewer than 25 remain, stop: there is nothing to conclude.
- Take the median of the 5 most recent that remain.
- Take the median of the 20 before those.
- Divide the first by the second.
Above 70% is normal. Between 40% and 70% deserves attention. Below 40% is a real drop.
Do it account by account. And it is precisely because doing this by hand across twenty profiles every week is unworkable that DevX Viral computes this signal on its own, with the three rules applied.
And if the drop is real?
Once the drop is confirmed with the method above, the likely causes, in order of frequency:
Identical content across several accounts. The most common in a scaled operation, and the easiest to fix. Publishing the same file to ten profiles hands Instagram a clear duplication signal. The way out is generating a variation per account: different crop, colour, speed and metadata.
Frequency that changed suddenly. Going from two posts a week to ten overnight is a signal of abnormal behaviour. A ramp beats a jump.
A real restriction on the account. Here there is a formal notice, inside the app, under Account → Account Status. If there is no notice there, it probably isn't a restriction.
Simply worse content. The cause nobody wants, and it accounts for more cases than the market admits. The test is direct: if one account dropped and the others in the same niche didn't, the problem is not the platform.
What not to do
Don't stop posting to "rest the account". There is no evidence that recovers reach, and the drop in frequency is itself a bad signal.
Don't delete old low-performing posts. They are not dragging anything down, and you lose the history you need precisely in order to measure.
And don't conclude from three days. That is how we nearly shipped an alert that would scream at every customer, every day — and an alert that always screams is one the customer learns to ignore within a week.
Christopher Saleiro
Fundador da DevX Viral
Opera conteúdo em escala no Instagram e construiu a DevX Viral para resolver, no próprio dia a dia, a dor de publicar e agendar em dezenas de contas.
Your whole operation fits in one dashboard.
Stop posting account by account. Start publishing at scale today.
Subscribe now