USC
About this Article
Written by: Melisa Osborne
Written on: June 20th, 2016
Tags: computer science, algorithms, lifestyle
Thumbnail by: Eva Hill/Illumin
About the Author
Melisa Osborne was an undergraduate at the University of Southern California at the time this article was written. She graduated with a B.S. in Biomedical Engineering and has since happily found love.
Also in this Issue
To Float or Not to Float?Written by: Sabrina Winarko
Cryptography and Communication Security in a Digital AgeWritten by: Patrick Vanderwall
The Battle of SoundWritten by: James Bunning
The Future of SurfingWritten by: Christian Lee
Stay Connected

Volume XVIII Issue II > The Computation of Love: Finding Your Soul Mate Online
We’ll focus on the use of algorithms for online-dating websites. These algorithms serve as digital matchmakers determining the potential success for two individuals to have a satisfactory first date. For many matchmaking websites, the algorithms used to match individuals are heavily guarded. However, one website, OkCupid.com, uses a relatively simple algorithm and has openly published information on its application. This overview will serve as a basic introduction to the world of similar algorithms utilized by other online-dating websites.
The real challenge for those engineers building matching algorithms is to figure out how to take something as subjective as human attraction and translate it into components that a computer can process and analyze. The first step in quantifying human attraction is to collect data concerning an individual’s personality. The best way to collect this data is, well, to ask for it. Once a user creates a profile on OkCupid.com, he or she is given a set of yes-or-no calibration questions (Fig. 1). Are you a morning person? Do you like scary movies? Would you have sex on the first date? Many of the randomly dispensed questions are useful for matching “like with like.” In other words, the algorithm assumes that two people who answer a question in the same way will get along. For example, two individuals who believe in God are probably a better match than a devout Christian and an atheist.
But what about questions like: Do you like to be the center of attention? If an algorithm simply matched “like with like,” and both individuals in that match answered yes, they might have an issue sharing the spotlight and would not make a great pair. Another concern is that not all questions are equal. A question regarding the ethics of abortion reveals more about an individual than his or her movie preference, and you’re more likely to overlook a difference in genre preference rather than conflicting ethical mores. To resolve this glitch, the OkCupid algorithm includes three layers to each question: users are asked to (i) give their own response, (ii) indicate how they would like a partner to respond, and (iii) rank the level of importance that question plays in their life.

It Takes Two

Imagine yourself as a current OkCupid user. Welcome to the world of virtual dating! Your match percentage with another user, let’s call them “X,” is based on questions you’ve both answered. We’ll walk through an example where two users, you and X, have answered two yes-or-no questions (Fig. 2):
Melisa Osborne/Illumin
Figur​e 2:Example yes-or-no questions.
Take a moment to go over the responses to each question listed above. Since computers will be analyzing this data, numerical values must be assigned to variables such as degree of importance. These numerical values will eventually be used to calculate a percent match between you and X. OkCupid gives users the option to rate a question on a scale of “a little” to “somewhat” to “very” important (Fig. 3). A question rated as “a little” important is weighted with 1 point. “Somewhat” and “very” important questions are weighted with 10 and 50 points, respectively. Briefly, if X responds to a question with the answer you’d like a match to have, X has answered correctly and receives the full point value for that question.
OkCupid
Figure 3: Questionnaire on OkCupid.com. Users to opt to answer a larger number of these questions are rewarded with more accurate percent matches with other users. The optional "explain your answer" box allows users to offer greater insight that might not be inferred from a "yes" or "no" answer. This additional information is available to any other user who has answered the same question.
Let’s begin with your satisfaction rating of X. You chose to weight question 1 and 2 as “somewhat” and “very” important, leading to a total of 60 possible points that X can score. X answered question 1 incorrectly, in this case meaning that the answer is not what you would like a match to give. So far X has lost out on 10 out of 60 points. Fortunately, X provided the correct answer for question 2, which you weighted as “very” important. X ends with a total of 50 out of 60 points, computing as an 83% satisfaction rating.
Now let’s determine X’s satisfaction rating of you. X weighted question 1 and 2 as “a little” and “somewhat” important, creating a total of 11 possible points. You provided the incorrect answer for question 1 but the correct answer for question 2. Your score of 10 out of 11 results in a 91% satisfaction rating.
To determine the percent match between you and X, we will take the geometric mean of the two satisfaction ratings calculated above. Geometric mean is an average that indicates the central tendency (the typical value) in a set of numbers. The math from here is simple. The two satisfaction ratings are multiplied and the nth root, where n = number of questions, of the product is taken. In the example above, n = 2. Consequently, the square root of the product of 83 and 91 is calculated. The resulting percent match between you and X is 86%. This percentage represents the likelihood that the two of you would have a satisfactory first date. Not bad for two questions! Because the margin of error decreases as n increases, two users who opt to answer more questions will be given a more accurate percent match.
The geometric mean is useful for calculating romantic matches because it accounts for a wide range of topics, interests, and data points such as movies, politics, and religion. Intuitively, the calculation makes sense. It makes sense that two individuals each with a 50% satisfaction rating should be a better match than two others who satisfy each other 0% and 100% respectively because affection must be mutual in a successful relationship [3].
Seems easy, right? The steps we walked through just now are mirrored by the algorithm used by OkCupid.com on a larger scale. With data points and simple calculations, online-dating algorithms have the ability to digest qualitative aspects of attraction and translate that information into quantitative data that a microchip can process and understand (Fig. 4).

Hacking Your Way to Love

I’m not about to tell you that there is a wrong way to date online. After all, most of online-dating involves you talking about yourself and it’s hard to be completely off-base when answering a questionnaire. However, it is possible to optimize your dating profile to attract the kind of users you know you would be interested in if you had met them offline.
OkCupid
Figure 4: An inspirational message on OkCupid.com.
Chris McKinlay, a 35-year-old mathematics PhD candidate, was no stranger to online dating. Despite the numerous, charming introductory messages he sent out, he had yet to find “The One.” Speaking specifically to his success on OkCupid, McKinlay realized that the questions he had answered at random were not improving his chances of finding a mate. OkCupid’s algorithm relies on questions answered by both individuals. He realized that in order to be more successful on these dating websites that he would have to reverse-engineer his profile.
Through statistical sampling, McKinlay was able to determine which questions were being answered by the women he liked. He set up 12 fake OkCupid accounts and wrote a Python script that would search his target demographic and collect all data provided on their profile page including height, race, astrological sign, and age. Users are only able to see questions that both parties have answered, so McKinlay programmed 12 fake accounts to answer questions randomly and collect data. After three weeks of data scraping, he had collected over 6 million questions and answers from women across the United States.
By modifying a Bell Labs algorithm, which was originally used to analyze diseased soybean crops, McKinlay was able to clump the women he “surveyed” into seven statistically distinct clusters based on their questions chosen and answers provided on OkCupid. McKinlay decided to pursue two clusters of women: the first was dominated by younger indie-type musicians and artists, the second by mid-thirties women with professional creative jobs.
McKinlay used text analytics to comb through profiles of the two clusters to learn what interests were trending within each cluster. He then created two separate, genuine profiles of himself that focused on those golden topics. At this point he was optimizing his original profile to highlight aspects that specific demographics would be attracted to.
The most important aspect of these two new profiles, however, was the questionnaire. McKinlay answered each question honestly, but used a machine-learning algorithm called adaptive boosting to decide how much importance to assign to each question. As we saw in the walk-through example with two questions, the amount of importance you place on a question can dramatically alter your satisfaction ratings.
McKinlay’s reverse-engineering of his dating profile proved to be an astounding success. He was raking in matches and became the Golden Boy of online dating. The pages and pages of high percentage matches proved that by creating online-dating profiles with an engineering perspective, the crowd of potential mates drawn in can completely change. He was the same guy– just packaged differently!

A Happy Ending

Whether or not you decide to venture into the world of online dating, it’s important to recognize the strides that we have made as a society. Together we have engineered a novel method of communication that utilizes the internet and makes the world a smaller place. It only makes sense that in this age of light-speed communication that we would utilize the internet as a tool to hustle along our search for love. And the best part? Every individual gets to decide whether he or she will let fate take its time or if they’d rather let algorithms do the dirty work and just enjoy the ride. A sometimes overlooked caveat, however, is that these algorithms do not carry a relationship. Once the match has been made, it’s up to those two individuals to keep the spark going. As for me, I’m still looking for that soul mate of mine who’s roaming about Los Angeles. And who knows, maybe I’ll find him online.