Should I delete old posts to improve my account?
Not for ranking reasons the open code supports — there is no "old posts drag your account down" mechanism in the scorer. Each post is ranked on its own predicted engagement; the algorithm does not compute an account-wide penalty from your back catalog. Old posts simply age out of feeds via the age filter — they're not actively hurting you. The real reasons to clean up are about reputation and safety: removing posts that could attract negative engagement, notes, or that you simply don't want associated with you. Delete for judgment, not for a ranking boost that isn't in the code.
"Delete your old tweets, they're hurting your reach" is common cleanup advice. As a claim about the ranking code, it mostly doesn't hold — but there are real, different reasons to clean up, and it's worth separating them.
No account-wide old-post penalty in the code
We looked for a mechanism where your historical posts compute an account-level drag on new posts'
reach. It isn't in the released scorer. Each candidate is scored on its own predicted engagement —
the algorithm doesn't tally your old posts into a penalty against your new ones.
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.
Old posts just age out
What actually happens to old posts is simpler: the age
filter removes posts older than the feed's max age from consideration. They're not suppressed —
they're simply no longer eligible for the live feed. A three-year-old tweet isn't dragging you down;
it's just not in circulation.
The AgeFilter removes candidates older than a configured max_age, partitioning posts on whether they fall within the allowed age window.
The real reasons to clean up
| good reason to delete | why it's about judgment, not ranking |
|---|---|
| Posts attracting negative engagement | Reports, blocks, and mutes are negative scoring signals on those posts — but the fix is per-post, and they age out anyway. |
| Content that could draw a note or controversy | Reputation and safety, not a reach multiplier. |
| Things you don't want associated with you | Personal/professional judgment — entirely valid, nothing to do with the algorithm. |
What the code doesn't say
Whether any account-level historical signal exists outside the released ranking pipeline. Our
claim is bounded: no old-post account-drag is in the open scorer. Reputation systems we can't see
could weigh history; we can only say the gameable "delete to boost reach" mechanism isn't in the
open code.
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.
What to do with this
Clean up deliberately, not superstitiously. If a post could attract negative engagement or doesn't represent you, remove it — that's sound. But don't bulk-delete your history expecting a reach boost the code doesn't offer. xDoctor's Sweeper is built for exactly this kind of targeted cleanup — removing the posts that actually carry risk — rather than scorched-earth deletion on a myth.