A reply on your original post, from a mutual follow
The reply weight is 5, plus a 15 boost for mutual follows on original posts: 20 in total. A 10% predicted chance of a reply adds 20 × 0.10.
20 × 0.10 = +2.00
X open-sourced the code that ranks the For You feed. We explored it and decoded the weights, penalties and enforcement rules. Now test them yourself: set a post's predicted actions, see the score, and simulate repeat posts and reports.
Created by @SidneyCur · Based on the repository at commit b412112 (2026-10-03)
A reply on your original post, from a mutual follow
The reply weight is 5, plus a 15 boost for mutual follows on original posts: 20 in total. A 10% predicted chance of a reply adds 20 × 0.10.
20 × 0.10 = +2.00
The ranker does not count likes. It predicts how likely each action is for each viewer, weights each prediction, and adds the results. The four steps below are the same ones the calculator runs.
The Phoenix model estimates the chance a viewer will reply, like, share, follow, mute, or report a post.
Each chance is multiplied by a fixed weight. Copy-link shares carry 20, a report carries −234.
The weighted values are added. Positive actions push the score up and negative ones pull it down.
An offset keeps scores non-negative. Out-of-network posts are scaled by 0.75, and each extra post from one author is scaled down.
Weights are not counts. A weight of 5 on replies means a 10% chance of a reply adds 0.5 points, not five.
Set the predicted chance of each action for one post. P, the chance, is a percentage from 0 to 100. The values are illustrative: start from a preset, then adjust. Results update as you type or drag.
Estimates only. The chances and results are illustrative inputs, not measurements from X. feedecoder cannot guarantee any score, reach or outcome for your posts.
| Action | Weight | Chance (%) | Slider | Points |
|---|
Two things the ranker does to your posts. First, it discounts repeat posts from one author. Second, one report can outweigh many good actions. Both use the code's own constants.
Estimates only. The sliders show how the code's constants combine. They are not predictions for your account, and feedecoder cannot guarantee any reach or outcome.
Kept by the postRemoved by repeat-post decay
| # | Post | Multiplier | Factor | Score |
|---|
The multiplier for post k is (1 − 0.25) × 0.5k−1 + 0.25. It falls quickly, then levels off at 0.25 and never reaches zero.
Reports carry −234. A boosted reply carries +20 per unit of chance. Use the slider to test a report chance.
Each row is one calculation from the weights above, with illustrative chances. Read the result first, then the calculation and what it means for your posts.
| # | Case | Result | Calculation | What it means |
|---|---|---|---|---|
| 01 | Boosted reply on your original postLargest gain | +2.00 | 20 × 0.10 = +2.00 | A mutual follow is 10% likely to reply to your original post. Only original posts from mutual follows get the boost. |
| 02 | Copy-link shareLarge gain | +1.00 | 20 × 0.05 = +1.00 | Five in a hundred viewers copy the link to your post. Copy-link is the largest non-reply gain, so posts people want to pass on are worth designing for. |
| 03 | One report, at a 1% chanceLargest loss | −2.34 | −234 × 0.01 = −2.34 | A report weighs −234. A 1% chance of reporting cancels several good actions, which is why report rates matter most. |
| 04 | A 2% mute chance against a 30% favorite chanceMute vs favorite | −1.18 | −58.8 × 0.02 = −1.18 · 0.5 × 0.30 = +0.15 | A mute weighs −58.8, so a 2% chance costs about eight favorites' worth of gain (+0.15 at 30%). |
| 05 | The same boosted reply, for a viewer who doesn't follow youOut of network | 1.50 | 2.00 × 0.75 = 1.50 | An out-of-network post keeps 75% of its score. Replies and reposts from accounts a viewer doesn't follow are filtered by default. |
| 06 | Your fourth post in one viewer's feedFourth post | 0.69 | 2.00 × 0.344 = 0.69 | Each later post from you is scaled down: the 4th keeps 34% of the starting score. Posting less often reduces how many of your posts compete in one feed. |
| 07 | The tenth post and beyondFloor | 0.25 | 0.25 + 0.75 × 0.5⁹ = 0.2515 | The multiplier approaches 0.25 but never reaches zero, so a late post still scores a quarter of the starting value. |
| 08 | Report chance that cancels one boosted replyBreak-even | 0.85% | 2.00 ÷ 234 ≈ 0.85% | At a 10% reply chance, a boosted reply is worth +2.00. About one viewer in 117 reporting cancels it out. |
The code ranks posts. It does not model how many people follow after reading one, so this planner needs your own rate. Start from your analytics: 60 new follows and 227 replies in a week gives about 0.26 follows per reply, counted gross.
Estimates only. Your rate is an input, so the result is a projection, not a forecast. feedecoder cannot guarantee follows, replies or reach.
Each item links to a weight or a rule in the repository. Points are the change to a post's score. Labels are enforcement flags that last 30 days.
reply + boostShareViaCopyLinkWeightQuoteWeight, ShareViaDmWeightFollowAuthorWeightOONRetweetReplyFilterMAX_POST_AGEReportWeightfast_reply_spam_postllm_slop_post, gibberish_postclassifier_multi_step_reply_spamVqvWeight, ProfileClickWeightEnableAuthorDiversityfeedecoder is an independent reference for X's For You feed. It explains the public ranking code, turns its scoring weights into a calculator and simulation, and lists the enforcement rules, with sources.
No. feedecoder is independent and is not affiliated with, endorsed by, or sponsored by X Corp.
Every weight comes from the public repository x-algorithm, commit b412112 (2026-10-03). The repository's parameters are mirrored from feature switches, so production values may differ. The probabilities in the calculator are illustrative.
The ranker predicts how likely each action is, multiplies each prediction by its weight, and adds the results. An offset keeps scores non-negative. Out-of-network posts are scaled by 0.75, and each extra post from one author is scaled down.
In the repository, out-of-network replies and reposts are filtered by default, so replies mostly reach your followers. Original posts are the route to new people.
Weights and fusion: home-mixer/params/param.rs, vm-ranker/params.rs, xai-value-model/scoring.rs.
Filters: home-mixer/filters/. Enforcement: abuse-enforcement-service/service-lib/rules/, visibility-filtering/rules/, grox/flows/reply_spam/.
The repository's parameters are mirrored from feature switches, so production values may differ. The probabilities are illustrative, not measured for any account. Classifier thresholds are not published.
Design direction: the light, ticket-style reference at leavingfrance.com. No assets were copied.