Gate out-of-network reach on follower engagement RATE, not raw in-network volume
Author: aunysillymeCreated Sep 14, 2026Updated Sep 14, 2026
Problem Reaching people outside your follower network is extremely difficult for mid-size accounts.
Example account: ~30k followers, ~15k active. Average post: ~1k views, i.e. at most 6.7% of active followers (views also include non-followers, so true follower reach is lower).
The Aug 26 cold-start change (see #82) made early Home views drive out-of-network retrieval. That rewards follower-base size rather than how well a post landed with the people who chose to follow the author.
Contributing mechanics (6bb4594)
- Thunder retains in-network posts for 2 days (
post_retention_seconds= 172800) https://github.com/xai-org/x-algorithm/blob/6bb4594/thunder/args.rs#L49 - Up to 1,200 in-network candidates compete for 35 feed slots (
MAX_POSTS_TO_RETURN,RESULT_SIZE) https://github.com/xai-org/x-algorithm/blob/6bb4594/thunder/config.rs#L1 https://github.com/xai-org/x-algorithm/blob/6bb4594/home-mixer/params/config.rs#L18 - Author diversity decay 0.5 / floor 0.25 scores an author's 2nd and 3rd posts at 0.625 and 0.4375 https://github.com/xai-org/x-algorithm/blob/6bb4594/home-mixer/params/param.rs#L234-L245
- Author cold start only applies under 1,000 followers and 1,000 home views https://github.com/xai-org/x-algorithm/blob/6bb4594/home-mixer/params/param.rs#L660-L686
OonWeightFactor= 0.75,TopicOonWeightFactor= 0.5 https://github.com/xai-org/x-algorithm/blob/6bb4594/home-mixer/params/param.rs#L254-L277PostUnexploredWeight= 0.02, gated byPostUnexploredWeightInNetworkOnly= true https://github.com/xai-org/x-algorithm/blob/6bb4594/home-mixer/params/param.rs#L384-L406
Proposal
- Compute an in-network engagement rate per post: engagements from followers / followers who were served it.
- Once a post has been served to 30-40% of the author's active followers (4,500-6,000 for the example account) and its engagement rate clears a threshold, relax the OON discount for that post and make it eligible for Phoenix/SimClusters retrieval.
- Keep Phoenix prediction as is; it runs on the follower pool first, then carries into out-of-network ranking.
Why
- Followers opted in, so their reaction is the most honest quality signal a post has.
- Rate-normalizing removes the advantage of simply having a larger audience: 500 engagements from 5k followers says more than 800 from 185k.
- Non-followers then see posts that arrive with proof of engagement, which gives new viewers a credibility signal and should improve follow conversion.
Open questions
- Minimum follower-impression count before the rate is trusted (to avoid small-sample noise)
- Guarding against engagement pods inflating follower rates
- Whether "active follower" should use an existing definition in the codebase or a new one
Source: xai-org/x-algorithm