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