X Open Sourced the Algorithm: Why Reach Is Disappearing and How Phoenix Works
On January 20, 2026, X open-sourced its recommendation algorithm, revealing a system entirely powered by a Grok-based model named Phoenix. This release outlines the specific engagement probabilities and penalties that now determine content visibility.

Sections
The X algorithm phoenix model is the Grok-based transformer that now scores every post on X's For You feed, and as of the May 15, 2026 update it ships as a downloadable checkpoint anyone can run. xAI open-sourced the full pipeline on January 20, 2026, then pushed a second, much larger release on May 15 that replaced the separate retrieval and ranking scripts with a single end-to-end pipeline and packaged a pre-trained mini Phoenix model as a 3GB Git LFS archive. If your posts lost reach this year, this is the mechanism why — and this piece covers what changed, what the code actually says, and what to do about it.
TL;DR: Phoenix is a Grok-1-derived transformer that scores 19 positive engagement signals against a NEGATIVE_SCORES_OFFSET penalty, then discounts repeat authors via the diversity penalty. The May 15, 2026 update added a single-entry pipeline (
run_pipeline.py), a downloadable pretrained checkpoint, an ads-blending module, and named the supporting services: Thunder (recent-post serving), Phoenix Retrieval (two-tower candidate generation), Home Mixer (Rust orchestrator), and Grox (a vision-language model for spam and safety). Replies now outweigh likes by roughly 27x, and a reply that gets a reply back from the original poster is worth about 150x a like.
What the Phoenix model actually does
Phoenix is a transformer ported from Grok-1's open-source architecture, adapted with custom input embeddings and an attention mask where candidate posts cannot attend to each other during scoring. It analyzes the last 128 posts a user has engaged with — liked, replied to, or reposted — to build a rolling interest profile, then predicts the probability of 19 distinct positive actions for every candidate post in that user's feed.
Because the window is rolling, a single burst of engagement can recalibrate what a user sees within minutes. This is the mechanism behind the "flooded feed" complaint after someone hate-clicks a viral post: the model reads that click as an interest signal, not a rejection.
The May 2026 update: what's new since launch
The January release open-sourced the ranking and retrieval code separately. The May 15, 2026 commit — 187 files changed, over 18,000 lines added — consolidated the system into a real end-to-end pipeline and named the components publicly for the first time:
| Component | Role |
|---|---|
| Thunder | Serves recent posts via in-memory gRPC for low-latency candidate sourcing |
| Phoenix Retrieval | Two-tower model that pulls out-of-network candidates from the wider corpus |
| Home Mixer | Rust orchestrator that filters, hydrates, and scores candidates |
| Grox | Vision-language model handling spam, safety, and content-quality classification |
The practical change for anyone tracking reach on X: Grox now classifies what a post is about before Phoenix ever scores it. Posts flagged as spam or off-topic for an account's established lane get deprioritized before they reach the engagement-probability stage — content classification, not just engagement history, gates visibility now.
Engagement scoring and the ranking formula
Content visibility runs through a weighted formula that sums engagement probabilities and applies a penalty offset:
Final Score = Σ (weight_i × P(action_i)) + NEGATIVE_SCORES_OFFSET
The 19 positive signals aren't weighted equally, and the gap is larger than most creators assume. Replies are worth roughly 27x a like in the public weight tables, and a reply that pulls a reply back from the original poster carries close to 150x the weight of a like. Dwell time and video watch duration also carry outsized weight — the longer a user lingers, the harder the boost.
- Likes, replies, reposts, and quotes
- Profile clicks and follows
- Shares (standard, via DM, or copy link)
- Clicking on photos or quotes
- Video view duration and post dwell time
Negative signals and the author diversity penalty
Four actions actively deboost an account, and they compound if they accumulate:
- Clicking "Not Interested"
- Blocking the author
- Muting the author
- Reporting the post
How the author diversity penalty works
Once a post from an author lands in a user's timeline, the probability of that same author appearing again on the same day drops sharply. Reach decays with each additional post from the same account in a short window — a direct penalty on frequency, not just a volume cap. Posting five times in an hour costs more in aggregate reach than spacing the same five posts across the day.
How this compares to the previous X algorithm
| Factor | Pre-2026 algorithm | Phoenix (2026) |
|---|---|---|
| Scoring basis | Static ranking rules, heuristic weights | Grok-derived transformer predicting 19 engagement probabilities |
| Content understanding | Limited, mostly engagement-pattern based | Grox VLM classifies topic and quality before ranking |
| Interest signal | Broader historical engagement | Rolling window of last 128 engaged posts |
| Repeat-author handling | Loosely capped | Formalized author diversity penalty, same-day decay |
| Reply weighting | Modest multiplier over likes | ~27x likes; ~150x if OP replies back |
Practical workflow: adapting to Phoenix
To align with how Phoenix actually scores, adjust the publishing workflow around dwell time, reply chains, and negative-signal avoidance rather than raw post volume.
- Step 1: Audit dwell and watch-time patterns. Check which formats are driving video watch time and post dwell — these carry the heaviest positive weight in the current model.
- Step 2: Write for reply chains, not just replies. A reply that draws a reply back from you is worth close to 150x a like. Structure posts to invite a genuine back-and-forth, not just a comment count.
- Step 3: Cap posting frequency. Space out posts to avoid the author diversity penalty; rapid-fire posting produces diminishing reach on every post after the first in a given window.
- Step 4: Build in-network followers deliberately. Content served to existing followers skips the out-of-network penalty that new-audience content faces.
- Step 5: Sanitize for Grox. Since content classification now happens before scoring, review posts for muted keywords, spam-adjacent phrasing, or off-topic drift from your established lane.
Common mistakes that tank algorithmic reach
- Rapid-fire posting. Multiple posts in quick succession trigger the author diversity penalty, wasting reach on decayed impressions.
- Chasing likes over replies. Optimizing for like counts ignores the 27x-150x weighting gap that replies and reply chains carry.
- Triggering mute or block actions. Polarizing or spammy content applies a heavy negative weight to the account's global reach score, not just the individual post.
- Short, low-context video. Clips under the minimum duration threshold miss the video-quality-view boost entirely.
- Using muted keywords. Words frequently muted by users filter content out of timelines for those segments before Grox even finishes classifying it.
- Engaging with irrelevant content on a brand account. Any engagement — including hate-clicks — recalibrates the 128-post interest window, flooding the feed with unrelated material.
FAQ
What is the X algorithm Phoenix model?
Phoenix is the Grok-1-derived transformer xAI open-sourced that scores every post on X's For You feed by predicting the probability of 19 positive engagement actions, then ranks candidates against a NEGATIVE_SCORES_OFFSET penalty for negative signals.
What does NEGATIVE_SCORES_OFFSET do in the x-algorithm code?
It's a constant applied in the weighted scoring step (in home-mixer/scorers/weighted_scorer.rs) that calibrates the combined weighted engagement score, ensuring negative signals like mutes, blocks, and reports pull a post's final rank down rather than just zeroing out its positive score.
Is the X algorithm actually open source now?
Yes. xAI released the initial codebase on January 20, 2026, then shipped a much larger update on May 15, 2026 that added an end-to-end pipeline, a downloadable pretrained Phoenix checkpoint, and named the supporting services (Thunder, Phoenix Retrieval, Home Mixer, Grox) publicly.
How does the Thunder and Phoenix Retrieval system work together?
Thunder serves recent posts over in-memory gRPC for low-latency candidate sourcing, while Phoenix Retrieval is a two-tower model that pulls out-of-network candidates from the broader corpus. Home Mixer, the Rust orchestrator, combines both candidate sets before Phoenix scores them.
Why is my reach dropping since the Phoenix update?
The most common causes are the author diversity penalty from rapid-fire posting, negative signals (mutes, blocks, reports) accumulating on an account, and content that Grox classifies as off-topic or low-quality before it ever reaches the engagement-scoring stage.
Tracking algorithm shifts across platforms
Phoenix isn't an isolated case — Meta, Google, and TikTok have all moved toward similar AI-scored ranking systems in 2026, which changes how creative and targeting decisions should be made across every platform, not just X. For a broader view of how these systems reward or penalize creative patterns, see the breakdown of algorithmic convergence across Meta, Google, and TikTok and how creative is becoming the primary targeting layer as engagement-prediction models take over ranking. The same reply-weighting and dwell-time logic that reshaped X's feed echoes patterns in how the Meta algorithm reads competitor ad patterns, and the shift toward AI-native feeds is covered in more depth in this piece on what actually works in AI-driven social advertising.
Manually tracking these algorithm changes and how they show up in live creative is slow work. An ad intelligence platform gives you a faster read on which formats and hooks are still earning reach under the new rules — AdLibrary's API layers in more historical and cross-platform ad data than Meta's own free Ad Library API exposes, which is useful once you're validating patterns across X, Meta, and TikTok at the same time rather than checking each platform by hand.
Related resources
Related Articles

AI Search Optimization in 2026: How to Get Cited by ChatGPT, Perplexity, and Google AI Overviews
GEO tactics that work in 2026: TL;DR blocks, FAQ schema, entity-specific content, and AI citation tracking tools for ChatGPT, Perplexity, and Google AI Overviews.

Data-Driven DTC Growth: Analyzing 2026’s Fastest Scaling Brands
Data-driven DTC growth strategies from 2026's fastest-scaling brands. Creative testing, channel mix, unit economics, and retention playbooks that actually work.

Competitive Shopify Store Intelligence: The 2026 Strategic Research Guide
Why Is Shopify Competitor Research Essential in 2026? Shopify competitor research is the systematic process of auditing external storefronts to identify winning.

Best Shopify Subscription Apps: 2026 Selection Guide for Recurring Revenue
How Do Subscription Models Drive Shopify Success in 2026? Subscription commerce—the business model where customers pay a recurring fee for access to products or.