X's open-source algorithm, explained
Every post on X gets a score. Here's the math.
A model guesses what you'll do with each post. X weighs every guess and adds them up. Here's that scorer, built as a mixing desk.
Scroll, or press Play
One channel for each thing you might do
Like, reply, repost, share… and four you'd rather not: block, not interested, mute, report.
The fader is a prediction
X's AI model guesses how likely you are to reply to this post.
3% chance of a reply
The knob is how much X cares
Each action has a fixed weight. A reply: 5, or 20 if you follow each other.
reply ×5 → ×20
Multiply the two
Chance × weight is what this channel adds to the score.
3% × 20 = +0.60
Likes barely count
A like weighs just 0.5, so it adds 0.03: a twentieth of that reply.
6% × 0.5 = +0.03
Four channels subtract
Huge weights, because they're rare. Even a 0.2% chance of “Not interested” costs 0.095.
0.2% × −47.52 = −0.095
- Block−31.2
- Not interested−47.52
- Mute−58.8
- Report−234
Add it all up
Every channel feeds one meter. This post from a mutual scores 0.58.
Score 0.58
Then the discounts
Another post from the same account: ×0.63, then ×0.44… Not following them: ×0.75.
0.58 × 0.63 = 0.36
Rage bait sinks
Predicted mutes and “Not interested” taps push its total below zero, so it's squeezed to almost nothing.
Score 0.0007
Useful posts travel
People share this link, and copy link weighs 20. Even at ×0.75 it scores 0.14.
Score 0.14
Your feed: highest scores first
Replies and shares lift a post. Mutes and reports sink it. Drag a fader to try your own.
Weights: home-mixer/params/param.rs in X's open-source code, synced 8 Oct 2026. Example chances are illustrative.
Follow @mehdi_made on Xmotionary.dev
Try it yourselfmahdidavoodi7.github.io/how-x-ranks-your-feed