Don’t hate the Game Theory hate the playas

It’s not about dating, it’s about data

Eric George
5 min readMar 20, 2014

Tinder uses data from its users’ Facebook profiles to suggest other users who they might for some reason be compelled to contact.

Many dating services available today pride themselves on algorithmic matching science, based on complex models of their members online personas. Tinder however relies on relatively few salient commonalities, such as age, interests (via the ubiquitous conduit of Facebook Likes) and importantly, geographical location.

When Mark Zuckerberg’s early inebriated enterprise, Facemash (before it was even Facebook) came into being, its mechanic of anonymous attractiveness judgement was met with rapid uptake, and of course outrage.

Since then social media in its various forms have been steadily reducing the collective emotional lexicon. In a world of Likes, Shares, Thumbs up, Stars etc. it seems that the world is now more than happy to rifle through a convenient directory of demographically similar humans.

Yay or Nay, Like or Nope, once callous and morally deplorable, is now a mindless pastime. Perfect for filling brief in-between moments of boredom from waiting for coffee, to having a shit. There are so many users, that Londoners, for example are only interrupted by the eventual arrival of the night bus, or in some cases Tinderitis, the affliction of repetitive strain from too much swiping.

The Instagrams and WhatsApps of the world get bought for billions not for their technology, but for their user base. And like them, Tinder’s value lies in its users and their continued engagement. Luckily, it’s addictive. Basic game theory states that small incremental rewards (matches) timed right, will keep people swiping.

Maths

…lets call a like 1 and a nope 0.

A B
1 1 = Match
0 1 = Nothing
1 0 = Nothing
0 0 = Nothing

Possible outcomes resulting in a match: 1/4

A match can only happen if person A and person B make an affirmative vote. However, if B likes A but A didn’t like her back, A would never know. Regardless of what A really thinks, what if he just likes everyone?

What’s actually the cost of swiping like on everyone? Nothing.

A B
1 1 = Match
1 0 = Nothing

Possible outcomes resulting in a match: 1/2

Market research companies use all sorts of tricks gimmicks and good old fashioned bribery to get people to fill in surveys or complete polls. But using a muscle memory level of interaction, an addicted user base of millions are making (possibly useful) micro judgements every day.

Reducing the “choice” part of the game to only the other party may not get person A laid, but they will have total visibility of their likes, and from this data can be inferred performance of their profile picture.

Tinder is a massive distributed focus group for profile pictures!

Time to tinker with Tinder

Using a tool called Mitmproxy to inspect HTTP traffic I had a little look under the hood, of the webservice behind the app and found a few key endpoints.

/ping # Checks in with a location from the phone’s GPS
/recs # Requests a list of the next 10 people in the area
/like/{id} # This is what happens when you <3 someone!
/updates # Heartbeat request, returns any new info, like matches

I knocked together a quick and shitty utility using Libmproxy, (the scriptable business end of Mimproxy) to intercept some of the data, firstly location. Using standard Lat/Long coordinates, any location can be assumed:

POST /ping
{u’lat’: 1.290301, u’lon’: 103.844555}

Altering the location facilitates testing profiles across different markets, as well as mitigating the exhaustibility of less populous metropoles.

Spread the Love

Next, data collection (without risk of Tinderitis). The app authenticates with an auth token, by intercepting and saving it, future requests are then made without bothering the iPhone app. A test location is set, and then begins the terrifyingly autonomous process of liking everyone on the /recs list for that area.

Look at it go!

Generally the /like requests are met with a False (no existing match) response, so the script also pays attention to the response of the periodical /updates call which the app uses to learn of new matches.

Once a batch of a couple of thousand auto-likes is complete, the app is left for a fixed period (in the same location) in which any likes are collected and counted.

Uncertainty

This approach means that of a relatively large sample size, any matches within it will be known. What is still not known is how many impressions (of the specimen profile) are actually served, probably not all of the auto liked sample. Therefore, a fixed time period should be applied to the resulting count.

A result from this kind of experiment might look something like

In [n] hours in [x] location a sample of [n] profiles were liked, resulting in [n] matches.

In this result, the (auto-liked) sample size probably isn’t important past a certain amount. It simply serves as way to maximise visibility on incoming likes. As long as this sample is higher than the number of impressions is likely to be.

It is however not inconceivable that the number of interactions a user makes on the system affects the number of suggestions of their profile to someone else. This is backed up by the fact that during and shortly after, a session of auto liking, matches often follow. Of course this hypothesis could actually mean that increasing the test sample is taking the unknowable degree of match visibility even higher.

Metric

So the real metric should be something like:

27 matches per 36 hours, with a visibility factor of 2000

This metric can be applied to compositional nuances of profile crafting, or testing response to an unchanging profile across a range of locations.

Conclusion

I’ve had enough of this, but I think I should move to New York.

Update

If nuances of profile crafting aren’t your thing, this guy has sledgehammered his profile by faking the authority of Tinder UI elements in his images. Shit typography aside, it seems quite a few people were taken in… https://medium.com/better-relationships/4f08c9ec0d80

--

--

Eric George

Maker of stuff, enemy of crumbs, look-er-at-er of cat gifs