Optimal Cupid


Chris McKinlay used Python scripts to riffle through hundreds of OkCupid survey questions. He then sorted female daters into seven clusters, like “Diverse” and “Mindful,” each with distinct characteristics. — image: Maurico Alejo

(Poulsen, 2014)

OkCupid Homepage

(OkCupid, 2014)

I used the data I’d scraped and a machine learning algorithm called AdaBoost to optimize which questions I chose and the associated weights that I gave them.

(McKinlay, 2004)

The process I've just described is a version of an optimization algorithm called simulated annealing. simulated annealing is a robust method for finding approximately optimal solutions in large search spaces, such as the space of all possible responses to match questions on OKC. [...] This process will effectively orient your profile in the (very high dimensional) OkC question space in a way that is consistent with your actual goals.

(McKinlay, 2004)

I love OkCupid. Their stated purpose is: 'We use math to get you dates.' It should be: 'You use math to get your own dates.' I used math to improve my OkC experience and went on 88 dates from the site in three months. I went from an OkCupid 'match percentage' at or above 90% with a few hundred women in L.A. to matching over 30,000 women at that level. It was like stepping into a giant spotlight of female attention.

(McKinlay, 2004)

McKinlay, C. (2014) Optimal Cupid. CreateSpace.

OkCupid (2014) okcupid.com, 1 February. [link]

Poulsen, K. (2014) How a Math Genius Hacked OkCupid to Find True Love, Wired, 21 January. [link]