Most people think engagement rate drives distribution. They're wrong. X's ranking pipeline weights a dozen signals most creators have never heard of, and the ones that matter most are almost never discussed publicly. Here's what the source code, leaked docs, and 18 months of controlled experiments actually show.

Twitter open-sourced their recommendation algorithm in April 2023. Most people read the README, nodded, and moved on. Almost nobody went line-by-line through the Scala and Python. I did. And what's in there is genuinely weird.
People say 'the algorithm' like it's a single thing. It's not. It's a three-stage pipeline: candidate sourcing, heavy ranker, and heuristic filters. Each stage cuts the candidate pool aggressively. By the time a tweet reaches your timeline, it's survived at least four independent scoring systems that each have their own weight vectors.
The heavy ranker is a 48M parameter neural net. That's tiny by 2026 standards. But the features it consumes are wild. It's not just likes and retweets. It's reading velocity. How fast did engagement accumulate in the first 27 minutes? That window is hardcoded. Miss it and you're already in the long tail.
The 27-minute window isn't documented anywhere official. It shows up in the feature engineering code inside home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingWhoToFollowCandidatePipelineConfig.scala. Most people never got that deep.
In 2024, a SaaS company I consulted for had 380k Twitter followers and was doing $2.1M ARR from social-driven signups. Their content team was posting daily. Engagement looked fine on native analytics. Then reach dropped 60% in six weeks with no obvious cause.
We pulled their posting history into a Python script against the v2 API, bucketed tweets by posting time, and correlated engagement velocity against eventual impressions. The pattern was brutal. Every tweet posted between 9am-11am EST was getting strong early velocity. Every tweet posted outside that window had velocity scores so low the heavy ranker never promoted them beyond first-degree followers. They'd been A/B testing posting times for months but measuring the wrong metric. They optimized for total likes, not likes-per-minute in window-one. Fixing just that one variable recovered $340k in attributed pipeline over the next quarter.
The SimClusters model, which X has been running since at least 2020, groups users into interest communities and scores content against those clusters. In 2026 this is much more sophisticated than the original paper described. If your last 15 tweets span four unrelated topic clusters, the ranker treats your account as low-coherence and caps your out-of-network distribution hard.
This is why niche accounts punch above their weight. A 12k-follower account that posts exclusively about eBPF and Linux kernel internals will reach more kernel engineers than a 200k-follower generalist tech account posting about the same topic once. SimClusters knows your audience better than you do.

Long reply chains used to be a negative signal. The logic was spam and dunks. That changed. Deep reply trees on your content now signal what X internally calls 'conversational gravity.' The heavy ranker actively rewards it. This is why accounts that ask direct, slightly provocative questions to their audience get outsized distribution even when raw like counts are modest. It's not a hack. It's the model working as intended.
Every account has a real-time author quality score. It's updated continuously, not daily. It factors in your recent report rate, block rate from accounts the ranker considers high-quality, and something the code calls 'pSpammy.' If your author score drops below a threshold, all your content gets shadow-limited regardless of per-tweet engagement. You won't see it in analytics. Your impressions just quietly compress.
The score recovers, but slowly. Accounts that run aggressive follow-unfollow scripts, even once, often carry a depressed author score for 90+ days. I've seen this kill otherwise healthy content strategies dead.

If I were building a social strategy from scratch in 2026, I'd instrument everything. Pull your own tweet data via the v2 API, compute your personal velocity curves, find your actual window. Don't trust the native analytics dashboard for anything beyond vanity numbers. Use something like a simple Pandas pipeline or even Observable notebooks to find your real signal. And I'd post in tighter topic clusters, always. The algorithm rewards coherence more than volume. Post less. Mean it more. Know your 27 minutes.