Positive vs Negative Signals on X
X's For You recommendation system does not treat every user action as a positive engagement. The current open-source algorithm explicitly models both positive engagement—such as likes, replies, reposts, shares and follows—and negative feedback such as Not Interested, block, mute and report. These predictions are combined during ranking. (GitHub)
Understanding this distinction is important because engagement is not simply “good” or “bad.” The recommendation system is trying to predict whether showing a particular post to a particular user will produce a useful experience.
Signal Direction Reference
| Signal | Direction | Modeled by Phoenix? |
|---|---|---|
| Like | Positive | Yes |
| Reply | Positive | Yes |
| Repost | Positive | Yes |
| Quote | Positive | Yes |
| Click | Positive | Yes |
| Profile click | Positive | Yes |
| Photo expansion | Positive | Yes |
| Video-quality view | Positive | Yes |
| Share | Positive | Yes |
| DM share | Positive | Yes |
| Copy link | Positive | Yes |
| Dwell | Positive | Yes |
| Follow author | Positive | Yes |
| Not Interested | Negative | Yes |
| Block author | Negative | Yes |
| Mute author | Negative | Yes |
| Report | Negative | Yes |
This list is based on the current Phoenix action outputs and ranking scorer. (GitHub)
How Positive and Negative Signals Combine
Positive Score vs Negative Score: The ranking scorer calculates positive components (likes, replies, reposts, dwell) and subtracts or penalizes negative components (Not Interested, blocks, mutes, reports) using configurable weights. (GitHub)
Zero Engagement Is Not Negative: A user simply scrolling past a post is distinct from explicit negative feedback ("Not Interested", "Mute", "Block").
Creator Takeaways: Optimize for content that earns meaningful engagement while minimizing friction that triggers negative user actions.
How X Ranks and Recommends Posts
Official Open-Source References
- • X / xAI — For You Algorithm repository — current architecture, Phoenix, Thunder, filtering, scoring and candidate pipeline. (GitHub)