Identifying Tinder Profiles on Facebook
In the online world, everything that you ever put is linked and connected. You might think that you’ve put some information on one platform and that’s it, you’re good to go. But you, my friend, are sadly mistaken. With this thought in mind and the privacy concerns linked with Online Social Media, we would like to introduce you to our problem statement: Identifying Facebook Profiles from Tinder Profiles. Given a tinder profile, our aim is to identify the corresponding Facebook profile of that person. We are addressing the linkability issue here and trying to highlight how more information than what you’ve mentioned on Tinder can be picked up from your Facebook profile. For those who don’t know, Tinder is a Dating Platform available for a Mobile Application and a Web App. It shows the geographically close profiles around you and you have an option to right swipe(Like) or left swipe(Dislike) them. When two people right swipe each other then it’s a match and they can initiate conversation on the in-app chat platform.
The motivation for the project was a study that was covered in one of the lectures. In the study, they try to get data from unidentified sources (Match.com, photos from Flickr, CCTVs etc.) and match them with data on identified sources (Facebook, LinkedIn etc) to identify an individual and possibly get some sensitive information. In their study, they had mined publicly available images from Facebook.com and tried to identify them on Match.com, a popular dating site in the US. They got an unidentified picture from match.com, identified picture from Facebook.com and matched an individual using the pictures and city. They used PittPatt for face matching and then used at least 5 Mturkers each for validating the PittPatt score. They were able to match 1 out of 10 profiles. This was the baseline for testing our accuracy and we were able to match 3 in 4 profiles accurately. We got 75% accuracy as compared to their 10% accuracy.
First, we started exploring ways to get data from Tinder. We used Pynder, a Python client for Tinder API. We collected 5000 profiles from it initially to get an idea of what all data we’ll be able to collect from Tinder. For the collection of these 5000 profiles, we used 3 Tinder accounts [2 males, 1 female]. These are the fields that we were able to collect for a given Tinder Profile:
Bio, Name, Photos, Thumbnail, Age, Date of Birth, Ping Time, Distance from you, Friends in Common, Likes in Common, A list of photo URLs, Instagram Handle, Instagram Photos, Schools, Jobs. We had to come up with a list of features that we could use to link the two profiles. For this, we carried out basic analysis on the profiles to see what was available and what wasn’t. For 55% of the profiles, the school/job was available. Availability of this information helped us in pinning down the correct profile. We also noticed that about 24% of the profiles had an Instagram handle linked with them. If the Instagram handle is also taken into account then the accuracy can be further improved as even more images and information will be available.
To get an idea of the type of accuracy that we were getting, we manually picked up 50 profiles and matched them by name + school/job. We got an accuracy of 65% in this case.
After this we proceeded to make a dataset to train a classifier. For this, we took 250 Tinder Profiles and found top 4 most probable Facebook Profile matches (based on Name, Age, Profile picture, schools and jobs, etc.) for a given Tinder Profile. This gave us a total of 1000 pairs of Facebook and Tinder profiles. Hence, the dataset used to train our models had 250 data points representing matching profiles and rest 750 data points represented pairs of profiles which belonged to different people.
We built classifiers using machine learning techniques, namely, SVM, Logistic Regression, Kernel-SVM. We tested the models using 5-fold, 20-fold and N-fold cross validations. The table given below has the accuracies that we got for these models. Logistic Regression was performing the best amongst all these algorithms.
Table 1. Performance of Various Machine Learning Techniques
This graph shows how age is a high predictor of the right profile. We see that when the age difference between Facebook and Tinder profile is 0, it accounts for approximately 95 % of the matching pairs in the data set.
Bar graph showing effect of various features(independent of each other) on the Probability of finding a matching profile
The Chrome Extension
To demonstrate the potential threat of identity leak from Tinder to Facebook, we developed a chrome extension. One can use this extension with the Tinder Web App. The extension allows the user to find the tinder profile on facebook in real time. The workflow is as follows:
- Go on web.tinder.com
- Click on the extension if you want to know more about the tinder profile
- The extension communicates with the Backend to fetch the Facebook profile that most likely matches the person on Tinder.
- Click on the pop-up to go to the Tinder profile.
The actual steps have been shown below using pictures.
Step 1. Go to https://www.tinder.com and log in with your facebook id. Tinder will show you your list of matches and a suggested profile that you can left or right swipe. On the top right corner, we can see the extension icon has been circled. The user will click on this icon to get the matching Facebook profile.
Step 3. Once the profile has been expanded, the user will click the extension icon in the top right position of the browser. As soon as the user clicks the icon, a popup appears on the screen with a GIF that tells the user that the profile is being fetched. On the backend, our server is doing all the heavy lifting of using browser automation to fetch candidate Facebook profiles and rank them using our ML algorithm and Face Matching algorithm.
Step 4. After the profile has been fetched, it is shown to the user in the popup itself. We also get the name and age from the Facebook profile, so that the user can match it with the current Tinder profile to get an idea whether or not our extension has fetched the correct profile. After all, our algorithm only has 75% accuracy. We also have an option where the user can specify whether or not this result was relevant. We ask him this as a yes/no question. We record this data at the backend and this result can be used to further improve the accuracy of our algorithm or identify changing trends in profile details.
Step 5. When we click on the profile picture in the pop-up, we are taken to the Facebook profile of the Tinder profile that was suggested. We can freely explore this profile to make the decision of whether we want to left/right swipe that person.
Step 6. Here we can see, that this person has the same photo on their Facebook account as they had on their tinder account. This confirms that our extension has fetched the right profile from Facebook.
We have included the video for the extension in our video submission which successfully shows what the user experience is.
Group: [L to R] Shrey Bagroy, Shambhavi Singh, Ritvik Agarwal, Karan Grover, Shubham Chauhan, Simran Saxena
- All images, infographics, comics used have been made by us