September 3, 2026
It Scores the Reader
X published the ranking code. It does not say what everyone assumed it would say.
X publishes the code that ranks its feed. No other company its size does. The natural assumption was that it would finally settle how to write a post, and plenty of people went looking for exactly that. It is not in there. What is in there is stranger, and more useful.
The code is a price list. It sets what each thing a reader might do is worth. Copying your link is worth twenty. A reply is worth five, and twenty when it comes from someone you follow who follows you back, on an original post. A like is worth half a point. A mute is worth about negative fifty-nine, a report negative two hundred and thirty-four. Before anyone reads a ratio into that, X heads it off in the file itself: the negative numbers are large because those actions are rare, a report being over a thousand times less likely than a like. The weight is there so a rare event registers at all. Every price is multiplied by how likely one particular reader is to do that one particular thing.
The surprise is where the likelihood comes from. It comes from a model, and the model never sees your sentence. What it takes in is the reader: what they have engaged with, how recently, how often, alongside a short numeric fingerprint of your post rather than its words. It builds a picture of a person and asks how close this post sits to what that person already reaches for. X says it plainly in their own documentation. The model reads the viewer's recent engagement history and predicts how likely that viewer is to take each action.
So nothing can grade your writing against this algorithm. There is not even one number to grade against. A fresh score is produced every time the post is considered, for whoever is being served.
The code is decisive about something else, though, and that part is fully published. Before the model is consulted, a few plain structural choices decide which prices you can reach at all. A reply is removed for every reader who does not already follow you, and no setting in the code turns that off. Replies and reposts are not even written into the pool the feed draws from. A repost is removed the same way, and both the score and the authorship of a repost resolve to the post you reposted, not to you: your follower count is not even sent. A quote clears the gates a reply fails, but it inherits the fate of the post it quotes, and if that one is dropped, yours goes with it. With a thousand followers or fewer, exactly one post per feed load has its score raised to the sixteenth best in the pool, and that one post is shared by every account under the cap rather than granted to each. It goes to whichever eligible post already scores highest, it has to be an original with under a thousand Home-timeline impressions so far, and it has to not sit in the bottom fifteen percent of the batch. It is a floor, so a post above it gains nothing, and later steps can still cut what it lands at. Lock your account and a rule drops your posts for everybody who does not already follow you.
None of that is opinion. Those are branches in published source, and every one of them is settled before you write a word. Which is the actual finding. The decisions that move the most are the ones people make without thinking, in the two seconds before they start typing. Reply or post. Quote or repost. Link or no link. Then they spend an hour on the sentence.
One last thing, because it is the part nobody mentions. After everything is added up, a diversity pass compares your post against the higher-scoring posts already chosen. If yours sits too close to one of them it is dropped to zero. Not for being bad. For being near something better. That selection code is published in full. The embeddings it compares with are not, and neither are the trained weights of the model doing the predicting. The book is open almost the whole way down.