35-летнему математику из Лос-Анджелеса потребовалось всего 88 дней, чтобы перебрать тысячи анкет на сайте знакомств и найти девушку, которая идеально подходит ему по характеру. Помимо прочего, помог ему в этом доступ к суперкомпьютерам Калифорнийского университета, рассказывает "Хабрахабр".

В июне 2012 года Маккинли работал над докторской диссертацией по обработке больших массивов данных и параллельным методом вычислений. В какой-то момент он решил отвлечься и зарегистрироваться на сайте знакомств OkCupid. Этот сайт основан гарвардскими студентами и использует хитрую систему вычисления совместимости между потенциальными партнерами.

На сайте каждый из потенциальных партнеров отвечает на сотни вопросов о своем характере, привычках и предпочтениях. Вопросы самые разные: "Любите ли вы кошек?", "Как часто вы используете Facebook?", "Как долго планируете встречаться?" и т.д. После этого вы можете посмотреть, насколько тот или иной человек подходит вам. Система показывает вероятность успешных отношений, дружбы и вражды. Логика в том, что чем больше партнеры похожи, тем лучше им будет друг с другом.

Следуя правилам сайта, Маккинли нашел всего лишь около 100 девушек, у которых показатель совместимости превышал 90%, но даже с ними свидания как-то не сложились (Криса хватило на шесть свиданий). И тогда парень придумал способ, как провести анализ по своим собственным правилам.

Формула успеха: сила аналитики, хитрость и.... все равно много-много свиданий

Крис создал 12 фейковых профилей, отвечая на вопросы случайным образом. После этого он смог получить доступ к полным профилям девушек со всеми ответами. За три недели дата-майнинга его система собрала 6 млн ответов от тестовой выборки из 20 тысяч анкет.

После фильтрации осталось 5000 девушек, которые живут в Лос-Анджелесе и Сан-Франциско и заходили на сайт в течение последнего месяца. Крис написал скрипт на Python для сортировки девушек с разными характеристиками на семь кластеров, вроде "Заботливые", "Верующие", "Татуировки" и т.д.

Два кластера он нашел особенно интересными. В первом были девушки примерно 25 лет хиповатого стиля, музыканты и актрисы. Во второй кластер вошли более взрослые девушки с креативными профессиями в литературе и дизайне. Так что Крис создал два своих профиля, чтобы сфокусироваться на каждом из этих кластеров - и ответил на 500 самых популярных вопросов в каждой из групп. Здесь уже Крис отвечал на вопросы честно, хотя слегка оптимизировал ответы в зависимости от кластера. Например, на вопрос "Что для вас важнее: любовь или секс", он отвечал "любовь", но указывал более низкую степень важности ответа для первой группы и более высокую - для второй.

Результаты оказались поразительными. Он сразу получил более 10 000 результатов с совместимостью более 90%. На последнем этапе нужно было привлечь внимание девушек. Сайт OkCupid информирует пользователя, если в его профиль кто-то заходит, так что Крис настроил бота для автоматического посещения анкет всех девушек с показателем более 90%. Потом он проверял, кто из них заходил к нему. Естественно, девушки были тоже удивлены столь высокими показателями совместимости - Крис получал от них до 20 сообщений в день.

30 июня компьютерная часть квеста закончилась и наступило время свиданий. К 20 июля Крис обратил внимание, что женщины из первого кластера часто живут в дальней части города, а у женщин второй группы часто есть собачка среднего размера. Для экономии времени он удалил профиль первой группы и сократил количество кандидаток вдвое. За июль математик смог провести 55 свиданий. В трех случаях дело дошло до второго свидания, но все безрезультатно, и только на 88-м свидании Крису повезло и он нашел поистине родственную душу, 28-летнюю художницу, с которой у него был рейтинг совместимости 91%. Они продолжили встречаться даже через год, когда девушка вернулась после годичной стажировки из Катара. Сейчас они собираются пожениться. Фотография счастливой пары.