HomeSignals

The 22 scoring signals

The final ranking score is one line of Rust: the Phoenix model’s predicted probability of each action, times a weight, summed — home-mixer/scorers/ranking_scorer.rs. Fifteen terms pay you, five are held against you, and two continuous dwell-time terms measure whether anyone actually reads. Updated 2026-07-31, verified at commit 0bfc279.

combined = Σ P(action_i) × weight_i over 22 terms, then offset: if total_sum==0 → max(combined,0); elif combined<0 → (combined+negative_sum)/total_sum × NEGATIVE_SCORES_OFFSET; else combined + NEGATIVE_SCORES_OFFSET. Then author-diversity multiplier, then out-of-network multiplier.

Weight status: Every 2026 weight constant is read from crate::params / xai_feature_switches at runtime — the params module is NOT in the repo. No 2026 weight value is public.

SignalPolarityWhat it predicts
Favorite (Like)positivePredicted probability the viewer likes the post. In 2023 this was famously the LOWEST-weighted positive action…
ReplypositivePredicted probability the viewer replies. 27× a like in the 2023 stack; the 2026 weight is withheld but the he…
RepostpositivePredicted probability of a repost. The 2023 reference unit (weight 1.0).…
Photo expandpositivePredicted probability the viewer taps to expand an attached photo. A head your post cannot earn at all without…
Click (open post)positivePredicted probability the viewer opens/clicks into the post (detail view). Weighted with click-dwell separatel…
Profile clickpositivePredicted probability the viewer clicks through to your profile. 24× a like in 2023.…
Video quality viewpositivePredicted probability of a quality video view. HARD GATE in code: videos shorter than the minimum duration ear…
SharepositivePredicted probability the viewer hits the share button at all (superset intent of the two heads below).…
Share via DMpositivePredicted probability the viewer sends your post to someone privately. A distinct modeled head — private sends…
Share via copy linkpositivePredicted probability the viewer copies the post link — off-platform distribution as a modeled action.…
DwellpositivePredicted probability the viewer stops and actually reads (dwells on) the post, as a binary head — with contin…
QuotepositivePredicted probability the viewer quote-posts you.…
Quoted clickpositivePredicted probability a viewer clicks through into the post you quoted / your post when quoted.…
Quoted video viewpositiveVideo-quality-view probability for video inside a quoted post — with its own duration-gate feature flag.…
Dwell time (continuous)positivePredicted dwell DURATION (not just yes/no) enters the sum as its own weighted term — depth of read is scored, …
Click dwell time (continuous)positivePredicted time spent AFTER clicking into the post. Clickbait that gets the open but not the stay leaks value h…
Follow authorpositivePredicted probability this post makes the viewer follow you — the compounding action is a first-class scoring …
Not interestednegativePredicted probability the viewer hits 'Not interested in this post'. One of four explicit negative heads subtr…
Block authornegativePredicted probability the viewer blocks you off this post. Blocks also remove you from that viewer's candidate…
Mute authornegativePredicted probability the viewer mutes you. Muted authors are filtered from that viewer's timeline at the soci…
ReportnegativePredicted probability the viewer reports the post. In 2023 this was the most powerful single weight in the sys…
Not dwelled (scroll-past)negativePredicted probability the viewer scrolls past without engaging — being ignored is an explicit negative scoring…