twitter / the-algorithm

Source code for Twitter's Recommendation Algorithm
https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm
GNU Affero General Public License v3.0
62.16k stars 12.16k forks source link

Tweets randomly disappear on the timeline in real time but they exist if you go to the user's profile #1762

Open anesuc opened 1 year ago

anesuc commented 1 year ago

Describe the bug As described in the title. I am not sure where to look in the source code yet. But this has been an ongoing issue where I am just casually scrolling through my timeline and a tweet or 2 disappear right in front of me. But if I had seen just enough, like their username and some of their tweet, I can go to their profile and I will be able to find it.

To Reproduce Steps to reproduce the behaviour: I am not sure how to consistently reproduce this. But it happens so often that I almost make sure to have a general idea of tweets on my screen in case 1 disappears randomly in front of me.

  1. Go to 'For You' tab. (I use this most often and have only experienced it there as far as I am aware)
  2. Start casually scrolling, opening tweets and coming back to the timeline. At one point while you scroll after coming back from a tweet a tweet or 2 will disappear the moment you scroll them into view.

Expected behavior Tweets should not randomly disappear if they are already on my timeline. Especially if they clearly still exist.

Screenshots Not applicable

Environment This has been a thing for a while, even on my old phone. However, here is my current device, version etc: OS: Android 12 Device: Galaxy Z Fold3 5G Twitter Version: 9.83.0-release.0

Additional context No.

nobodyindustries commented 1 year ago

Welcome to free speech, censorship.

Anyatrades commented 1 year ago

This has been an ongoing issue ever since the 13th January when For You came along. This bug might as well be the reason why some users have 50%-70% impression & engagement drop since For You introduction.

It's now been 3 months, still no fix.

I can confirm this from a different angle and there are many other users on platform trying to explain same issue with their tweets. Even Elon said it himself in one of earlier spaces this year that some users are experiencing surprisingly low engagments, and we STILL are!

REAL EXAMPLE EXPLANATION: My tweets (@anyatrades) always had an organic smooth curve of engagement after my tweet is sent out (likes, comments, retweets, impressions, new followers). Ever since For You the likes, impressions, retweets and comments got cut in half overnight and stayed there. I've been using twitter daily for nearly 12 years so I can easily recognize the exact sudden big change. After I send out a tweet now it gets initial minutes of normal organic activity then it suddenly all stops and gets cut, like somebody clicked break button, could be after 20 min, could be after 45 min or after 1 hour, it happens at random time but it gets abrupt stop, it's very obvious the engagement curve doesn't have organic smooth shape but sharp cut at once. Then a few hours later it picks up again, but of course by that time the best initial hours of post are gone and response is much weaker, and soon after that it gets killed again and it's over, this glitch is probably telling algo this tweet isn't doing as good, telling it that people aren't interested in it since they haven't been engaging with it consistently. Something is broken and it's causing tweet momentum to be killed & not being pushed forward even if it's great content.

It's also easy to see based on new followers on my account, I was gaining around 1,000 new followers per my weekend photo tweet, now it's 0-100. I was getting around 7,000 new followers monthly on average with 15M monthly impressions, now it's just 600 new followers with 5M impressions. So basically haven't moved anywhere since January. The difference before and after Jan 13th is clear as night and day.

There has to be a reason why all accounts aren't treated the same and this huge drop is happening for some accounts. I think Elon also mentioned something about those with internal tags having it worse. Maybe those internal tags placed on accounts by previous twitter team need to get removed as it's causing problems with new algo changes.

If you work at twitter you should be able to pull up analytics of my account and easily see the crash after Jan 13th I'm talking about, but I'm happy to help with this and provide all and additional info if needed, just reach out.

Thank you

aloiscochard commented 1 year ago

It's definitely not an easy problem to explain, but it's a natural effect of distributed computing (I'm referring here to OP question).

The whole system being deployed on a dynamically scalable infrastructure, it's always possible that some data which were processed in some part of the cluster did not replicate yet in other places.

The browser doing the request asynchronously, it can very well happen that between two RPC calls your session got allocated to an other shard/partitions/...

This often refered as "Eventual consistency" you can read more about it here: https://en.wikipedia.org/wiki/Eventual_consistency

Distributed computing is a complex field, and we are always open to hear about different approach or architecture that could mitigate such issues.

anesuc commented 1 year ago

It's definitely not an easy problem to explain, but it's a natural effect of distributed computing (I'm referring here to OP question).

The whole system being deployed on a dynamically scalable infrastructure, it's always possible that some data which were processed in some part of the cluster did not replicate yet in other places.

The browser doing the request asynchronously, it can very well happen that between two RPC calls your session got allocated to an other shard/partitions/...

This often refered as "Eventual consistency" you can read more about it here: https://en.wikipedia.org/wiki/Eventual_consistency

Distributed computing is a complex field, and we are always open to hear about different approach or architecture that could mitigate such issues.

I can kind of see where you are coming from. But I think there is a very easy solution to this if your suspicion is correct. It's not like the entire feed is refreshing or anything. It's just losing 1 or 2 tweets. Given this, why not do nothing with the feed if we already have our content in memory on the device until user reaches close to the end or refreshes? The only thing I think might be causing this is Ads. I think this might be where the issue is coming from. They are the only "tweets" to get randomly injected. There is a good chance there is a max number of tweets count and if we inject a random tweet Ad it removes an item in the list/array.

Also I want to add, twitter doesn't really add tweets to the timeline on the bottom in real time. It does at the top at some time. I know this because I have been in a situations with terrible network and if I get enough signal to load twitter it will load items on the entire timeline (just not all the images and such) and I can browse my entire timeline offline. Once I get a connection it will load the images but the timeline will remain intact and I can go into tweets and back etc without losing anything until I refresh or reach the bottom etc. Unless I experience this specific bug, but you get my point. I can even exit the app completely and come back whilst offline and my timeline and scroll position will be remembered. This tells me it does load the timeline content into the App storage. Which makes this weird bug a little strange

tom-ricci commented 1 year ago

I wonder if it's a tweet sorting issue; I've been experiencing it for at least over a year at this point and most of the time I notice the tweets appear somewhere else in my timeline. Maybe the timeline is being sorted to display the best tweet (according to the recommendation algorithm, anyway) at the time for that user? If so it would be trivial to fix, just disallow rearranging visible tweets.

tom-ricci commented 1 year ago

Oh! Also! I've noticed that this happens (for me anyway) only when tweets update. I.e. when the like or view counter updates.

anesuc commented 1 year ago

I wonder if it's a tweet sorting issue; I've been experiencing it for at least over a year at this point and most of the time I notice the tweets appear somewhere else in my timeline. Maybe the timeline is being sorted to display the best tweet (according to the recommendation algorithm, anyway) at the time for that user? If so it would be trivial to fix, just disallow rearranging visible tweets.

This is another solid theory of what might be happening. I never decided to look around my feed to find them. So this is possible. It would be annoying though because I would have to leave my position in the timeline to find it if this is the case. But yeah if you are right, should be an easy fix

TolstoyDotCom commented 1 year ago

I don't have the "For You" tab, either because I use desktop or because my Social Score is too low, but when I look at reply pages sometimes I see a tweet or two quickly slide out of sight. While there are lots of possible explanations, the one that's most likely based on how extensively Twitter supports censorship is that they decided on their own not to show you specific tweets or to de-prioritize them.

In case anyone didn't know, on reply pages, Twitter has three sections: "HighQuality", "LowQuality", and "AbusiveQuality". As I've endlessly documented, those rarely make any sense. They probably moved what they (almost certainly falsely) think of as "LowQuality" to the end of the list.

And, those "quality" labels pre-date Musk by several years. He really hasn't changed much despite claims to the contrary.

Anyatrades commented 1 year ago

Before new algorithm my account was doing great, being amplified at the top of the recommendations because of the great media content I was producing exclusively for Twitter. People love it and they engaged with it. I had one of top reply numbers per likes and follower amount which under new algo and the weight it gives to replies my account should be pushed even further and I was so excited when Elon took over.

But the exact opposite happened.

My account is wrongly on search ban and Limited Tweet visibility since 13th January.

Latest analytics show: -90% drop in new followers each of past 3 months vs average before. -60% drop in impressions.

You can't even find my account @anyatrades in twitter search even if you already follow me, try it. Instead you will find 50 scam impersonating accounts using my personal pictures, name to fraud people with my personal info. So Twitter is shadow banning the original verified account but showing impersonating scammers?

Makes no sense. Why is this happening? Twitter employees please look into it and fix it.

In the meanwhile my competitors with which we've been neck to neck in race for growth for years are continued to be amplified and surpassing me by 60k followers even if I was in the lead into end of 2022 by 30k followers.

I'm starting to think my case must be more than just disappearing tweets from For you page due to said above. Maybe it has something to do with bots replying 10 times with 3rd party links to anyone who commments under my tweets. Creating 10k spam link replies in seconds/minutes in my comments if 1000 people reply to me. This causing algo to think I'm the problem since it's happening under comments in my profile and shadow banning me because of it?

Video how it looks like under EACH reply I get: https://user-images.githubusercontent.com/130102008/232209118-c1b496cb-bc05-413b-8ace-0d0ff452a8f7.MOV

By the way I have also put new algo to the test to try and get better recommendation position on For you. Reply to reply gives you x75 so I replied like a hundred or more comments in first hour of posting. Should've get a ton of points from that since new algo rewards conversations right? Wrong! It was terrible, I've never had such bad result, I was losing followers whole day and lost most followers ever by a tweet, this never happened, it got completely shut down and didn't get shown to anyone new on for you. New twitter algo wants us to reply to rely and have conversations in comments but punishes you if you do so? Maybe it's because my account already has some problems or something isn't adding up. Twitter please explain or fix.

Thank you for bearing with me through explanations.

I'm here for further info if needed.

vnicolici commented 5 months ago

Still happening, and it's very annoying. Using a Chromium based browser on Windows. Apparently a similar issue was fixed in 2021.