No matter what you do, don’t get reported. Better to get blocked than to get muted. Replies and link shares are the best way to boost. Effort investigated the latest open-source X algorithm release. This is the tip of the iceberg.

These scores come from the “Phoenix” app, a part of the X algorithm that predicts how likely users are to block, like, copy the link, or interact with a tweet in other ways.1 Based on those odds, it gives the post a score.

What affects tweet score?2

The results of three apps are combined to craft the home feed. “Phoenix“ is the first. “Thunder” serves tweets from people you follow. “Simclusters”, an older feature returning in the new X algorithm, finds accounts similar to your own. There’s a hard cap to each: 1200 for Thunder, 1000 for Phoenix, and 800 for Simclusters.3

People You Follow feeds Thunder, Recent Engagement feeds Phoenix, and Topic Similarity feeds SimClusters. All three systems feed Home Mixer, which sends the ranked timeline to a phone displaying the X logo.People You FollowThunderRecent EngagementPhoenixTopic SimilaritySimClustersHome MixerPeople You Follow feeds Thunder, Recent Engagement feeds Phoenix, and Topic Similarity feeds SimClusters. All three systems feed Home Mixer, which sends the ranked timeline to a phone displaying the X logo.People YouFollowThunderRecentEngagementPhoenixTopicSimilaritySimClustersHome Mixer

Simclusters - the algorithmic version of “This Part of Twitter” - adds tweets to your feed from people with similar followers and similar interests.4 It constantly reweighs posts based on who liked them and people based on which posts they liked.

Within SimClusters, posts decay with an 8-hour half-life, prioritizing new posts.5

Post A begins with a balance of 1 at hour zero. Post B receives a balance of 0.8 at hour four. Post C receives a balance of 0.95 at hour ten. Each line loses half its value every eight hours.00.250.500.751.00048121620242832Hours Passed6Remaining cluster balance

After all that, tweets from all three sources arrive at the Home Mixer. The Home Mixer filters these tweets based on 3 hardcoded penalties.8

There are 25% penalties for replies and for tweets from non-followers. Both penalties are increased to 50% if the reader is scrolling through a topic section.7 Finally, the algorithm penalizes multiple tweets from the same user with an exponential decay that bottoms out at a 75% penalty.

Same-author Penalty

Across the first eight same-author posts, retained score falls from 100 percent toward a long-run floor of 25 percent, equivalent to a maximum penalty of 75 percent.100%87.5%75%62.5%50%37.5%25%12.5%0%12345678Number of tweets seen from the same authorOriginal score retained

There’s a special filter on political topics that rewards consistency in posting the same kind of content. Topics like Politics, Elections, News and the Iran War, can be set to three different consistency filters, which remove everyone who doesn’t spend 50%, 75%, or 90% of their most recent tweets talking about that topic.9

There are two hidden lists — V0 and V1 — of special accounts to promote under certain filters. Despite open-sourcing this penalty, X has not released these special lists.

ModeValueRule
Unfiltered0Keep every topic label
CuratedV01Keep a topic when the author appears in its V0 curated category
CuratedV0V12Use the imported V1 author-to-category map
PostBased90Pct3The topic appears in at least 90% of the author’s recent qualifying posts
PostBased75Pct4The topic appears in at least 75% of the author’s recent qualifying posts
PostBased50Pct5The topic appears in at least 50% of the author’s recent qualifying posts

Bit by bit, X is becoming more transparent. That process reveals ham-fisted filters and hardcoded numbers. Nonetheless, X remains the most open social media algorithm to date.

X Reach Simulator

Simulated Posts

Timeline Events

Click on an event to add it to the timeline.

Like selected.

Interactive visualisation by lumpenspace / hyperplexBased solely on the Phoenix prediction scores and multiple tweet penalty. Assuming a constant rate of user activity, baseline impressions as 1000, and holding all else equal.

Footnotes

  1. Phoenix supplies the action predictions; Home Mixer applies the published weights in the primary scoring defaults and ranking implementation.

  2. Excluded from visual: Photo expand (+0.05); Video open (+0.05); Video-quality view (+0.05); Quoted-post click (+0.05); Post unexplored (+0.02); Not dwelled (−0.02); Dwell time (+0.004/s).
    Reply definitions: Reply (mutual) — Viewer follows the author, author follows the viewer, and the candidate is neither a reply nor a repost; Reply (ordinary) — Every other reply candidate.

  3. The checked-in source caps are defined together in the Home Mixer parameters; the SimClusters source also imposes its own 800-candidate cap.

  4. SimClusters builds account clusters in the KnownFor updater, aggregates viewer interests from follows and favorites in InterestedIn, and retrieves posts through the Home source.

  5. The streaming SimClusters configuration sets the post-vector half-life to eight hours.

  6. Simulation of the released algorithm using example data for entry times and original post scores.

  7. The primary multiplier defaults and ranking code define the out-of-network, topic-request, reply/repost, and author-diversity reductions.

    MechanismScore retainedReductionScope
    Standard out-of-network original0.75000025%Posts by accounts outside the viewer’s follow graph
    Topic-request out-of-network original0.50000050%Topic-filtered requests
    In-network reply or repost0.75 / 0.5025% / 50%Treated like out-of-network content; topic requests use 0.50
    Same author: first item1.0000000%Formula: 0.75 × 0.5k + 0.25, where k counts earlier items by that author
    Same author: second item0.62500037.5%
    Same author: third item0.43750056.25%
    Same author: fourth item0.34375065.625%
    Same author: fifth item0.29687570.3125%
    Same author: long-run floor0.25000075%
  8. Home Mixer ranking stages:

    StageDetails
    Request contextRecent actions, following, blocks, mutes, topics, and seen and served history.
    Retrieve + hydrateThunder, Phoenix and SimClusters candidates plus post, media, author, label, language and engagement data.
    Eligibility + dedupeCross-source deduplication, age, access, blocks and mutes, and seen and served posts.
    Score + rerankPhoenix action predictions, the weighted sum and score adjustments, then VM Ranker reranking.
    Select + visibilityTop-K selection, per-post visibility filtering and conversation deduplication.
    Additional feed sourcesAds, Who to Follow, prompts and modules.
    Blend feed itemsBlenderSelector interleaves modules and enforces ad adjacency before the For You timeline is returned.

    Home Mixer Ranking

    A simplified Home Mixer ranking flow. Request context leads to candidate retrieval and hydration, eligibility and deduplication, scoring and reranking, then selection and visibility filtering. Ranked posts and additional feed sources connect to the feed-blending stage before delivery to the For You timeline. The accompanying footnote explains every stage.POST PIPELINERequest contextRetrieve + hydrateEligibility + dedupeScore + rerankSelect + visibilityBLENDING PIPELINEAdditional feed sourcesBlend feed itemsranked postsFor YoutimelineA mobile layout of the simplified Home Mixer ranking flow. Request context moves through retrieval and hydration, eligibility and deduplication, scoring and reranking, then selection and visibility filtering. Ranked posts join additional feed sources at the blending stage before delivery to the For You timeline. The accompanying footnote explains every stage.POST PIPELINERequest contextRetrieve + hydrateEligibility + dedupeScore + rerankSelect + visibilityBLENDING PIPELINEranked postsAdditionalfeed sourcesBlend feeditemsFor Youtimeline
  9. The six mode values and the post-based index builder show the 50%, 75%, and 90% tests across typically the author’s 15 most recent qualifying posts.

Action or factorWeightEffect of a +0.01 prediction changeCondition
Report−234−2.34Prediction head
Mute author−58.8−0.588Prediction head
Not interested−43.2−0.432Prediction head
Block author−31.2−0.312Prediction head
Share by copy link+20+0.2Prediction head
Reply · mutual+20+0.2Effective base +5 and conditional +15
Reply · ordinary+5+0.05Base reply context
Share by direct message+5+0.05Prediction head
Quote+5+0.05Prediction head
Follow author+4+0.04Prediction head
Share+2+0.02Prediction head
Repost+1+0.01Prediction head
Favorite+0.5+0.005Prediction head
Post click+0.4+0.004Prediction head
Open link+0.2+0.002Prediction head
Photo expand+0.05+0.0005Prediction head
Video open+0.05+0.0005Prediction head
Video-quality view+0.05+0.0005Viewer has fewer than 10,000 followers; video is longer than 10 seconds
Quoted-post click+0.05+0.0005Prediction head
Post unexplored+0.02+0.0002Additive; in-network only
Not dwelled−0.02−0.0002Prediction head
Dwell time+0.004+0.00004Continuous-value head