Does posting too much (or too little) hurt my reach?

There is no posting-frequency penalty in the released ranking code — no "you posted too many times today" counter that downranks you. But two real mechanisms in the code mean frequency still matters indirectly: an author-diversity rule limits how many of your posts appear close together in one person's feed, and the conversation-dedup filter keeps only the best post per conversation. So posting more doesn't get you penalized — it gets you diminishing returns, because the system won't stack your posts in one feed. Quality per post beats volume.

"Post 10 times a day" and "don't post more than 3 times or you'll get throttled" are both common advice, and both assume a frequency rule. The released code has no such rule — but it does have two mechanisms that shape how volume translates into reach.

No frequency penalty exists in the code

We looked for a per-author rate limit, a daily-post counter, a "you've posted too much" score reduction — anything that penalizes an account for posting frequently. There isn't one in the released pipeline. Your tenth post of the day isn't scored lower for being the tenth.

CODE-CURRENT0bfc279verified 2026-06-12
The released ranking pipeline contains no link-penalty, URL-deboost, or external-link downranking mechanism. The only link-related signal is click_score in the weighted scorer, which is a positive term. Claim is scoped to the open release at the pinned commit.
xai-org/x-algorithm — absence across home-mixer/filters/* and home-mixer/scorers/*; only link reference is click_score in weighted_scorer.rs L53no link-deboost present in the open release; cannot prove absence in withheld layers

But author diversity spreads you out

The scoring stage applies an author-diversity decay: each additional post from the same author in a single feed is dampened, so one account can't dominate someone's timeline. Posting more often doesn't penalize you — it just means your posts compete with each other for the limited in-feed slots one author gets.

CODE-CURRENT0bfc279verified 2026-06-12
Within a single feed response, candidates from the same author are sorted best-first and each subsequent one is multiplied by (1 \− floor) \× decay^position + floor \— a geometric decay toward a floor, so only an author's top-scored post receives full value per feed load. The decay and floor constants are in the withheld params module.
xai-org/x-algorithm — home-mixer/scorers/author_diversity_scorer.rs, multiplier (L29\–L31) and per-author application (L52\–L65)as of the May 15, 2026 release

And dedup keeps only your best in a thread

Within one conversation, the dedup filter keeps the single best-scoring candidate and removes the rest:

home-mixer/filters/dedup_conversation_filter.rs · L22–L28@ 0bfc279
22if let Some((kept_idx, best_score)) = best_per_convo.get_mut(&conversation_id) {
      // replace the kept post if this one scores higher,
25    // otherwise this candidate is removed
28    removed.push(candidate);
  }
CODE-CURRENT0bfc279verified 2026-06-12
The dedup-conversation filter keeps only the highest-scoring candidate per conversation: when a second post from the same conversation appears, the lower-scoring one is removed.
xai-org/x-algorithm — home-mixer/filters/dedup_conversation_filter.rs, best_per_convo keep-highest logic (L19-L32)as of the May 15, 2026 release

So spamming a thread doesn't multiply your reach — the feed surfaces your strongest post in that conversation, not all of them.

Signal by signal

beliefwhat the code actually does
"Posting too much throttles you"No frequency penalty exists. But author-diversity decay means extra posts compete with your own for one person's feed.
"Post as much as possible"Diminishing returns: dedup and diversity cap how much of one feed you can occupy. Volume without quality is wasted.
"Posting too little hurts"No inactivity penalty in the ranking code either — though fewer posts simply means fewer chances to be retrieved.

What the code doesn't say

▲ What the code doesn't say

The exact diversity decay rate and dedup scoring — how steeply the second and third post are dampened — live in the withheld parameters. The mechanisms are code-current; their strength is not. There may also be anti-spam systems outside the ranking pipeline that consider volume.

UNKNOWN0bfc279verified 2026-06-12
The numeric values of the current weights are not included in the open-source release: weighted_scorer.rs references a params module (e.g. p::FAVORITE_WEIGHT, p::REPLY_WEIGHT) whose values are not present anywhere in the published repository.
xai-org/x-algorithm (verified by direct inspection of the full repository tree at the pinned SHA) — home-mixer/scorers/weighted_scorer.rs references crate::params; no params definitions with weight values exist in the releaseabsence verified at the pinned SHA; values may be published in a future release

What to do with this

Optimize per-post quality, not raw count. Since the feed won't stack your posts, every post should be able to stand on its own signals. xDoctor's timing and peak analysis helps you find when your posts actually land rather than guessing at a magic number per day.

← Reach problems