bskycharts guide

Here are some notes on how to interpret the charts on bskycharts.

Reach out to me on Bluesky if you have any questions!

bluesky activity

The rate at which each record type is being created on the network.

bluesky operations (rate, 15m MA)

The total rate at which all records are being created on the network.

bluesky users (total)

The number of Bluesky accounts active in the past 1/7/30 days.

This works by updating a "last seen" timestamp each time an account generates some public network activity (creates a post, likes a post, follows somebody, etc). A SQL script then counts the number of accounts with a timestamp within the past 1, 7, or 30 days for DAU, WAU, and MAU (respectively).

Note: DMs are private so if an account only uses DMs they won't be counted.

bluesky users (rate, 15m MA)

This tracks the rate of change for DAU, WAU, and MAU on a per minute basis.

There is a gray line at 0 which is "breakeven" meaning the number is neither growing nor shrinking.

plc operations (rate, 15m MA)

You can think of this very roughly as "number of Bluesky signups per minute" but that comes with a bunch of caveats. Read below to learn more.

Nitty-gritty details of PLC

Identifiers in the "Atmosphere" (i.e., the ecosystem of applications and services built atop the AT Protocol, most notably Bluesky) comes in one of two flavors: did:plc or did:web.

As of September 2024, effectively all identifiers in the Atmosphere are did:plc so we'll focus on that. But it is totally possible to use Bluesky with a did:web identifier — they're just not counted here.

The PLC server at https://plc.directory manages all did:plc identifiers on the network.

For transparency and integrity purposes, every "operation" performed by this server is recorded and made publicly available. What is an operation? Creating a PLC identifier is an operation. Updating your handle is an operation. Making a change to your rotation keys or pointing to a new PDS is an operation. And so on.

What this chart tracks is the rate of those operations as performed by the PLC server.

Because Bluesky is the largest application in the Atmosphere and PLC is the dominant "flavor" of identifier, this chart is a decent proxy for Bluesky signups. But as other applications join the network and/or did:web grows in popularity that proxy relationship will begin to break down. Plus, the mixing of stuff like handle updates in with creation events adds a bit of noise to the whole thing on top of everything else.

In short, this chart works best as an answer to the question "how active is PLC?" which, as of September 2024, has a pretty strong proxy relationship to "how many people are signing up at Bluesky?" but that relationship may start breaking down in the coming years.

Misc

The "15m MA" in chart titles means "15 minute moving average." This smooths out the data so it is easier to understand.

If you see a lowercase "m" after a number that stands for "milli" and means the thing being measured is happening at a rate of less than 1 per second. To calculate the true rate, take the number and divide by 1000. For example 162.31m = 162.31/1000 = 0.16231 per second.

The "Last update" timestamp in the lower right is in Pacific Time Zone. That's UTC-08:00 between early November to mid-March and UTC-07:00 between mid-March to early November. Apologies to any international visitors!

The code that powers the Bluesky charts can be found here: https://github.com/edavis/bsky-tools/blob/master/bsky-activity.py

The code that powers the PLC chart can be found here: https://github.com/edavis/bsky-tools/blob/master/plc-activity.py


Created: 2024-09-01
Last Updated: 2024-09-01

← Back