Carlos E. Perez (@IntuitMachine) · Posted 5:38 AM · Aug 14, 2026

Inside X's New 'For You' Algorithm

Ranking orders posts. Visibility decides if a post can be shown at all.

Executive SummaryBy kg-generator skill

Synopsis

X's redesigned For You feed treats ranking and visibility as two separate systems. A ten-stage pipeline runs candidates from Thunder (in-network) and Phoenix retrieval/SimClusters (out-of-network) through the Phoenix Scorer, whose predictions RankingScorer combines with 19 published signal weights — from copy-link share (+20.0) down to report (-234.0) — into a single utility score. Four post-scoring adjustments (author-diversity decay, an out-of-network discount, cold-start boosts, and dwell-regret modeling) correct that score before VMRanker's Top-K selection. Only then does a categorically separate visibility-filtering gate decide Allow, Interstitial, or Drop — so a high-ranked post can still be hidden. Six scenario guides trace what this means in practice for a high-frequency poster, a new account, an out-of-network-reliant account, a conversation-builder, an account recovering from negative feedback, and anyone trying to stay clear of the visibility gate.

View this analysis as a KG entity
Section 1

Thesis

X's For You feed treats ranking and visibility as two separate systems: ranking orders candidate posts by predicted multi-action utility, while visibility categorically decides whether a post may be shown at all — so a high-ranked post can still be dropped.

Section 2

Argument Structure

Candidate generation splits by network relationship

Candidate sources branch into two pathways at step 3: Thunder retrieves recent posts from accounts you follow (in-network), while Phoenix retrieval plus SimClusters surfaces recommended posts from accounts you don't follow (out-of-network).

RankingScorer computes a weighted-sum predicted utility

RankingScorer's final score approximates the sum, over every predicted action, of a published weight times the Phoenix Scorer's predicted probability of that action — engagement and attention signals add to the score, negative-feedback signals subtract heavily.

Post-scoring adjustments correct for repetition, network bias, and cold start

Before Top-K selection, scores are corrected by author-diversity/repeated-author decay, an out-of-network discount, cold-start boosts for new or low-impression authors, and optional dwell-regret modeling.

Visibility filtering is a categorical gate applied after ranking

Visibility filtering runs on separate inputs — botmaker/scarecrow labels, credibility signals, blocks and mutes, protected/suspended/deactivated status, subscriber-only rules, and viewer settings/country — and outputs Allow, Interstitial, or Drop, independent of how highly a post ranked.

Net effect optimizes multi-action utility while penalizing risk

The combined pipeline optimizes for predicted multi-action utility — especially conversation, sharing, follows, and strong attention — while heavily penalizing negative feedback, repetition, and visibility-risk content.

Section 3

How the Feed Is Built

How the For You Feed Is Built

The ten-stage pipeline from feed request to ranked timeline, as depicted in the cheat-sheet.

Section 4

Scoring Mechanism

Phoenix Scorer's ML-predicted action categories feed RankingScorer's published weighted-sum formula: final score ≈ Σ(weight_i × P(action_i)), normalized so net-negative posts rank below all net-positive posts.

Photo / Video / VQV

VQV is used by the source without expanding the acronym; likely an attention/view-quality metric.

Phoenix Scorer

A transformer model producing ML predictions across five signal families: Engagement (favorite, reply, repost, quote, share, DM share, copy-link share), Clicks (post click, profile click, link open, photo expand, video open), Attention (VQV, dwell, dwell time, active seconds), Author (follow author), and Negative (not interested, mute, block, report, not dwelled). Scores each candidate independently — candidate isolation.

RankingScorer

Combines Phoenix Scorer's predicted probabilities with published per-action weights into a final score ≈ Σ(weight_i × P(action_i)); after the weighted sum, normalization keeps net-negative posts below all net-positive posts.

VMRanker

Performs the final Top-K selection pass on RankingScorer's adjusted scores before visibility filtering.

Section 5

Post-Scoring Adjustments

Cold-start boosts

New or low-impression authors can receive temporary score lift toward target positions; low-impression and new-user variants exist.

Out-of-network discount

Recommended posts from accounts the viewer doesn't follow receive a multiplicative discount on their score.

Author diversity / repeated-author decay

Later posts from the same author in a session are multiplied down; factor = (1 − floor) × decay^k + floor.

Dwell-regret modeling and other refinements

Optional refinements used to reduce long-term regret from showing low-quality or disengaging posts.

Section 6

Visibility Filtering

A stage separate from ranking: inputs are evaluated and the post is categorically Allowed, shown Interstitial (behind a warning screen), or Dropped (not shown). A high-ranked post can still be dropped.

Allow

Show normally.

Interstitial

Show behind a warning screen.

Drop

Do not show.

Section 7

What Most Effectively Boosts Reach

In-network engagement beats out-of-network

Because OON posts are discounted.

Avoid over-posting

Repeated-author decay punishes bursts.

Avoid negative feedback

Not interested, mutes, blocks, and especially reports crush score.

Pass visibility filtering

Spammy or unsafe content may never surface.

Section 8

How the Algorithm Impacts Common User Patterns

Six recurring X usage patterns, each mapped to the specific scorer weights, post-scoring adjustments, and visibility inputs from the cheat-sheet that determine its outcome.

Staying Inside Visibility Filtering Regardless of Rank

How an account can rank well under RankingScorer and still be Dropped or shown Interstitial — and what determines which outcome applies.

Building Reach Through Conversation Rather Than Broadcast

How an account whose pattern is replying and quoting into other people's threads, rather than posting original content, accrues score under RankingScorer.

Growing Reach as a New or Low-Impression Account

How a newly created or low-follower account can use the cold-start boost window and mutual-follow signals before it expires.

Reaching Non-Followers Despite the Out-of-Network Discount

How an account whose growth depends on reaching people who don't already follow it can offset the ≈0.75 out-of-network discount.

Recovering Reach After Negative-Feedback Suppression

How an account whose recent posts triggered reports, blocks, or mutes can read the damage and rebuild, given how severely those signals subtract from score.

Pacing Posts as a High-Frequency Poster

How someone who posts many times a day should pace their posting so repeated-author decay doesn't quietly suppress their own later posts.

People

People

Carlos E. Perez

Author of the Artificial Cognition trilogy; writes on Quaternion Process Theory, artificial intuition/fluency/empathy, and generative/agentic AI patterns.

Organizations

Organizations

Knowledge Graph Explorer 227 nodes · 591 links

Interactive graph visualization derived from the companion RDF. Click nodes to resolve, drag to explore. Graph data embedded from companion RDF at generation time.

Inside X's New 'For You' Algorithm

Nodes: 0 Links: 0
Click SVG to activate zoom, click outside to release | Drag nodes to pin, double-click to unpin
Classes Properties Instances

SPARQL Workbench 0 sample queries

Query this knowledge graph on URIBurner. The editor opens on the canonical SAMPLE entity-type summary (DAV named graph). Pick a recipe, edit freely, then run live or copy.

Query editor

▶ Run live on URIBurner SELECT: text/x-html+tr | DESCRIBE/CONSTRUCT: text/x-html-nice-turtle
FAQ

Frequently Asked Questions

Ranking and visibility are separate systems: ranking orders posts by predicted utility, while visibility decides whether a post can be shown at all.

Ranking (steps 6-8) scores and orders candidates using RankingScorer's weighted-sum formula. Visibility filtering (step 9) is a categorical downstream gate on separate inputs (labels, blocks, status, viewer settings) that outputs Allow, Interstitial, or Drop regardless of rank.

Thunder retrieves recent posts from accounts you follow (in-network); Phoenix retrieval plus SimClusters retrieves recommended posts from accounts you don't follow (out-of-network).

Thunder is the in-network candidate-source component that retrieves recent posts from accounts the viewer follows.

They are the out-of-network candidate-source components that surface recommended posts from accounts the viewer doesn't follow.

It is a transformer model that predicts, for each candidate post independently (candidate isolation), the probability of every relevant action across five signal families: Engagement, Clicks, Attention, Author, and Negative.

Engagement (favorite, reply, repost, quote, share, DM share, copy-link share), Clicks (post click, profile click, link open, photo expand, video open), Attention (VQV, dwell, dwell time, active seconds), Author (follow author), and Negative (not interested, mute, block, report, not dwelled).

Final score ≈ the sum over all predicted actions of (published weight × Phoenix Scorer's predicted probability of that action); after the weighted sum, normalization keeps net-negative posts below all net-positive posts.

Copy-link share is the highest published positive weight at +20.0. Report is the harshest published negative weight at -234.0.

It multiplies down later posts from the same author in a session, using factor = (1 − floor) × decay^k + floor, with published defaults decay 0.5 and floor 0.25.

Recommended (out-of-network) posts from accounts you don't follow receive a discount of approximately 0.75 by default.

They give new or low-impression authors temporary lift toward target positions, with separate low-impression and new-user variants, so their posts aren't permanently buried by lack of engagement history.

Allow (show normally), Interstitial (show behind a warning screen), and Drop (do not show).

Yes — the cheat-sheet states explicitly that a high-ranked post can still be dropped, because visibility filtering is a separate, categorical gate applied independently of rank.

Driving replies, quotes, and shares early is listed first among the eight reach-boosting tactics.

Copy-link share carries the highest published positive RankingScorer weight (+20.0) of any signal, even though it occurs infrequently compared with likes or replies.

Repeated-author decay punishes bursts of posts from the same author within a session, multiplying down later posts' scores.

Report (-234.0), mute author (-58.8), and block author (-31.2) carry the largest published negative weights; not interested is -43.2 and not dwelled is a smaller -0.02.

The xAI open-source repository xai-org/x-algorithm, described as the August 2026 configuration release.

Carlos E. Perez (@IntuitMachine) posted it on X at 5:38 AM on August 14, 2026, captioned 'Made with AI'.

Not according to this cheat-sheet. Its published signal table contains no negative weight, post-scoring adjustment, or visibility-filtering input tied to a post containing an external or off-platform link — the only two link-related signals shown are both positive: open link (+0.2) and copy-link share (+20.0, the single highest-weighted signal in the table). An 'external links get suppressed' penalty is a long-circulated claim about X/Twitter, but it is not something this particular source documents; treat it as unconfirmed by this cheat-sheet rather than as a mechanism it describes.

Glossary

Glossary of Terms

How-To

How-To Guide

How the For You Feed Is Built

The ten-stage pipeline from feed request to ranked timeline, as depicted in the cheat-sheet.

1

For You feed request

The client requests the For You timeline, initiating the pipeline.

2

Query hydration

The system hydrates the request with recent engagements, follows, blocks, mutes, keywords, seen posts, and topics.

3

Candidate sources

Candidates are generated from two branches: Thunder for in-network recent posts from followed accounts, and Phoenix retrieval plus SimClusters for out-of-network recommended posts from unfollowed accounts.

4

Candidate hydration

Each candidate post is hydrated with post text, media, author details, language, and engagement counts.

5

Pre-scoring filters

Filters remove duplicates, posts older than 48 hours, self-posts, muted/blocked authors, already-seen posts, inaccessible posts, and subscription-only posts the viewer cannot see.

6

Phoenix scorer

The Phoenix Scorer transformer model predicts the probability of every candidate action for each candidate post, independently of every other candidate (candidate isolation).

7

RankingScorer adjustments

RankingScorer combines Phoenix Scorer's predicted probabilities with published weights into a final score, then applies post-scoring adjustments (author diversity decay, out-of-network discount, cold-start boosts, optional dwell-regret modeling).

8

VMRanker + Top-K selection

VMRanker performs a final selection pass, choosing the top-K ranked candidates to advance.

9

Visibility filtering

A separate visibility-filtering stage evaluates botmaker/scarecrow labels, credibility signals, blocks/mutes, protected/suspended/deactivated status, subscriber-only rules, and viewer settings, and outputs Allow, Interstitial, or Drop — independent of rank.

10

Ranked For You timeline

Posts that passed visibility filtering are delivered as the ranked For You timeline.

Building Reach Through Conversation Rather Than Broadcast

How an account whose pattern is replying and quoting into other people's threads, rather than posting original content, accrues score under RankingScorer.

1

Treat replies as a first-class ranking signal, not a side channel

Reply carries a base +5.0 weight, comparable to quote (+5.0) and DM share (+5.0) — a conversation-heavy posting pattern is competing on the same signal tier as original-content sharing, not a lesser one.

2

Target threads where you already have a mutual follow

The mutual-follow reply bonus (+15.0 on top of the base +5.0) means replying inside an existing mutual relationship scores nearly as high as the single best positive signal, copy-link share — a conversation-builder's most efficient move is deepening existing mutuals, not maximizing reply count to strangers.

3

Spread replies across different threads to avoid decay

Repeated-author decay applies per session regardless of whether the posts are original content or replies — a burst of many replies in one sitting still multiplies down the later ones, so a conversation-heavy pattern benefits from spacing replies the same way a broadcast-heavy pattern spaces original posts.

Growing Reach as a New or Low-Impression Account

How a newly created or low-follower account can use the cold-start boost window and mutual-follow signals before it expires.

1

Recognize the temporary lift you're getting

New or low-impression authors get a temporary score lift toward target positions from the cold-start boost — this is a time-limited subsidy against the out-of-network discount (≈0.75) that would otherwise apply to your posts reaching non-followers, not a permanent advantage.

2

Convert boosted impressions into follows before the boost fades

Follow author (+4.0) is one of the few positive signals that structurally changes your future in-network reach for that viewer — use the cold-start window to earn follows, not just one-off likes, since likes don't change which candidate-source branch (Thunder vs. Phoenix retrieval) future posts travel through.

3

Reply into mutual-follow relationships early

A reply that lands inside a mutual-follow relationship carries a +15.0 bonus on top of the base +5.0 reply weight — replying to accounts that follow you back (or that you can prompt to follow back) is a disproportionately efficient way to build score history while the cold-start subsidy is still active.

Pacing Posts as a High-Frequency Poster

How someone who posts many times a day should pace their posting so repeated-author decay doesn't quietly suppress their own later posts.

1

Know the decay formula applies per session, per author

Every additional post you publish in the same session is multiplied down by factor = (1 − floor) × decay^k + floor, with published defaults decay 0.5 and floor 0.25 — so your 4th or 5th post of a burst is competing at a structural disadvantage against your 1st, regardless of its own quality.

2

Space bursts across sessions rather than stacking them

Because the floor is 0.25 rather than 0, decay never fully zeroes out a post's score — but spreading posts across separate sessions avoids stacking multiple posts against each other's k exponent in the same window.

3

Prioritize your single highest-value post per burst

Since only the decayed score competes for Top-K, put your strongest hook — the post most likely to earn a copy-link share (+20.0) or a reply (+5.0) — first in a posting burst, not buried behind three lower-value posts absorbing the same decay penalty.

Reaching Non-Followers Despite the Out-of-Network Discount

How an account whose growth depends on reaching people who don't already follow it can offset the ≈0.75 out-of-network discount.

1

Understand why OON candidates start behind

Posts surfaced via Phoenix retrieval and SimClusters to people who don't follow you enter RankingScorer already carrying a default ≈0.75 multiplicative discount versus an equivalent in-network (Thunder-sourced) post — the discount, not the ranking formula itself, is what an OON-reliant account needs to overcome.

2

Lean on the highest-weighted signals to clear the discount

Because the discount is multiplicative, the raw pre-discount score matters more for OON candidates: content engineered to earn copy-link shares (+20.0) or shares (+2.0) clears the ≈0.75 penalty more reliably than content that only earns favorites (+0.5) or clicks (+0.4).

3

Optimize for continuous dwell, not just the open

SimClusters-sourced discovery depends on the Phoenix Scorer's attention signals accruing after the click — continuous dwell (+0.004 per unit) is small per-instance but compounds across a longer read or watch, so content that holds attention after the OON click helps offset the discount over the post's lifetime.

Recovering Reach After Negative-Feedback Suppression

How an account whose recent posts triggered reports, blocks, or mutes can read the damage and rebuild, given how severely those signals subtract from score.

1

Recognize which signal caused the damage

The five negative signals are not equally severe: report is -234.0, mute author is -58.8, block author is -31.2, not interested is -43.2, and not dwelled is a comparatively minor -0.02 — a post suppressed by a handful of reports has taken a far deeper hit than one that mostly earned skipped dwells.

2

Understand that normalization isolates the damage to the offending post

Because Phoenix Scorer applies candidate isolation, each post is scored independently — a report-heavy post is pushed below net-positive posts by RankingScorer's normalization, but it does not retroactively alter the already-computed scores of the account's other, unrelated posts.

3

Rebuild with content that earns high-weight positive signals

Recovery isn't a special mechanism in the pipeline — it's simply future posts earning enough weighted positive signal (copy-link share, replies, mutual-follow replies) to be judged on their own merits again, since RankingScorer scores each new candidate on its own predicted probabilities, not on a decaying account-level penalty.

Staying Inside Visibility Filtering Regardless of Rank

How an account can rank well under RankingScorer and still be Dropped or shown Interstitial — and what determines which outcome applies.

1

Treat visibility filtering as a separate, categorical gate

Visibility filtering runs after ranking on an entirely different input set — botmaker/scarecrow labels, credibility signals, blocks and mutes, protected/suspended/deactivated status, subscriber-only rules, and viewer settings/country — none of which are RankingScorer weights, so no amount of positive-signal optimization compensates for tripping one of these inputs.

2

Know the three possible outcomes before you post

The gate outputs exactly one of three outcomes per post: Allow (shown normally), Interstitial (shown behind a warning screen), or Drop (not shown) — a post can be the highest-ranked candidate in someone's pre-scoring pool and still receive Interstitial or Drop if it trips a visibility input.

3

Keep account status and audience settings clean

Protected, suspended, or deactivated status and subscriber-only rules are account-level and setting-level inputs, not content-level ones — an otherwise well-ranked post can still be filtered out purely because of the posting account's status or the viewer's own settings and country, independent of anything in the post itself.