HomeWeights

X algorithm weights: what’s public, what’s withheld

Short version: every 2026 weight is secret. The scorer reads all 22 constants from crate::params — a module that does not exist in the repo (home-mixer/scorers/ranking_scorer.rs). The only weight values ever published are from the 2023 heavy ranker in the frozen twitter/the-algorithm. Every article and tool quoting exact current numbers — “a reply is worth 150 likes” — is recycling those. Verified 2026-07-31.

Signal (2026 head)Polarity2023 LEGACY-2023
Favorite (Like)positive0.5
Replypositive13.5
Repostpositive1.0
Photo expandpositive
Click (open post)positive11.0
Profile clickpositive12.0
Video quality viewpositive0.005
Sharepositive
Share via DMpositive
Share via copy linkpositive
Dwellpositive
Quotepositive
Quoted clickpositive
Quoted video viewpositive
Dwell time (continuous)positive
Click dwell time (continuous)positive
Follow authorpositive
Not interestednegative
Block authornegative
Mute authornegative
Reportnegative-369.0
Not dwelled (scroll-past)negative

The receipt

The scorer’s own imports, verbatim from home-mixer/scorers/ranking_scorer.rs at commit 0bfc279:

use crate::params::*;   // ← this module is NOT in the repository

let favorite = params.get(FavoriteWeight);
let reply    = params.get(ReplyWeight);
let retweet  = params.get(RetweetWeight);
// …all 22 constants load from the withheld params service at runtime

The complete 2023 public table

For the record, all ten constants the 2023 heavy ranker ever made public — including the ones with no direct 2026 head, which is why some rows above show “—”. LEGACY-2023 Source: twitter/the-algorithm (the-algorithm-ml heavy-ranker weights, frozen at c54bec0).

2023 engagementWeight2026 equivalent head
Favorite0.5favorite
Retweet1.0retweet
Reply13.5reply
Good profile click12.0profile_click
Video playback ≥50%0.005vqv (redefined)
Reply engaged by author75.0none — folded into the learned reply head
Good click (conversation + dwell)11.0click + click dwell
Good click v2 (profile dwell)10.0none — nearest is profile_click
Negative feedback−74.0split into not_interested / block / mute
Report−369.0report

The part nobody says out loud: this is a transparency regression

The 2023 open-sourcing was praised for exactly one thing above all others — it published the actual engagement weights, the first time a major platform had shown its scoring coefficients. The 2026 release publishes the formula’s shape (Σ weightᵢ × P(actionᵢ)) and withholds every coefficient.

It compounds: xAI’s own headline claim is that they “eliminated every single hand-engineered feature and most heuristics.” Removing the interpretable features while withholding the weights moves the system further from outside inspection, not closer — the learned parts are opaque by nature and the tunable parts are now secret. The governance shifted too: the 2023 repo invited issues and pull requests; this one has issues, PRs, discussions and wiki all disabled, three squashed commits authored by “CI agent,” and a license change from AGPL-3.0 to Apache-2.0. It is a publication, not a project.

That is the honest frame for this whole page: the only real weights that have ever existed publicly are the 2023 ones below, and they are three years stale.

What the 2023 numbers still tell you

Directionally, the 2023 stack priced conversation and identity far above applause: a reply at 13.5 vs a like at 0.5 (27×), a profile click at 12, and a report at −369 — one predicted report erased about 738 likes’ worth of score. The 2026 formula keeps the same shape (separate heads for each action, explicit negatives), so the structure still argues for substance over bait — but treat every exact ratio as history, not fact.

The demo weights are not production

The May 2026 runnable pipeline ships illustrative weights in phoenix/run_pipeline.py (fav 1.0, reply 0.5, repost 0.3, dwell 0.2) — sample code, contradicting the 2023 ratios, and explicitly not what production uses. If a tool “scores” you with those, it’s scoring you with a code comment.

What the released model implies (measured, not guessed)

Weights are withheld, but predicted probabilities aren’t: the Lab ran the released checkpoint on 50,000 real posts. Per impression, a predicted reply is ~345× rarer than a predicted like and a quote ~770× rarer — so the high 2023-style weights on conversation actions were compensating for rarity. Full tables, age curves and the backtest are on the Lab page.

When this changes

Musk pledged (July 2026) to open the full codebase with third-party verification. The day real weights land in public code, this table gets a third column and the changelog gets its biggest entry. Until then, distrust precision.