X published the real rules of reach. The popular takes got them backwards.
xAI open-sourced the actual ranking numbers behind the For You feed. Most of the takes are wrong. Here is what the code really rewards.
Everyone wants to crack the X algorithm. Last week, xAI basically dropped the answer key. They pushed the actual ranking numbers into their open-source code. The version from May showed how the machine was built. This one showed the settings it runs on.
Then the screenshots started flying on our feed, and almost all of them got the big thing wrong.
Here is the one idea that fixes most of the bad takes. The algorithm does not count what people already did to your post. It predicts what one specific person is likely to do next. When it decides whether to put your post in front of someone, it is asking "will this person copy the link and send it to a friend," not "how many people copied it." Predicted, not counted. Hold that thought.
ShareViaCopyLinkWeight, line 355. Twenty times the weight of a like, and forty times if you're comparing to FavoriteWeight. This is the number the screenshots got right. Source:Github
So what does it actually reward?
The strongest positive signal by far is someone copying your link to share it privately. It sits way above everything else. Replies, quotes, and shares straight to DMs come next. A like barely counts. A profile visit is worth exactly nothing to that post's reach.
But here is the twist most people miss, and it is sitting in a comment right above the weights in the source file. Those numbers reflect two things at once: how much X values the action, and how often it actually happens. Copy link scores high partly because almost nobody does it. Rare things tell the model more. So no, a forward does not pay out like forty likes.
Now the part that should actually change how you post.
The negatives dwarf everything else. One report, one mute, one "not interested" outweighs a big pile of likes. Avoiding those is a bigger lever than chasing any of the positives. Play defense first.
Reaching people who do not follow you is easier than the folklore says. Posts from strangers only get a small discount. They are not buried. Good content can still travel.
Posting a lot does not tank you the way people think, as long as you do not do it in a burst. The repeat-post penalty only kicks in when two of your posts land in the same batch, minutes apart. Space them out and both are fine.
And short video gets shortchanged. Clips under ten seconds do not earn the video signal at all. If you are cutting six-second hooks, you are leaving that on the table.
One thing matters more than any single number. Before your post is even scored for non-followers, it has to clear a filter, spam, abuse, anything flagged as do-not-amplify. Fail that and none of this applies, because your post never enters the race.
So what do you do with all this?
Make posts people forward. That is the whole game. You can beg for a like. You cannot beg for a copy-and-send. Someone only does that when your post stands on its own and they know exactly who needs to see it. If a reader has to click through to figure out whether it is relevant to a friend, they will not bother. Write the thing so it is complete on its face.
Then stay off people's nerves. The fastest way to lose reach is not failing to go viral. It is getting muted.
One honesty note. These numbers come straight from X's public code, but they get updated, so they will drift over time. Trust the source, not a screenshot. Including this one.
The full numbers
Straight from xAI's open-source repo (xai-org/x-algorithm), for anyone who wants the receipts. They re-sync these, so they drift over time. Check the file, not a screenshot.
Positive weights
| Action | Weight |
|---|---|
| Share via copy link | 20.0 |
| Reply | 5.0 |
| Quote | 5.0 |
| Share via DM | 5.0 |
| Follow author | 4.0 |
| Share (native) | 2.0 |
| Repost | 1.0 |
| Like | 0.5 |
| Click | 0.4 |
| Open link | 0.2 |
| Photo expand | 0.05 |
| Video open | 0.05 |
| Video quality view | 0.05 |
| Quoted click | 0.05 |
| Dwell time | 0.004 |
| Profile click | 0.0 |
Negative weights
| Action | Weight |
|---|---|
| Report | -234.0 |
| Mute author | -58.8 |
| Not interested | -43.2 |
| Block author | -31.2 |
Multipliers
| Parameter | Value |
|---|---|
| Reply from a mutual follow | +15 (reply becomes 20) |
| Out-of-network factor | 0.75 |
| Topic out-of-network factor | 0.5 |
| Author diversity decay | 0.5 (per ranking slate) |
| Author diversity floor | 0.25 |
| Cold-start impression threshold | 1,000 |
| Minimum video length for quality view | 10 seconds |
Written by Foreground Digital. Start a project →