Understand Facebook | How Facebook determines the list of 10 Friends to display on the left of your profile?
[This is a preliminary draft]
You thought this list was randomly generated... Clearly not. Refresh your profile a few times in a given laps of time and you will see that the list displays consistently the same people!
Since a few weeks I tried to understand a bit better which are the parameters taken into account by the Facebook algorithm in charge of this list.
H1) the algorithm displays the profiles I have most visited recently (the last day or 2);
H2) the alg. displays the profiles of people who have most visited my profile recently (the last day or 2);
H3) the alg. displays the profiles of my friends currently online. To note that H3 can be correlated with H2.
H4) the alg. displays the profiles of people I've interacted with recently. Possibly correlated with H1, H2 and H3.
To investigate which hypothesis(es) was (were) the most relevant, I used the following methodology.
i) I created a database that was containing, among other things, the names of my friends displayed on the famous list at time t, e.g. friends A, B, C ... are displayed at time t.
ii) In this database, I saved the names of my friends together with the time of my visits to their respective profiles. To test H1, I only visited extremely frequently the same profiles during the period of the test.
ii) In the same database, I inserted the type and the time of every interaction whith my friends, e.g. I liked the post of X at time t.
iii) I also saved the names of people who where available to chat (and then online) at the different times, e.g. X is online at time t.
To test H2) was a bit tricky but I built an index in which the fact that the friend X was displayed at time t on the list, i.e. X_t was explained by my interaction with X (e.g. I liked X's post or photo) together with a new post on my profile and a dichotomic variable regarding the fact that X is online (chat) plus an error term. The crucial assumptions here are:
A1) When I interact with X, I increase the probability for X to visit my profile.
A2) When I post something on my profile, I increase the probability of visits to my profile from X.
To make the results even clearer, I decided to like posts and photos of friends I don't interact with normally and vice-versa.
III) Preliminary Results
A first clear and obvious result from the data is that the algorithm does not take into account or puts a very low weight to my visits to my friends' profiles. Then I rejected H1. As a simple illustration, some people I did not visit once during the experiment were consitently appearing in the list.
What appears clearly too is that the algorithm tends to display the friends that have visited recently my profile. Indeed, I found that the names appearing at time t in the list were consistently people I've interacted with recently by liking their post or photo.
So, here is my main preliminary result: people displayed in your list of friends are the ones that visited your profile the largest number of times in the last day or 2.
Facebook and Privacy... a long story!
Ahhh and in bonus: you know the "People you may know" section displayed at the right of your profile. Guess what? This section should be renamed "People who are not your friends but who attempted to visit your profile recently" ;)
A possible interesting way to test H3 would be to gather data about the activity of your friends at time t, e.g. my friend X posted a new status at t and uploaded a photo at t+1.