Author diversity resets on every For You request, so the same author repeats across consecutive loads
Author: aunysillymeCreated Sep 15, 2026Updated Sep 15, 2026
Problem The same author can fill For You across consecutive refreshes and scrolls, because author diversity is computed per request and starts from zero each time.
Current behavior (6bb4594)
author_pool_countscounts an author's posts only among the current request's candidates: https://github.com/xai-org/x-algorithm/blob/6bb4594/home-mixer/scorers/ranking_scorer.rs#L629AuthorDiversityDecay= 0.5,AuthorDiversityFloor= 0.25 (2nd post from an author in a request scored at 0.625, 3rd at 0.4375): https://github.com/xai-org/x-algorithm/blob/6bb4594/home-mixer/params/param.rs#L229-L245- The query carries
served_ids(post IDs only), andPreviouslyServedPostsFilteruses them to drop exact posts already served, not authors: https://github.com/xai-org/x-algorithm/blob/6bb4594/home-mixer/models/query.rs#L49 https://github.com/xai-org/x-algorithm/blob/6bb4594/home-mixer/filters/previously_served_posts_filter.rs#L26-L30
Result: an author's first post in every new load gets a full 1.0 multiplier, even if the viewer was shown that author several times in the previous load seconds earlier.
Proposal
- Carry recently served author IDs (bounded, e.g. last N requests or last few minutes) with the query.
- Seed
author_pool_countswith those counts, time-decayed, so diversity continues across loads instead of resetting. - Ship behind a param, off by default, for controlled evaluation.
Related
- #37: hard author cap within a single slate (off by default)
- #83: cross-request semantic fatigue (topic-keyed, not author-keyed)
- #172 (closed): diversity keyed on the retweeter
Open questions
- Window size and decay rate
- Whether mutual follows or authors the viewer engages with heavily should get a softer penalty
Source: xai-org/x-algorithm