How does the X algorithm decide what shows up on your For You feed?

Your For You feed is built by a ranking model that predicts how likely you are to engage with each post. Here is how the pipeline works and what it rewards.

Short answer: your For You feed is assembled in two stages. First, the system gathers thousands of candidate posts from accounts you follow and from across the platform. Then a ranking model predicts how likely you are to take various actions on each post, like, reply, repost, share, block, and scores each one with a weighted formula. The highest-scoring posts win.

X has published the code for this system, so this is not guesswork. The current model is a transformer-based ranker that learns from engagement patterns rather than from hand-written rules. It does not boost posts because of follower counts, account age, or verification badges. It boosts posts because real users like you engaged with similar content before.

Understanding the mechanics will not let you hack the feed, but it will explain why you see what you see, and it clarifies what actually works if you are trying to be seen yourself.

The two-stage pipeline: retrieval then ranking

Every time you open the app, the system pulls a large pool of candidate posts. These come from two sources: accounts you follow, and posts from accounts you do not follow that the system thinks might interest you. This second group is the discovery engine, and it is why your feed contains strangers.

Then the ranking stage scores each candidate individually. Each post is evaluated on its own merits, independent of what else is in the pool. This matters because it means your post's score does not depend on competing against other posts at the same moment. Consistent performance produces consistent reach, and a post does not get suppressed just because it appeared alongside something stronger.

The final feed is the top of that ranked list, with some additional mixing to keep it varied. The whole thing rebuilds every session, which is why your feed looks different each time you open the app.

What the model predicts

The ranking model predicts the probability that you will take a set of actions on each post. Positive signals include liking, replying, reposting, quoting, clicking through, visiting the author's profile, watching a video, expanding a photo, sharing externally, spending time reading, and following the author.

Negative signals include marking a post as not interesting, muting the author, blocking the author, and reporting the post. These carry heavy negative weight. A single report can outweigh an enormous amount of positive engagement, which is why content that provokes blocks and reports is the fastest way to disappear from feeds.

Each predicted probability is multiplied by a weight and summed into a final score. The weights reflect how valuable each action is as a signal of genuine interest. Replies and interactions where the author engages back carry some of the heaviest positive weight, while likes alone count for relatively little. The lesson is that conversation beats passive approval.

How it learns about you

The system builds a profile of your interests from your behavior: what you like, reply to, repost, bookmark, search for, and spend time reading. It also learns from the behavior of users similar to you. If people with overlapping interests engage with a post, the system infers you might too.

One of the more interesting components is a community-detection model that groups users into clusters based on shared follow patterns and engagement history. When you engage with posts, the system records which communities that engagement came from, and over time it builds a map of which communities you belong to. Posts gaining traction in your communities get amplified into your feed.

This is why your feed can feel like it knows your subcultures. It is not reading your mind. It is watching which clusters validate which posts and routing the validated ones to you.

Recency and velocity

How fresh a post is matters, and how fast it is accumulating engagement matters too. A post that is a few hours old and outperforming its peers gets extended reach. A post that is days old and flat does not, no matter how good it is.

This creates a compounding effect. Early engagement predicts later distribution, which is why posts that get replies and reposts quickly tend to travel far, while posts that sit quietly for hours rarely recover. It is not strictly about posting at magic times; it is about the post earning engagement soon after it appears.

The system also applies time decay, so yesterday's viral post gives way to today's candidates. Your feed is biased toward the recent and the rising, which keeps it feeling current but also means quality posts with slow starts often go unseen.

What gets quietly demoted

The visible signals get most of the attention, but the demotions matter just as much. Content that predicts negative actions, blocks, mutes, reports, gets suppressed. So does content the system identifies as low-quality: engagement bait that asks for likes without offering substance, misleading links, spam patterns, and duplicated content.

Links in posts can reduce distribution because they pull you off the platform and cut into the time you spend reading, which is itself a signal. Media like images and video tend to get a boost because they hold attention longer. None of this is about the topic. Two posts about the same subject can score very differently based on how they are constructed and how people respond.

Author diversity is also enforced. If you see the same author repeatedly, the system attenuates their later posts to keep your feed varied. This is why even your favorite accounts do not dominate your feed.

Following versus For You

It helps to remember that the For You tab and the Following tab are different products. The Following tab shows posts from accounts you follow in roughly chronological order. The For You tab is the recommendation engine, mixing followed accounts with discovered ones.

If your feed feels full of strangers, that is the system doing its job as designed. It is betting that discovery keeps you scrolling longer than familiarity. You can switch to the Following tab any time for the chronological view, and your engagement patterns in each tab feed back into how both are tuned.

The tension between the two is deliberate. Following is for the people you chose. For You is for the people the system thinks you would choose if you knew they existed.

What this means if you want to be seen

You cannot optimize for the algorithm in the abstract, because there is no abstract. You are optimizing for the predicted reactions of specific viewers in specific communities. Content that earns genuine replies, thoughtful quotes, and shares to friends will be distributed. Content that earns passive likes and nothing else will stall.

The most reliable strategy is also the least tactical: post things that are useful, interesting, or funny to a defined group of people, and engage sincerely with the people who respond. Reply to your replies. That back-and-forth conversation is one of the strongest signals in the system.

Avoid the things the system punishes. Do not bait engagement with empty prompts. Do not post content that invites blocks. Do not mistake a like for a meaningful signal. The model was built to find the difference between attention and interest, and it is better at it than most creators give it credit for.

Why your feed feels repetitive sometimes

If your For You feed sometimes feels like the same five topics on loop, that is the cluster system working as designed, for better and worse. Once the model is confident about which communities you belong to, it keeps serving posts validated by those communities. The predictions are accurate, so you keep engaging, which makes the model more confident. It is a feedback loop, and feedback loops narrow.

You can widen the loop deliberately. Following accounts outside your usual interests, searching for new topics, and engaging with unfamiliar content teaches the model that your map is bigger than it thought. The "not interested" option and muting topics you are tired of send the opposite signal. Your feed is a mirror of your behavior, so changing the behavior changes the mirror.

It is worth remembering that the system optimizes for your engagement, not your enlightenment. A feed that occasionally bores you with sameness is still succeeding by its own metric if you keep scrolling. If you want variety, you have to ask for it with your clicks.

Premium, verification, and reach myths

A persistent belief is that paying for a premium subscription or having a verified badge boosts your reach. The published code tells a different story: the ranking model has no hand-coded boost for subscriber status or verification. What the model measures is engagement behavior, and it measures it the same way for every account.

Why does the myth persist? Partly because accounts that pay for premium tend to be more active and more invested in growing, so they post more and engage more, which genuinely improves their distribution. The subscription correlates with the behavior that the algorithm rewards, but it does not cause the reward. Confusing the two leads people to pay for reach that never arrives.

The same logic applies to follower count. Having a million followers does not give your posts a ranking bonus. It gives you a larger built-in audience that might engage, and that engagement is what the model scores. A small account whose posts consistently earn replies will out-distribute a large account whose posts earn shrugs. The model does not know or care how many followers you have. It only knows what viewers do.

Your For You feed is not a mystery and not a conspiracy. It is a prediction machine, trained on billions of small human decisions, trying to guess what will hold your attention next. It gets it wrong often enough to be frustrating and right often enough to keep you scrolling. Now you know what it is optimizing for, and that is the whole story.