km.idaeo.ai · IDAEO 知識庫

🏛 Part of the "ai" topic shelf

The Price of Your Actions

This article decodes, from open-source code, how X's recommendation algorithm prices different forms of user interaction, comparing positive and negative behavior scores and ranking mechanisms. It provides social-media operators and general readers with concrete, data-based content and engagement guidance.

Most people think recommendation algorithms are looking for "what you will like." After reading the code, I think a more accurate description is: they calculate whether you will regret it.

What X's For You ranking does is actually very simple. The model first predicts "the probability that this person will take each kind of action on this post"—the probability of liking it, replying, reporting it, and so on—then multiplies each probability by a fixed score and adds them all together. Higher scores rank first. That is all.

The key is those "fixed scores." The model did not learn them; they are hard-coded by people in a configuration file. In other words, that table is X's price list for every kind of user behavior.

Price list

Using a like as the baseline unit (1 like = 0.5 points), the other actions are priced as follows:

Action you takeScoreEquivalent likes
Copy a link and share it elsewhere20.040 ×
Reply (and you and the author follow each other)20.040 ×
Reply (normal case)5.010 ×
Send it to a friend by direct message5.010 ×
Quote repost5.010 ×
Follow the author after viewing it4.08 ×
Standard share2.04 ×
Repost1.02 ×
Like0.51 ×
Open the post0.40.8 ×
Click an external link0.20.4 ×
Expand an image / play a video / qualified video view0.050.1 ×
Dwell time (per second)0.0040.008 ×
Open the author's profile0.0Not scored
Negative actionScoreEquivalent likes
Report−234.0468 ×
Mute the author−58.8118 ×
Select "Not interested"−43.286 ×
Block the author−31.262 ×
Scroll past without dwelling at all−0.020.04 ×
ItemValueExplanation
Total positive signals+43.3Likes, replies, shares, follows…all added together
Total negative signals−367.2Reports, mutes, not interested, blocks
Negative signals are priced at 8.5 times positive signals. The "report" item alone (−234) exceeds the total of all positive actions combined (+43.3) by a factor of 5.4.

The most counterintuitive item is this: the penalty for muting (−58.8) is nearly twice that for blocking (−31.2). A reasonable interpretation is that blocking means "I have a personal conflict with this person," while muting means "I do not want to see what this person says." The latter is an assessment of the content itself, so the system weighs it more heavily.

How to read this 8.5 times figure without getting it wrong. The comparison above is of pricing, not the actual score of each post. What enters the formula is "pricing × the model's predicted probability," and the predicted probabilities of reports and blocks are usually extremely small (on the order of one in ten thousand), while the probability of a like is much higher. Those probabilities are produced by the model and are not in the open-source code, so I cannot calculate them. The correct statement is therefore: X prices negative signals an order of magnitude higher than positive signals. That means that "if the model believes there is a one-in-a-thousand chance that you will report," that term alone can outweigh the positive points from several likes.
Negative signals are priced 8.5x higher than positive ones: many light things still lose to one heavy one
Negative signals are priced 8.5x higher than positive ones: many light things still lose to one heavy one

There is something even harsher

If a computed score is negative, it is compressed into the extremely narrow range of 0 ~ 0.001. That means: ranking differences among all negatively scored posts nearly vanish; they all sink to the bottom and crowd together. This is not "ranked a little lower"; it is "dropped out of the visible range."

Negative scores are compressed into a sliver between 0 and 0.001, where they stop differing from each other
Negative scores are compressed into a sliver between 0 and 0.001, where they stop differing from each other

Gates a post must pass

From the moment you open For You to the moment you see a post, there are eight gates in between. Two things are worth remembering:

1. Ranking and "whether it can be seen" are two completely separate systems

Ranking determines order; visibility filtering determines whether it can appear. A post can therefore have a very high score yet never appear at all because it has been labeled. These are unrelated.

Ranking and visibility are two machines with nothing linking them
Ranking and visibility are two machines with nothing linking them

2. The standards differ greatly between showing it to followers and recommending it to strangers

ItemValueExplanation
To your followers28visibility rules
Recommended to strangers5428 rules + an additional 26, all can only remove, never admit

Several of those additional 26 are "high-recall" detectors—plainly put, they would rather make false positives. The same post may pass when sent to followers, but to be recommended to strangers it must pass 26 additional gates that would rather make false positives.

Many people feel that "only my followers can see my posts." That is not an illusion; it is by design.
The same batch of content: almost nothing survives the second, finer screen
The same batch of content: almost nothing survives the second, finer screen

3. You only have 48 hours

Posts older than 48 hours are cut off directly, with no chance even to enter ranking. This is a hard-coded constant, not gradual decay—after 48 hours, it is 0.

4. For the same author, the second post already gets discounted

Within the same result set, the same author's 2nd post has its score multiplied by 0.625, the 3rd by 0.4375, with continued decay down to a floor of 0.25. Flooding the timeline does not work—the posts are not banned; the scores of the later ones collapse on their own.

So what should you do?

Every point below maps directly to a number on the price list. I will not give you vague advice like "get more engagement"—what follows is which action is worth how many points and what that means.

Make "worth sending to someone else" the only goal

The two highest-priced items on the list both take content away from this post: copy-link sharing (20.0) and direct-message sharing (5.0). A like is only 0.5. In other words—one "send to a friend" is worth forty likes.

How to use this: ask yourself, "Would anyone screenshot this post or forward it to a group?" If the answer is no, it is nearly worthless in the algorithm's eyes, no matter how many likes it gets.

The most valuable action is content being carried away, not admired in place
The most valuable action is content being carried away, not admired in place

Replies are worth 5 times more than reposts, and 4 times more again with mutual following

A reply is 5.0; a repost is only 1.0. And if you and the author follow each other, the price of a reply jumps directly from 5.0 to 20.0.

How to use this: instead of asking for reposts, write something that makes people want to reply. Building a network of mutual follows is also far more valuable than one-way follower counts—this is the only mechanism in the code that gives a special bonus for mutual following.

Videos and images themselves earn almost no extra points

Expanding an image, playing a video, and a qualified video view are each only 0.05—one tenth of a like. Dwell time is 0.004 per second. Watching a full one-minute video still adds up to less than half a like.

How to use this: media is a means to make people willing to finish reading and share, not a scoring item in itself. Put resources into "making people want to share," not "making people watch a few more seconds."

Negative signals are your only real risk

You need to accumulate 468 likes to offset one report. It takes 118 likes to offset one mute. And negatively scored posts are compressed together at the bottom.

How to use this: do not trade inflammatory bait or sensational headlines for engagement. Such content may indeed get likes and replies, but it also raises the predicted probabilities of "Not interested" and "Mute"—and pricing on that side is two orders of magnitude higher. In the algorithm's accounting, that trade is almost impossible to make worthwhile.

Posting cadence: spread posts through the day; do not post in a burst

Same-author decay applies within the same result set, with the 2nd post already reduced to 0.625. Add the hard 48-hour limit and the fact that "things already seen are filtered out."

How to use this: spread posts across different times so they land in different result batches, rather than firing off five posts at once and diluting one another.

If your goal is to reach strangers, the content must pass the "rather make false positives" gates

Recommendations to non-followers must pass 26 additional rules that can only remove, never admit, including high-recall adult-content and spam detection, malicious URLs, "do not amplify" labels, and more.

How to use this: borderline content may circulate among followers, but it is almost impossible for it to be recommended outward. To break out of your circle, it must be clean—this is not moral persuasion; it is the actual configuration of those 26 gates.

If you are a reader, not a creator

"Not interested" is the strongest tool you have

It is worth −43.2, an inverse force 86 times that of a like. Scrolling past without looking is only −0.02—almost equivalent to expressing no preference.

How to use this: to adjust your feed, selecting "Not interested" once works better than silently scrolling past two thousand times. To make a type of content disappear, muting (−58.8) has more force than blocking (−31.2).

Mute is punished harder than block: two refusals that look alike do not weigh the same
Mute is punished harder than block: two refusals that look alike do not weigh the same

Every profile you open is currently unscored

The default value of ProfileClickWeight is 0.0. The model predicts this behavior, but it is currently priced at zero.

Why this matters: it is a switch that can be turned on at any time. If X changes this number from 0 to 5, the behavioral orientation of the entire feed changes immediately, without redeploying code.

Profile clicks: measured, but currently priced at nothing
Profile clicks: measured, but currently priced at nothing

The switches that are built but turned off

This code reveals not only "how it runs now," but also "how it can run at any time." I found several mechanisms that are already complete but disabled by default:

MechanismDefaultWhat happens when enabled
New users see only their in-groupOffFor qualifying new accounts, the score of unfollowed content is ×0.00001, making content from strangers effectively invisible
Inventory withholdingOffCan consistently withhold a specified percentage of originals / replies / reposts based on the hashes of the post and viewer
Profile-click scoring0.0Change one number, and the behavioral orientation of the whole feed changes
Mutual-follow dwell bonus0.0The equivalent reply bonus is enabled (+15.0); the dwell-time version has the same mechanism built in but is set to 0
The real power is not in the numbers themselves. It is that those numbers are adjustable online—change one value without changing a single line of code.
Built and oiled, and every switch is sitting in the off position
Built and oiled, and every switch is sitting in the off position

There is another line: wired up, but with no water source

The code contains a signal called BRIDGE_PROBABILITY. In recommender-systems literature, bridging means content that can cross opposing groups and earn shared recognition—this is the kind of algorithm used by Community Notes.

In X's model structure, it has a name, a place, and two complete connections. But: zero switches are enabled, zero training losses exist, and there are zero weight parameters for it in the ranking formula; even the data-production side of the real-time service never writes to it.

The other disabled switches at least have trained models behind them, so changing a number tomorrow could make them work. This line is even earlier-stage: the pipe is connected, the valve is closed, and nothing upstream is connected to a water source.

Within the scope of the published code, X's For You ranking does not score any item for "consensus across opposing groups."

Finally: what this article cannot tell you

First, this is a public snapshot, not live production. The comment at the top of the configuration file states that it is "mirrored from config feature-switch defaults," and these values are adjustable online at any time. The code can prove "what the public version's defaults are," but it cannot prove "what X is using online at this moment." Second, pricing is not actual score. The formula is "pricing × the model's predicted probability," and the probabilities are not in the open-source code. Every claim that "A is worth N times more than B" holds only at the pricing layer. Third, this is only one For You path. I found 6 filters in the code that belong to other timeline pipelines, and those pipelines are not public. X also acknowledges that it did not release Grox's AI content-safety prompts—that is, the part that asks "what exactly does the AI ask when judging content?" is opaque.

Takeaway in one sentence

Make things people want to send to someone else; do not make things people want to mark "Not interested." The former is worth forty likes at a time; the latter cancels out eighty-six likes at a time.

Sources and verification

This article is based on the source code for X's recommendation algorithm published by xai-org on GitHub, reviewed on August 14, 2026.

ItemContent
Source repositoryxai-org/x-algorithm
Reviewed version HEADa389166f6cf5da70a286b568c87695d4dcdce3a1
Snapshot date2026-08-13
Machine-proposition verification58 items, all passed
Source files cited in this articlex-algorithm README(官方說明); 權重參數定義 param.rs; 評分器 ranking_scorer.rs

All weight values in this article come from the built-in defaults in the source code and were reproduced and verified item by item by machine propositions.

Scope of validity: The source-code parameters are labeled as a mirror of feature-switch default values and can be adjusted online at any time. This article can prove the defaults in the public version, but not the values actually in use by the platform online at this moment. The final score is "weight multiplied by the model's predicted probability," and the probability is not in the public source code; therefore, all multiple comparisons hold only at the pricing layer.

FAQ

Why is copying and sharing a link priced highest in the algorithm?
In X's pricing table, the link-copy share weight reaches 20.0, equivalent to 40 likes. The system treats taking content beyond the post and passing it to others as the highest-value distribution behavior, far above simply dwelling on or liking it.
なぜリンクコピー共有はアルゴリズム内で最も高く値付けされる?Xの価格表では、リンクコピー共有の重みは20.0と高く、40回のいいねに相当する。システムは「コンテンツを投稿の外に持ち出して他者へ共有する」行為を最高価値の拡散行動と見なし、単なる滞在やいいねを大きく上回る。
Why is copying and sharing a link priced highest in the algorithm?In X's pricing table, the link-copy share weight reaches 20.0, equivalent to 40 likes. The system treats taking content beyond the post and passing it to others as the highest-value distribution behavior, far above simply dwelling on or liking it.
What special advantage do mutually followed accounts have in reply interactions?
An ordinary reply has a weight of 5.0, but when both parties follow each other, the reply gains an additional 15.0, reaching 20.0. This is the algorithm's only mechanism that gives a large bonus for a reciprocal relationship; a reply is worth the same as a link-copy share.
相互フォローのアカウントは返信でどんな特別な優位性を持つ?通常の返信の重みは5.0だが、双方が相互フォローしている場合、返信の重みはさらに15.0増えて20.0になる。これはアルゴリズム内で、人間関係の双方向性に大幅加点を与える唯一の機構であり、返信の価値はリンクコピー共有に等しい。
What special advantage do mutually followed accounts have in reply interactions?An ordinary reply has a weight of 5.0, but when both parties follow each other, the reply gains an additional 15.0, reaching 20.0. This is the algorithm's only mechanism that gives a large bonus for a reciprocal relationship; a reply is worth the same as a link-copy share.
How do muting and blocking differ in their penalties to a creator's score?
The negative weight for muting an author is −58.8, while blocking an author is −31.2, making the mute penalty nearly twice as heavy. The reason is that blocks are often personal disputes, whereas mutes usually signal a reader's rejection of the content quality itself.
ミュートとブロックでは、クリエイターのスコアへのペナルティにどのような差がある?作者をミュートした際の負の重みは −58.8、作者をブロックした際は −31.2 であり、ミュートのペナルティはブロックのほぼ2倍に重い。これは、ブロックは個人的な対立によることが多いのに対し、ミュートは通常、読者がコンテンツ品質そのものを否定していることを表すためだ。
How do muting and blocking differ in their penalties to a creator's score?The negative weight for muting an author is −58.8, while blocking an author is −31.2, making the mute penalty nearly twice as heavy. The reason is that blocks are often personal disputes, whereas mutes usually signal a reader's rejection of the content quality itself.
Why do multiple consecutive posts by the same author lose recommendation advantage?
The algorithm applies same-author decay: in one result batch, that author's 2nd post is multiplied by 0.625, the 3rd by 0.4375, and the lowest falls to 0.25. Together with the 48-hour hard age limit, concentrated posting causes later content to dilute its own score.
同一作者が連続して投稿すると、なぜ推薦上の優位性を失うのか?アルゴリズムには同一作者減衰機構があり、同一バッチの結果では、その作者の2件目の投稿のスコアは0.625倍、3件目は0.4375倍となり、最低0.25まで下がる。さらに48時間の年齢ハード上限があるため、短時間に集中投稿すると後続コンテンツのスコアが自己希釈される。
Why do multiple consecutive posts by the same author lose recommendation advantage?The algorithm applies same-author decay: in one result batch, that author's 2nd post is multiplied by 0.625, the 3rd by 0.4375, and the lowest falls to 0.25. Together with the 48-hour hard age limit, concentrated posting causes later content to dilute its own score.
Does clicking an author's profile page (Profile Click) currently increase recommendation scores?
According to the public source code, ProfileClickWeight has a default value of 0.0 and is currently excluded entirely from scoring. Although the model continues to predict this behavior, the online weight switch is currently set to zero.
作者のプロフィールページへのクリック(Profile Click)は現在、推薦スコアを増やすか?公開ソースコードによれば、ProfileClickWeight の既定値は 0.0 で、現在はスコアリングにまったく計上されない。モデルはこの行動を継続して予測しているが、オンライン重みのスイッチは現在ゼロに設定されている。
Does clicking an author's profile page (Profile Click) currently increase recommendation scores?According to the public source code, ProfileClickWeight has a default value of 0.0 and is currently excluded entirely from scoring. Although the model continues to predict this behavior, the online weight switch is currently set to zero.

Cite this article

TK Lin・《The Price of Your Actions》・IDAEO 知識庫・2026-08-14・https://km.idaeo.ai/post/ai/x-algorithm-pricing

更新 2026-08-14T15:05:36.153Z · server-rendered · four-language · IDAEO 知識庫