Why replies beat posts on X: what the open-source algorithm weights
X has published its ranking code twice. The 2023 release weighted a reply at 13.5 against 0.5 for a like, and a reply the author answered at 75. The 2026 code keeps the same shape. Here is what the numbers say and what a small account should do about it.
If you have 80 followers and you post a launch announcement, almost nobody sees it. If you write a useful reply under a post from someone with 80,000 followers, hundreds of people see it, and some of them click your profile. Every founder who has tried both knows this from experience. The unusual thing about X is that you can read the reason in the source code.
X has open-sourced its "For You" ranking twice: once in 2023 as twitter/the-algorithm, and again in 2026 as xai-org/x-algorithm, which the company now updates on GitHub. Both releases include the weights the ranker applies to different kinds of engagement. This article goes through what they say, what they do not say, and how a small account should post.
The 2023 weights
The 2023 release included the "heavy ranker", the model that scores candidate posts for the For You timeline. Its README listed the weights applied to each predicted engagement, as of April 2023:
| Predicted action | Weight |
|---|---|
| Like (favorite) | 0.5 |
| Retweet | 1.0 |
| Good click (open and stay) | 11.0 |
| Good profile click | 12.0 |
| Reply | 13.5 |
| Reply that the author then engages with | 75.0 |
| Negative feedback (not interested, etc.) | -74.0 |
| Report | -369.0 |
Source: the projects/home/recap README in twitter/the-algorithm-ml on GitHub. Read across the table: a reply was worth 27 likes, and a reply that the original author replied to or liked was worth 150 likes. This is where the widely quoted "replies are 27x a like" line comes from. It was true for that model, at that date.
The 2026 weights
The 2026 code is a different system. Ranking is done by a transformer model called Phoenix, and the weights live in a config file, home-mixer/params/param.rs, rather than in a README. The defaults in that file as of September 2026:
| Predicted action | Weight |
|---|---|
| Like (favorite) | 0.5 |
| Retweet | 1.0 |
| Share | 2.0 |
| Follow the author | 4.0 |
| Reply | 5.0 |
| Quote | 5.0 |
| Share via DM | 5.0 |
| Share via copy link | 20.0 |
| Reply, when the viewer and author follow each other | 5.0 + 15.0 boost |
| Block the author | -31.2 |
| Not interested | -43.2 |
| Mute the author | -58.8 |
| Report | -234.0 |
The absolute numbers changed. The shape did not. A predicted reply is still worth ten likes. A predicted follow is worth eight. The single strongest positive signal is now someone copying the link to your post, which is what people do when they send it to a group chat. And the negative signals are still enormous compared to the positives, so a post that annoys people loses more than a post that pleases them gains.
What the weights do not mean
The 2026 file has a comment block above the weights that is worth quoting in spirit: the weights multiply the model's predicted probability that a given viewer takes the action, not raw counts. "One report cancels 468 likes" is the example the comment calls out as incorrect. A report is weighted heavily because reports are more than a thousand times rarer than likes, and the weight is what lets a rare prediction affect the score at all.
Two more things the code makes explicit:
- Replies from accounts the viewer does not follow are filtered out of For You. The filter is named
OONRetweetReplyFilter. Your reply under a big account's post does not get injected into strangers' timelines as its own item. It gets seen because people open the big post and read the conversation, and because the author and their followers, who may follow you, do see it. - Out-of-network posts are discounted. A post from someone the viewer does not follow is multiplied by a factor below one (0.75 in the current defaults) before it competes with posts from accounts they follow.
So the honest version of "replies beat posts" is this: the ranker rewards posts that people reply to far more than posts people like, and the conversation under a post with reach is the only place a small account gets read by strangers at all. Both point the same way.
What to do with this
1. Spend most of your X time in other people's threads
Pick ten to twenty accounts your customers follow: not celebrities, but people in your niche with real conversations under their posts. Turn on notifications for them. When they post, reply within the first fifteen minutes with something that adds information: a number, a counter-example, a specific tool, a short story. Not "great post" and not your link. Early, substantive replies sit at the top of the conversation as it grows.
2. Write replies the author will answer
In the 2023 model, a reply the author engaged with was the highest-weighted action in the table. The 2026 code does not expose an equivalent parameter, but the author's engagement still puts your reply at the top of the conversation view, where everyone who opens the post reads it. The reliable way to get an author to answer: ask a specific question they know the answer to, or disagree politely with a reason. Flattery gets a like at best.
3. Make your own posts questions
A predicted reply is worth ten predicted likes. Posts that end with a real question, that present a choice, or that state an opinion someone will want to correct, get replies. Announcements get likes. Reply to every reply you get, quickly; each answered reply keeps the thread alive in the ranker and the conversation view.
4. Be worth following
Follow-the-author is weighted 4.0, eight times a like, and the profile is where a reply turns into a user. Your bio should say what you build and for whom in one line, your pinned post should be a demo, and your recent posts should make sense to someone arriving from a reply. A profile with a clear pinned post converts reply readers; a profile full of retweets does not.
5. Do not fish for the negatives
Not interested, mute and block are weighted between 60 and 120 times a like. Tagging people who did not ask, replying with a link and nothing else, and posting the same reply under twenty posts generate exactly those signals, and they attach to your account, not only the post. The code also says directly navigating to a post has no ranking effect, so link drops in group chats do not help either.
6. Post replies yourself
Automated replies are the fastest way to collect mutes and reports, and X's spam enforcement runs separately from the ranker. AutoTraction, on a waitlist for a September 2026 launch, is built around this: it finds the threads and drafts the replies, and you paste them from your own account, at human pace.
How to check the current weights yourself
The 2026 repository is public at github.com/xai-org/x-algorithm. Open home-mixer/params/param.rs and search for _weight. X has said it will push updates roughly every four weeks, so the defaults above may have moved by the time you read this. The direction has held for three years: conversation outranks applause, and a small account gets its reach from the conversations it joins, not the posts it makes.