EDITION 004

X Published Its Ranking Weights. Here's What They Actually Say.

On August 13 X put the For You ranking code on GitHub, weights included. A reply is weighted ten times a like, a copy-link share forty times, and a repost barely registers. What that does and doesn't tell you.

Filip Stefanovski5 min read
A scale of ranking weights: one dominant highlighted bar, a descending ladder of smaller ones, and a single large bar running the opposite direction.

Two weeks ago I wrote that nobody posting confidently about the X algorithm actually has access to it. That changed on August 13. X published the code behind the For You feed, including the numbers it uses to score posts. You can now read the thing people have been guessing about for years, which is a genuinely strange feeling.

What actually shipped

The release went up at xai-org/x-algorithm under Apache 2.0, and TechCrunch covered it the same day. It's the retrieval layer, the ranking model, and the filters. Posts get pulled in three ways: recent posts from accounts you follow, a vector model that matches you against posts by similarity, and clusters built from engagement patterns. Then a model called Phoenix scores them.

Phoenix doesn't count what already happened to a post. For every post it might show you, it predicts how likely you specifically are to reply, quote, copy the link, follow the author, mute them, report them. Each prediction gets multiplied by a published weight, and the results are added into one score. Those weights are the interesting part, and they live in a config file anyone can open.

A reply is weighted ten times a like

A like scores 0.5. A reply scores 5.0. That's ten to one, in a file, from the company that runs the ranking.

It gets more specific. When someone replies to a post from an account they mutually follow, there's an additional boost on the reply weight, published at 15. That takes a reply between mutuals to 20.0, which is forty times a like. Last edition I wrote about X's July change to surface more mutuals inside reply sections and said it didn't prove anything about replies mattering. Now there's a number attached to the same idea. That's not proof either, but it's a lot closer than a product announcement.

If you've read the replies edition, this is the part where the argument stops being a hunch.

Copy-link share sits at 20.0. Same as a mutual reply, and the joint highest positive signal in the file. Not a repost to an audience. Someone hitting copy on the link so they can drop it into a DM, a group chat, a Slack.

I find this the most useful number in the whole release, because it points at a completely different target than "engagement." Posts that get sent privately tend to be useful, funny in a specific way, or about a person the sender knows. They're rarely the ones written to perform. If you want one thing to aim at, aim at being worth forwarding to a single person rather than worth applauding by a crowd.

What barely counts

The bottom of the scale is where a lot of received wisdom quietly falls apart.

  • A repost scores 1.0, twice a like. Less than a quote at 5.0.
  • Clicking into a post scores 0.4, below a like.
  • Opening a link scores 0.2.
  • Expanding media scores 0.05, effectively nothing.
  • Bookmarks and profile clicks are recorded in your history but carry no ranking weight at all.

The bookmark one surprised me most. "Write bookmarkable posts" has been standard advice for two years. It may still be good advice for the humans reading, since a saved post is a real signal that something landed. It just isn't doing what people said it was doing to distribution.

The negative side is much steeper than the positive one

Report is published at -234. Mute at -58.8, not interested at -43.2, block at -31.2. Every negative weight dwarfs every positive one, which is a design choice worth sitting with: the system is far more responsive to people wanting less of you than to people wanting more.

One caveat that changes how you should read all of this. The repo is explicit that the weights scale predicted probabilities, not raw engagement counts. So a report isn't "worth" some fixed number of likes, and you can't do arithmetic across the two. I'll come back to this next week, because the arithmetic version is already spreading and it's wrong.

What to test this week

Three things I'd actually change, based on direction rather than decimal places.

  • Write at least one post that gives someone who already follows you a reason to reply, not a reason to nod. That's the single heaviest positive path in the file.
  • Before posting, ask whether anyone would send this to one specific person. If not, it probably isn't a copy-link post, whatever else it is.
  • Stop reading reposts as your success metric. They're near the bottom of the scale and they were never the thing you thought they were.

Also worth doing once: X shipped an "Under the Hood" page in settings alongside the code, currently a pilot for accounts over a year old with at least ten posts in the past month. It lets you download a JSON file showing whether any visibility labels landed on your account or posts in the last calendar month. Ten minutes, and it replaces a lot of anxious speculation with an actual answer.

Numbers don't change what makes someone stop scrolling

It would be easy to read a weights file and start optimising. I'd push back on that gently. Every one of these weights is a prediction about whether a human will do something, and the model is guessing at human behaviour. A reply is heavy because replies are hard to earn, not because replying is magic. You still have to write something a person wants to answer.

That's the part Aminta is built around, and it's why the reply tooling in it works from the post you're actually looking at rather than generating something generic and agreeable. A reply that could have been left under any post is not the kind a 20.0 weight is describing.

Next week: what people have been getting wrong about these numbers, and what the release still doesn't show you.

Meet Aminta, your X companion.

Write posts and replies in your own voice, directly inside X. Free to start.

See how it works

Filip Stefanovski

Building Aminta.