# X algorithm weights

> X's published ranking weights, read daily from its open-source code. Synced from commit [a707cc2](https://github.com/xai-org/x-algorithm/commit/a707cc27ba36d3fa79450c9cffcc48a82d080b02), committed 29 September 2026.

Source file: https://github.com/xai-org/x-algorithm/blob/a707cc27ba36d3fa79450c9cffcc48a82d080b02/vm-ranker/params.rs
Human page: https://www.getlinkintel.com/x-algorithm · JSON: https://www.getlinkintel.com/x-algorithm.json · Feed: https://www.getlinkintel.com/x-algorithm/feed.xml

## How to use this when writing

These are X's published default ranking weights. They describe what the ranker rewards in aggregate. They do not predict what any single post will get.

- Write the post from the evidence and the creator's voice first. This section never overrides either. If the creator's own best post worked without a device (a question, a hook, a call to action), that is stronger evidence than any weight here.
- Do not add a question, call to action or hook because a weight rewards it. Replies are weighted highly, but a tacked-on question ("What are you building? Drop it below") reads as a template and risks the costliest signal in the hurts list. A question belongs only if it grows out of the post and is one this audience would genuinely want to answer.
- Never invent, stretch or generalise a fact to set up engagement. Accuracy comes before every signal.
- Then run the final check and change the draft only where it fails.

### Final check

- Would the creator actually say this, in these words?
- Is every claim supported by the brief or the facts provided?
- Is there a natural reason for someone in this audience to reply, quote it, or send it to one person? The best way is the content itself: a specific number, an honest admission, a finding that surprises. An explicit ask is optional and must pass the rule above.
- Would anyone outside the audience feel baited or want to hide it? If yes, remove what causes that.
- If the post is long enough that people tap in to read it, does what follows the tap hold them for 10+ seconds?

## What helps

| Signal | Key | Weight | Against a like |
| --- | --- | --- | --- |
| share via copy link | `ShareViaCopyLinkWeight` | 20 | 40x a like |
| reply | `ReplyWeight` | 5 | 10x a like |
| share via DM | `ShareViaDmWeight` | 5 | 10x a like |
| quote | `QuoteWeight` | 5 | 10x a like |
| follow the author | `FollowAuthorWeight` | 4 |  |
| share | `ShareWeight` | 2 |  |
| repost | `RetweetWeight` | 1 |  |
| like | `FavoriteWeight` | 0.5 |  |
| stay 10+ seconds after the tap | `ContClickDwellTimeWeight` | 0.4 (changed 29 September 2026) |  |
| tap in | `ClickWeight` | 0.3 (changed 29 September 2026) |  |
| open link | `OpenLinkWeight` | 0.2 |  |
| open a video | `VideoOpenWeight` | 0.07 (changed 25 August 2026) |  |
| expand a photo | `PhotoExpandWeight` | 0.05 |  |
| pause on the post (dwell) | `DwellWeight` | 0.05 (changed 25 August 2026) |  |
| tap through to a quoted post | `QuotedClickWeight` | 0.05 |  |
| unexplored post from an account you follow | `PostUnexploredWeight` | 0.02 |  |
| time spent on the post | `ContDwellTimeWeight` | 0.004 |  |

In X's published weights, a reply, a quote or a share via DM counts as 10 likes, and a share via copy link counts as 40 likes.

These are ratios between weights, not engagement counts. A weight multiplies X's predicted probability that a viewer takes the action, so it does not say what one real reply or like is worth.

## What hurts

| Signal | Key | Weight |
| --- | --- | --- |
| report | `ReportWeight` | -234 |
| mute the author | `MuteAuthorWeight` | -58.8 |
| not interested | `NotInterestedWeight` | -47.52 (changed 29 September 2026) |
| block the author | `BlockAuthorWeight` | -31.2 |
| scroll past without pausing | `NotDwelledWeight` | -0.02 |

## Recent changes

6 material weight changes across 2 commits since 25 August 2026. Last change 29 September 2026.

### 29 September 2026, commit a707cc2

Permalink: https://www.getlinkintel.com/x-algorithm/changes/a707cc2 · Commit: https://github.com/xai-org/x-algorithm/commit/a707cc27ba36d3fa79450c9cffcc48a82d080b02

- not interested (`NotInterestedWeight`): -43.2 to -47.52. X's published default for 'not interested' is -47.52, from -43.2. The penalty got bigger, about 95 likes rather than 86.4.
  - The "not interested" penalty got bigger: now as large as about 95 likes, up from 86.4 likes.
  - One predicted "not interested" now outweighs about 9.5 predicted replies (was about 8.6).
- tap in (`ClickWeight`): 0.4 to 0.3. X's published default for a tap is 0.3, from 0.4. It counts less than before, worth as much as 0.6 of a like rather than 0.8.
  - Tap in counts less: now worth as much as 0.6 of a like, down from 0.8 of a like.
- stay 10+ seconds after the tap (`ContClickDwellTimeWeight`): 0 to 0.4. X's published default for staying 10+ seconds after a tap is 0.4, from 0. It now counts; a tap followed by that read counts 0.7, from 0.4.
  - Stay 10+ seconds after the tap now counts: worth as much as 0.8 of a like.
  - A tap followed by a 10+ second read now counts 0.7, up from 0.4, while a tap alone counts 0.3.

### 25 August 2026, commit 0d3cdd8

Permalink: https://www.getlinkintel.com/x-algorithm/changes/0d3cdd8 · Commit: https://github.com/xai-org/x-algorithm/commit/0d3cdd806c405f04db7030f720b48687aa304061

- open a video (`VideoOpenWeight`): 0.05 to 0.07
  - Open a video counts more: now worth as much as 0.14 of a like, up from a tenth of a like.
- pause on the post (dwell) (`DwellWeight`): 0 to 0.05
  - Pause on the post (dwell) now counts: worth as much as a tenth of a like.
- watch a video properly (quality view) (`VqvWeight`): 0.05 to 0
  - Watch a video properly (quality view) no longer counts: it was worth as much as a tenth of a like.

## Limits

- The values are defaults mirrored from X's open-source ranking repo. A published default is not proof of what is live for every user.
- The weights describe what X's ranker rewards in aggregate. Nothing here predicts the reach of a post.
- LinkIntel is not affiliated with X or endorsed by it.

Applied to your own posts and your chosen reference posts, inside your agent: https://www.getlinkintel.com/connect
