X Algorithm NOTES
A like has more weight over a repost
you are shown 1,500 and X tries to priorotize by likelyhood of you like, coment, repost
Likes, reports, quotes, followings, bookmarks, post clicks, time spent on each post, profile clicks, and more information like Alex’s geolocation, the trending topics in that location, etc. It also understands the content he does not like - collectively, this information is known as ‘Data’.
🌟X assigns a different weight to each of these data. For instance, when Alex likes a post from one user (say Bella) and reposts a post from another user (say Charlie), X understands that Alex has more affinity towards Bella’s posts than Charlie’s. This happens on a large scale with Alex and every user and every post that he can be associated with. A graphical representation of the same is made. Such kind of a relationship is called ‘Feature Formation’.
🌟X gathers 1,500 posts from the features so formed. In the next step, X tries assigning a rank to each one of them. The data comes into the picture again. Based on Alex’s interaction so far on X and based on the current popularity of each post in the 1,500 posts, X determines the probability of Alex - liking it, commenting on it, reposting it, etc. Here again, each probability is assigned a different weight. For instance, if Bella makes two posts and Alex is more likely (probability) to like one and comment on the other, the later post will be shown first. This process is known as ‘Ranking’.
Now that the posts are ranked, they undergo refinement. For instance, Alex will be bored if he sees 10 posts of Bella, one below the other, when he follows 100 other users. Alex should also not see content that is legally banned in his country. There should also be a good mix of posts from accounts that Alex follows and ones he doesn’t at present. This refinement happens in the Filtering, Heuristics, and Product Features stage.
The final step is to mix these posts with Ads (that’s obviously how X makes money) and follow-recomendations. This is the mixing stage.
The key areas where much of the work happens is in stage 2 & stage 3, i.e., Feature Formation and Ranking
Objective: How can you, as a user hack these two stages in order to maximize reach?
For that, we’ll look into these 2 stages with more diligence considering two users viz., you, a post author who likes to maximize reach, and Alex, a random user on X.
Essentially, what happens here is:
🌟If you are Blue verified and are followed (by Alex), = 4x higher than a random unverified post author on X
🌟If you are Blue verified and are not followed (by Alex) = still get a 2x higher than a random unverified post author on X.
🌟If Alex favourites your post (Likes + Bookmarks) = 30x
🌟If Alex reposts your post= 20x
🌟If Alex follows you = 4x
🌟If your posts carry an image & audio = 2x
🌟If your post is in line with current trend = 1.1x
🌟If you’ve used an unknown language/word in your post = (0.005) deboosted by 20x
🌟If your post contains offensive words = (0.1) deboosted by 10x
🌟If your post has multiple hashtags = (0.6) deboosted by 1.1x
🌟If Alex has unfollowed you recently, muted, blocked, or reported you as spam = NO relationship is formed
🌟If your post is NSFW, abusive, or toxic = NO relationship is formed
Ranking:
Understand that It is ranked from the highest possible rate of interation to least.
Tools that X uses:
Before diving into the algorithm, it is vital to have an understanding of the following:
🌟Features: they act as inputs for all of X’s algorithm [they can be likes, reposts, replies, clicks, mutes, blocks, user data, etc.]
🌟Packages: These bots/programs take features as input and create a graph → cluster them → pick top posts from it → rank them → mix them with ads and serve the For you feed.
🌟Graphing: A relationship graph is created among various nodes (entities) within X. A sub-part of the process, graphs are the outcome of the machine-learning packages on X and it is based on this the 1,500 posts are picked.
A) Features:
Tweet
-Engagement
-Likes/Favourites
-Reposts
-Replies
-Clicks
-Profile Clicks
-Picture/Video
Social graph
-Following
-Circles
User Data
-Blocks
-Unfollows
-Mutes
-Spam Reportsㅤ
-Abuse Reports
-Geolocation
B) Packages:
X has a gamut of packages (programs/bots).
The most essential ones worth knowing are:
Package Name
-Purpose
--Source
-RealGraph
-captures the relationship between users
--RealGraph
-GraphJet
-captures the relationship between users and posts
--GraphJet
-TwHIN
-captures the relationship between users, posts, and other entities
--TwHIN
-SimClusters
-groups users & tweets into a ‘basket’ (similar clusters) and captures the relationship between clusters
--SimClusters
-HeavyRanker
-gives a final ranking for the posts
--HeavyRanker
-Trust-and-safety-models
-filters abusive and NSFW content
--Trust-and-safety-models
-Visibility-filters
-filters content based on legal compliance, blocked accounts, etc
--Visibility-filters
-Home-mixer
-mixes posts with ads and follow-recommendations to be displayed on the feed
--Home-mixer
c) Graphing:
Four key packages viz., RealGraph, GraphJet, TwHIN, and SimClusters get into work here and do the following:
1- Creates a graph between users.
Here, the users are nodes and the edges that connect them are the interactions (can be a like, a repost, etc.), and each edge is directed (A→B is different from B→A) and carries a weight (indicating relationship strength)
2- Creates a graph between users and posts
3- Associates users and posts into one cluster and creates a graph of clusters 145K and can be located in multiple Cluster=Topic/category
👉For the Representation-Scorer:
{favourites, reposts, followings, shares, replies, posts, etc } = positive signals
{ blocks, mutes, reports, see-fewer } = negative signals
The Process:
1. Candidate Sourcing:
50% (or) 750 tweets come from users you follow, a.k.a. In-network.
50% (or) 750 tweets come from the most relatable posts but you don’t follow the authors yet, a.k.a. Out-of-network
Trust-and-Safety works in parallel with all of the above.
2. Ranking:
Now that X has fetched 1,500 posts to be displayed, here comes the next challenge - in what order they are to be displayed to the user. X’s blog reads:
There are 2 values here: weights and probability.by the HeavyRanker package
There are 2 values here: weights and probability.
The post itself, and
The user that the post is being recommended to
Computing Probability:
👉The probability the user will favorite the Post.
👉The probability the user will Retweet the Post.
👉The probability the user replies to the Post.
👉The probability the user opens the Post author profile and Likes or replies to a Post.
👉The probability (for a video Post) that the user will watch at least half of the video.
👉The probability the user replies to the Post and this reply is engaged by the Post author.
👉The probability the user will click into the conversation of this Post and reply or Like a Post.
👉The probability the user will click into the conversation of this Post and stay there for at least 2 minutes.
👉The probability the user will react negatively (requesting "show less often" on the Post or author, block or mute the Post author).
👉The probability the user will click Report Post.
Weights:
The probability that the user will...
-Sentiment
--Weight
Like the post
-Positive
--0.5
Retweet the post
-Positive
--1
Reply to the post
-Positive
--13.5
Open the post author’s profile and like or reply to a post
-Positive
--12
[Video] will watch at least half of the video
-Positive
--0.005
Reply to the post and the tweet author will engage with the reply
-Positive
--75
Click into the conversation of the post and engage with a reply
-Positive
--11
Click into the conversation of the post and stay there for ≥ 2 mins
-Positive
--10
Request “show less often”/block/mute the post author
-Negative
---74
Report the Tweet
-Negative
---369
3. Filters, Heuristics & Product Features:
This is done to enhance product quality.
👉Visibility Filtering: Hides posts from blocked or muted accounts. The visibility-filters package does this. It also filters out posts from accounts held back by legal agencies, suspended accounts, etc.
👉Author Diversity: Prevent seeing too many posts from the same person in a row.
👉Content Balance: Show a mix of posts from in-network and out-of-network
👉Feedback-based Fatigue: Reduces visibility of posts that have received negative feedback from the user.
👉Social Proof: Ensures out-of-network posts are shown only if some of the accounts followed by a user have interacted with them.
👉Conversations: Provide more context to a Reply by threading it together with the original post.
👉Edited Tweets: Keeps the feed fresh by replacing outdated tweets with their updated versions.
4. Mixing & Serving:
Ranked Posts + Ads + Follow-recommendations = "For you" feed
Understanding Reach:
Based on the above process, there are four levels where you can take advantage as a post author to maximize reach.
1. At the Candidate Sourcing Level
Objective: make your nodes connect with as many nodes as possible and increase the relationship strength
retweetCountParams = 20.0
favCountParams = 30.0
inDirectFollowBoost = 4.0
inTrustedCircleBoost = 3.0
luceneScoreParams = 2.0
urlParams = 2.0
selfTweetBoost = 2.0
tweetHasImageUrlBoost = 2.0
tweetHasVideoUrlBoost = 2.0
tweetHasTrendBoost = 1.1
replyCountParams = 1.0
isReplyParams = 1.0
multipleHashtagsOrTrendsBoost = 0.6
langEnglishUIBoost = 0.5
langEnglishTweetBoost = 0.2
reputationParams = 0.2
textScoreParams = 0.18
offensiveBoost = 0.1
unknownLanguageBoost = 0.05
langDefaultBoost = 0.02
ageDecayParams = slope = 0.005, base = 1.0
👉Follower Graph:
Your post
-is boosted by
to direct followers
4x
to trusted circle
3x
👉Tweet Engagement:
If your post
-it is boosted
gets a Favourite (Like + Boomark)
30x
gets a Repost
20x
has an image
2x
has a video
2x
in line with the current trend
1.1x
gets a reply
1x
Severe De-Boosts:
If your post
-it is boosted (deboosted) by
has unknown words/language
0.05 (-20x)
has offensive words
0.1 (-10x)
has multiple hashtags
0.6 (-1.7x)
👉User Data:
Getting blocked, muted, reported as abuse or spam, and being unfollowed hurts (for up to the next 90 days from any of them happening)
Unfollows are not as heavily penalized as the other 4
Also, if you are a Verified (Blue subscribed) user, you get a boost.
-blue_verified_author_in_network_multiplier
default = 4.0
min = 0.6,
max = 100.0
-blue_verified_author_out_of_network_multiplier
default = 2.0
min = 0.6,
max = 100.0
👉Escaping Trust & Safety Filters:
4 filters you want to avoid:
pNSFWMedia: Model to detect tweets with NSFW images. This includes adult and porn content.
pNSFWText: Model to detect tweets with NSFW text, adult/sexual topics.
pToxicity: Model to detect toxic tweets. Toxicity includes marginal content like insults and certain types of harassment. Toxic content does not violate Twitter's terms of service.
pAbuse: Model to detect abusive content. This includes violations of Twitter's terms of service, including hate speech, targeted harassment and abusive behavior.
2. At the Ranking Level
Hacking the probability weight table
The probability that the user will
-Sentiment
Weight
Like the post
Positive
0.5
Retweet the post
Positive
1
Reply to the post
Positive
13.5
Open the post author’s profile and like or reply to a post
Positive
12
[Video] will watch at least half of the video
Positive
0.005
Reply to the post and the tweet author will engage with the reply
Positive
75
Click into the conversation of the post and engage with a reply
Positive
11
Click into the conversation of the post and stay there for ≥ 2 mins
Positive
10
Request “show less often”/block/mute the post author
Negative
-74
Report the Tweet
Negative
-369
3. At the Filtering, Heuristics, and Product Features Level
👉Timing your Posts:
Older posts are less relevant and are hence shown less often. Posts on X have a half-life of 360 minutes [6 hours] - This means that a post’s relevance will decrease by 50% every 6 hours
👉Ensure that your posts do not fall in the extremities of the legal spectrum
Actionable Intelligence
Getting Blue verified gives you an immediate boost of
4x to your followers
and 2x across X
Avoid using multiple hashtags.
You get immediately deboosted by 1.7x (i.e., by a factor of 0.6)
Avoid posting content that is NSFW (both media and text), abusive, or possibly misinformation (content that you are not sure of)
Offensive words also get deboosted by 10x (i.e., by a factor of 0.1)
Avoid posting content on sensitive topics.
Check the 👉GitHub page of the code to keep yourself updated on what X considers sensitive.
Stick to posting on one/a few topics. This way you develop a strong relationship with a cluster
👉The SimCluster package ensures that you have a strong relationship among members in a cluster. Source: SimCuster
👉Your post also gets a 3x boost to users in your Trusted Circle
Replying to content that is out-of-network also carries a penalty of 10. Unless you are sure that you can offset this by getting high engagement on such replies, try avoiding it
Quick-Wins
Try to use captive and relevant images and videos in your posts. They boost your post by 2x.
Avoid making spelling errors or posting in unknown languages (you can try representing them through images instead). They get deboosted by 20x (i.e., by a factor of 0.05)
Write long-form content or threads where the user might spend more than 2 minutes reading it
_good_click_v2: 10.0
Reply to people who comment on your posts.
engaged_by_author: 75.0
Sometimes, even having a captivating profile picture that might kindle a user to click your profile might help. If the user does so, ensure that they like your posts by pinning your top posts and by making sure your highlights tab is updated with your most interesting posts.
good_profile_click: 12.0
Challenging Choices
Every like, repost, comment, and bookmark that your posts get has a major boost (both at the Feature Formation stage and the Ranking stage).
retweetCountParams = 20.0
replyCountParams = 1.0
isReplyParams = 1.0
favCountParams = 30.0
Write on topics that are in trend ( but limit the use of hashtags). Apart from the hashtags, also use keywords that are trending. Your content gets boosted by a factor of 1.1x
Tweet at a time when your target audience is likely to be active on X. The half-life of content on X is 5 hours. This means that every 6 hours, the chance of your post being recommended to others is reduced by half. Experiment and arrive at an optimum time through trial & error.
Avoiding Pitfalls
Creating posts with unconventional opinions, that run counter to public acceptance may attract significant attention in terms of clicks and replies. However, it can also result in numerous reports, mutes, and unfollows. Avoid getting muted, reported, unfollowed, and blocked.
HeartThrob #FAE
HeartThrobFAE $FAE
BLOG POST 112: 112-the-x-algorith-story
WITH RESPECT TO: Yaeunda and The Genius Room LitCreations and the anybodycangetit.io Family
Twitter's X Let's Connect
E-Com/Art Gallery; PayPal, Stripe Resources from sales go into non-profit expenses
#objktcom #NFT #tezos $NFT Supporting mental health & connection through Digital collectables, NFT Art
BLOG POST 1-100 INDEX: blog-post-1-100-index
BLOG POST 101-200 INDEX (WIP) blog-post-101-200-index-wip
Here is a blog I did on my Thoughts and struggles on a bad day (Depression) the-last-flower
TO MAKE A DIFFERENCE IN THE WORLD:
The website digiofficial.com is the official website of Digi Planet, a project that aims to conserve and rewild endangered animals through unique NFTs. NFTs are non-fungible tokens, which are digital assets that represent ownership and authenticity of various items, such as art, music, games, and collectibles. Digi Planet creates NFTs of rare and endangered animal. These NFTs are sold on various platforms, such as OpenSea, Rarible, and Foundation. A portion of the proceeds from the sales are donated to various conservation organizations, such as WWF, IUCN, and WCS.
The founders of Digi Planet are zentaurios and DigiOfficial DigiNFTs Zentaurios is a digital artist and a wildlife enthusiast who creates the artworks for the NFTs. DigiOfficial is a software engineer and a blockchain expert who develops the smart contracts and the website for the project. They are both passionate about using technology and creativity to make a positive impact on the world.
SPONSOR/COLLABORATIONS:
anybodycangetit.io is a project that aims to create a platform for artificial intelligence (AI) integrations and exclusive services for the NFT (non-fungible token) community. The project is led by LitCreations88 LitCreations88 ABCGI a team of creative and passionate individuals who have experience in various fields such as music, art, gaming, and blockchain. The project has a strong social media presence OfficialABCGI, where they regularly post updates, giveaways, and events related to their project.
#DucksetOverEverything
ducksetthediploquacks.com is a project that combines music, art, and NFTs to create a unique and immersive experience for the Duckset community. The project is led by OneLaneProductions, a group of talented and passionate musicians, producers, and artists who have been in the industry for over 20 years. TheDiploquacks has a strong social media presence on Twitter, where they regularly post updates, giveaways, and events related to their project.