How the X Algorithm Actually Works

What we found in the source code

Updated May 15, 2026
X just pushed a massive update. On May 15, 2026 xAI dropped a 187-file rewrite — the biggest change since the algorithm was first published. Three scorers became one. A new value-model reranker. An ads blender. A Grok-powered viral pre-screener. And one scary new penalty for posts people scroll past.
PREVIOUS UPDATE: JAN 20, 2026 · NEW COMMIT: e414c17 · 16 WEEKS BETWEEN UPDATES
The short version: Replies, quotes, and follows still help the most. But there's a new penalty for posts people scroll past without stopping. The algorithm now tracks how long you stay after clicking a thread. And X is using Grok to screen for viral quality before a post even enters the feed.
Meta-analysis →
X didn't open-source the algorithm. They open-sourced the rulebook.
Why what they published shapes creator behavior — and why what they withheld blocks any real audit.
Technical deep dive →
Architecture, scoring formulas, every changed file.
The full code-level walkthrough of the May 15 rewrite — 22 actions, RankingScorer, VMRanker, BlenderSelector, Grox.

What Changed in This Update

The five things creators need to know about the May 15, 2026 rewrite.

Scrolling past your post is now a penalty

The algorithm added a new negative signal called not_dwelled. If someone sees your post and scrolls past without stopping, that now actively hurts your score. Before, scrolling past was neutral. Now it's a downvote.

What to do: open with a hook in the first line. If people don't stop in the first second, you're being penalized.
new in ranking_scorer.rs

Click and stay — not just click

The algorithm used to score a click into your thread or article. Now it also tracks how long someone stays after that click — a new continuous signal called cont_click_dwell_time. The longer they read, the bigger the boost.

What to do: when someone clicks, make the payoff worth the click. Front-load value. Don't let them bounce in 2 seconds.
new in ranking_scorer.rs

Quote-tweet video views now count

If you quote-post a video and someone watches the video inside your quote, that's a brand-new tracked signal called quoted_vqv. Previously only the original video poster got that signal. Now you do too.

What to do: quote-post videos. The quoter now gets credit for views of the video they quoted.
new in ranking_scorer.rs

Grok is screening posts before they enter the feed

X added a whole new system called "grox" — a Grok-powered classifier that pre-screens posts for viral quality, safety, and spam before they're eligible for ranking. They literally named one of the classifiers BangerInitialScreen. It rates posts 0 to 1 on "banger" quality using vision and language models.

What to do: posts that look low-effort, repetitive, or AI-slop may be filtered before they ever reach the ranker. Quality of presentation matters now, not just engagement after.
new in grox/classifiers/content/

The feed is no longer just posts

The new "Blender" component now decides how to interleave your posts with ads, Who-To-Follow modules, prompts (UI cards), and "Push-To-Home" pins from notifications. There's a feature switch toggling between two different ad-blending strategies. Organic posts now compete for fewer slots.

What to do: every organic slot is more valuable than before. Posts that don't earn their slot get cut faster to make room for paid placements.
new blender_selector.rs + ads/ module

The algorithm published is still incomplete

People on X are right — this isn't the full thing. There's no Cargo.toml file (so the Rust code can't even be built). The file with the actual scoring weights (params.rs) is still missing. The new value-model reranker is a gRPC call to a service that isn't published. The Grok "banger" classifier imports a dozen internal modules that aren't in the repo. What's released is the structure and formulas — not a working system.

What to do: trust the architecture, but know the exact weights and the production model are still proprietary. The Truth Tide analysis covers what's actually visible.
see Technical Deep Dive for the full list of what's missing

Do This Right Now

Six things you can do today, updated for the May 15 rewrite.

Hook them in the first line

The new "scroll-past" penalty is real. If someone glances and keeps scrolling, you lose points. Your first line has to stop the thumb.

Make clicks worth the click

The algorithm now measures how long people stay after they click. A click that bounces in 2 seconds hurts more than no click at all.

Quote-post videos

Quote-posters now get credit for video views inside the quote. This is a brand-new signal almost nobody is exploiting yet.

Ask a question in every post

Replies are still the #1 signal. End with a question or a hot take that makes people type a response.

Space out your posts

The algorithm shows each new post from you a little less. If you drop 5 posts in an hour, the last ones barely get seen.

Don't get reported

A few reports on one post can wipe out weeks of good engagement. It's the single most destructive signal — and the new safety classifier means it can also get you pre-screened out.

Post Formats That Work

These are reverse-engineered from the new scoring model. Two of them only work because of the May 15 changes.

The Hook-and-Hold

Brand new for the May 15 update. The "scroll-past" penalty (not_dwelled) means your post is now being graded on whether people stop. Combine that with the new "click and stay" signal (cont_click_dwell_time) and you have a format built around attention, not engagement.
Step 1: Open with a one-line hook that stops the thumb. A bold claim, a number, or a contradiction.
Step 2: Make the rest of the post or thread deliver on that hook with real substance.
Step 3: Structure the payoff so readers have to keep reading to get to it — don't dump the answer in line two.
Step 4: If you link or thread, the longer they stay, the higher the boost.

Why it works: The new algorithm penalizes posts people skip and rewards posts they linger on. Old advice was "get the like." New advice is "earn the second."

The Quote-Tweet Video Reactor

Brand new for the May 15 update. The new quoted_vqv signal means quote-posters now get credit for video views inside their quote. Almost no creators have caught onto this yet.
Step 1: Find a video post that's getting traction.
Step 2: Quote-post it with a sharp one-liner take above.
Step 3: Let people watch the embedded video — every view scores for YOU now, not just the original poster.
Step 4: End with a question that pulls replies.

Why it works: You're stacking four signals: the quote action, video views (now credited to the quoter), dwell on your take, and replies. This is the highest-density format the new algorithm allows.

The Thread Trap

Threads now stack two continuous dwell signals: time spent reading the original AND time spent in the thread after clicking. Both feed the model with every extra second.
Step 1: Open with a hook that creates curiosity. Don't give away the payoff in tweet one.
Step 2: Deliver your content across 5+ posts in the thread.
Step 3: End with a call to action — "What do you think?" or "Am I wrong?"

Why it works: The algorithm tracks how long someone stays in your thread as a continuous signal — every extra second adds directly to your score. Click into thread + dwell after click both feed the model.

The DM Magnet

DM shares and copy-link actions are now first-class scored signals (share_via_dm and share_via_copy_link). The algorithm watches private distribution, not just public.
Step 1: Share something exclusive — a tip, a data point, a piece of news that isn't widely known yet.
Step 2: Make it feel like insider info. "Most people don't know this, but..."
Step 3: Keep it short enough to forward but valuable enough that someone wants to forward it.

Why it works: People share exclusive or actionable information privately. "You need to see this" posts trigger DM shares and copy-link actions that most creators never think about. Both are scored.

How Posts Get Scored

When you open the For You feed, the algorithm collects posts from people you follow and uses AI to find posts from people you don't follow. Then it scores every post by predicting how likely you are to take 22 different actions. Here's how those actions rank.

Helps the most
What Happened Value Impact Why It Matters
Someone replied Very High
The strongest positive signal. Replies say "this post started a conversation."
Someone quoted the post Very High
Quote posts spread your content into someone else's audience.
Someone followed you Very High
A follow means your future posts show up in their feed without penalty.
Helps a lot
Someone spent time reading it (dwell) High
The algorithm measures how long people stop on your post.
Someone stayed after clicking NEW High
Brand-new continuous signal. Every second someone stays after clicking into a thread or article scores for you.
Someone clicked your profile High
Checking out who you are is a strong interest signal.
Someone watched a video you quoted NEW High
Brand-new signal. Quote-posters now get credit when people watch the embedded video.
Someone shared it via DM High
Sending a post privately to a friend is tracked.
Someone clicked into a thread Moderate
Opening a thread means someone wanted more.
Someone clicked into a quoted post Moderate
Clicks on the post you quoted also score for you.
Someone reposted it Moderate
Reposts help but score less than quotes or replies.
Someone copied the link Moderate
Sharing outside X is tracked too.
Someone watched the video Conditional
Only counts if the video is long enough. Short clips may not trigger this.
Someone expanded a photo Low
Tapping to enlarge an image is a small interest signal.
Someone liked it Low
Likes are easy to give, so the algorithm doesn't value them much.
Hurts your reach
Someone scrolled past it NEW Negative
Brand-new penalty. Used to be neutral. Now scrolling past without stopping is a small but real downvote.
Someone hit "Not Interested" Negative
A downvote. Directly lowers your score.
Someone muted you Bad
Worse than "not interested." They never want to see you again.
Someone blocked you Very Bad
You lose that person's audience permanently.
Someone reported the post Devastating
A few reports can wipe out hundreds of likes.

What This Actually Means

1 reply
worth way more than 10 likes
1 quote post
worth way more than 10 likes
1 report
can erase hundreds of likes
1 new follower
best thing that can happen
100 scroll-pasts
measurable damage now
10 seconds of reading
scores 10× the same person liking

Two Rules You Need to Know

1

Followers see your posts first

In-network content gets full score. Everyone else gets penalized.
  • Posts shown to your followers compete at full strength
  • Posts shown to people who don't follow you start with a penalty
  • The new system has a special boost for new users — they see more out-of-network content while they build their follow graph
  • Every new follower = one more person who sees you without the penalty
2

Posting too much at once hurts you

Each extra post from the same author gets shown less
  • Your first post gets full visibility. Second gets less. Third even less.
  • Space your posts out through the day. Don't dump everything at once.

The Full Playbook

Everything from the quick hits above, plus the reasoning behind each one.

1

Hook them in the first line

New scroll-past penalty
  • The new algorithm penalizes posts people scroll past without stopping. This used to be neutral.
  • Your first line decides whether you get penalized or rewarded. There is no third option.
  • Open with a number, a contradiction, a sharp claim, or a curiosity gap. Anything that breaks the scroll.
  • Boring, polite, hedged opening lines are now actively bad for your reach.
2

Start conversations, not broadcasts

Replies are the #1 signal
  • End every post with a question or a take that makes people want to respond
  • Reply to your own replies. When you and a commenter go back and forth, the algorithm picks up on it
  • One good reply thread is worth more than 50 likes. Stop chasing hearts.
  • The first 30 minutes matter most. Get conversations started early.
3

Make clicks worth the click

New continuous dwell-after-click signal
  • The algorithm now tracks how long people stay after they click into a thread or article.
  • A click that bounces in 2 seconds is worse than no click at all — you used the slot and didn't deliver.
  • Front-load the payoff. Don't make people scroll past three filler tweets to find the value.
  • Every additional second they stay is a continuous signal that compounds.
4

Quote-post videos (the new arbitrage)

quoted_vqv — brand new signal
  • The new algorithm gives the quote-poster credit when people watch the video inside the quote.
  • This is the cleanest arbitrage in the new model. Most creators don't know it exists yet.
  • Find a video that's working. Quote it with a sharp one-liner. Watch the video views score for you.
  • Stack this with the quote signal, dwell on your take, and replies to your hook — four signals from one post.
5

Create content people want to send to friends

DM shares and link copies are scored
  • DM shares (share_via_dm) and copy-link actions (share_via_copy_link) are both tracked signals.
  • Exclusive info, useful tips, and "you need to see this" content triggers private sharing.
  • This is a signal most creators completely ignore. The algorithm rewards private distribution, not just public.
6

Build videos people can't scroll past

Length clears one signal, captions feed another
  • The algorithm has a minimum video length before it counts a "quality view." Very short clips might not trigger it.
  • Most people scroll X with the sound off. Burn captions into the video — especially animated, word-by-word captions that pull the eye through every word — so silent viewers can follow along instead of swiping away.
  • Captions make people read. Reading takes seconds. Those seconds are dwell time — a continuous signal in the model, meaning every extra second on your post adds directly to your score (unlike likes or replies, which are one-and-done).
  • Don't autoplay-bait. Quality views matter, not just impressions.
  • A 30-second captioned clip that holds the eye will outperform a 5-minute silent video people scroll past in 2 seconds.
7

Watch out for the Grok pre-screener

New: BangerInitialScreen + safety classifiers
  • X added a Grok-powered classifier that screens posts before they enter the ranking system.
  • It looks at quality, safety, and a "banger" score — how viral the post looks before any engagement happens.
  • AI-slop, low-effort reposts, and obvious spam may be filtered before they ever get scored.
  • Quality of presentation now matters in addition to engagement after the fact.
8

Do not get reported

Reports are the worst thing that can happen
  • A small wave of reports on one post can wipe out all the good signals from weeks of posting.
  • Blocks and mutes hurt too, but reports are the nuclear option.
  • The new safety classifier means a reported post can also affect how the system treats your future posts.
  • Provocative is fine. Reportable is not. Know the difference.
9

Grow your followers — it compounds

More followers = less penalty
  • Every new follower means one more person who sees your posts at full score instead of the penalized score.
  • When someone follows you from a post, it scores high AND makes them in-network for all your future posts.
  • Reaching people who don't follow you is possible, but your post has to score way higher to beat the penalty.

Want the Full Technical Breakdown?

Everything above is based on our reading of X's actual source code — the new scoring formula, the value-model reranker, the ads blender, the Grok classifier pipeline, and all 22 tracked actions. If you want to see the code-level details and what's missing from the open-source release:

Read the Technical Deep Dive →