divepool

How we calculate “Is Bluesky dying?”

The math behind isblueskydying.com.

Is Bluesky Dying is a small page that answers one question: are accounts going silent faster than people are following new ones? It works on the whole network (the global page) or on a single Bluesky handle (try /churn/divepool.social). What follows is how we compute the number.

What we measure

A ratio: new follows added ÷ follows that went silent, over the last two months. Above 1 means new follows are out-pacing silence. Below 1 means the feed is losing ground.

Two definitions used everywhere on this page:

Accounts with no posts in the last 4 months aren’t counted on either side. They were already silent before this window opened.

Per-user

The easy version. We look at the actual accounts you follow:

Ratio = new follows you added ÷ your follows that went silent. Done.

Global

Harder, because no specific handle is in the URL. So instead of measuring one feed, we estimate the average across the network. We randomly sample ~15,000 accounts that divepool has synced from the AT Protocol social graph (mostly Bluesky), then weight each one by its reach: an account counts for as many people as currently follow it.

Concretely:

The ratio is then new follows added ÷ followers of silent accounts. This tells us how many actual Bluesky users had a follow go silent versus how many added a fresh source, without needing to know who any individual user is.

Per-user counts your follows directly. Global counts follower relationships. Same question, different unit, same threshold.

Verdict thresholds

no follows went silent“Definitely not.”
ratio < 0.5“Yes.”
0.5 ≤ ratio < 0.8“A little.”
0.8 ≤ ratio < 1.2“It’s fine.”
1.2 ≤ ratio < 2.0“Not really.”
2.0 ≤ ratio ≤ 10“Not at all.”
ratio > 10“Definitely not.”

Try it

ratio

Break-even (per-user only)

If your ratio is below 1, how many more accounts do you need to follow to get back to even? You can’t just follow silent − new more, because some of those new follows will turn out to be inactive too. We adjust by your observed activity rate:

needed    = silent − new
breakEven = ceil(needed × total / active)

A bias we fixed on 2026-05-13

From late March until today, our global sample wasn’t actually random. We were always picking the oldest 5,000 accounts in each partition, ordered by an internal serial number we assign on first discovery. Old accounts have had longer to stop posting and they gathered bigger follower counts during the years before later cohorts arrived, so the silent side of the ratio was systematically over-counted. The verdict read “Yes.” for about seven weeks. With a proper random sample, it reads “It’s fine.”

Per-user was never affected. It uses your real follows, no sampling involved.

Edge cases

Caveats

Spot a problem? DMs are open: @divepool.social.

Is your feed dying?