[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:17.90,0:00:19.62,Default,,0000,0000,0000,,Hello, my name is Christian Rudder, Dialogue: 0,0:00:19.64,0:00:21.85,Default,,0000,0000,0000,,and I was one of the founders of OkCupid. Dialogue: 0,0:00:21.87,0:00:24.79,Default,,0000,0000,0000,,It's now one of the biggest\Ndating sites in the United States. Dialogue: 0,0:00:24.82,0:00:27.21,Default,,0000,0000,0000,,Like most everyone at the site,\NI was a math major, Dialogue: 0,0:00:27.23,0:00:30.67,Default,,0000,0000,0000,,As you may expect, we're known\Nfor the analytic approach we take to love. Dialogue: 0,0:00:30.70,0:00:32.33,Default,,0000,0000,0000,,We call it our matching algorithm. Dialogue: 0,0:00:32.36,0:00:34.94,Default,,0000,0000,0000,,Basically, OkCupid's matching\Nalgorithm helps us decide Dialogue: 0,0:00:34.97,0:00:36.84,Default,,0000,0000,0000,,whether two people should go on a date. Dialogue: 0,0:00:36.87,0:00:38.74,Default,,0000,0000,0000,,We built our entire business around it. Dialogue: 0,0:00:38.76,0:00:40.72,Default,,0000,0000,0000,,Now, algorithm is a fancy word, Dialogue: 0,0:00:40.75,0:00:43.23,Default,,0000,0000,0000,,and people like to drop it\Nlike it's this big thing. Dialogue: 0,0:00:43.26,0:00:45.55,Default,,0000,0000,0000,,But really, an algorithm\Nis just a systematic, Dialogue: 0,0:00:45.57,0:00:47.79,Default,,0000,0000,0000,,step-by-step way to solve a problem. Dialogue: 0,0:00:47.82,0:00:49.99,Default,,0000,0000,0000,,It doesn't have to be fancy at all. Dialogue: 0,0:00:50.02,0:00:51.17,Default,,0000,0000,0000,,Here in this lesson, Dialogue: 0,0:00:51.19,0:00:54.20,Default,,0000,0000,0000,,I'm going to explain how we arrived\Nat our particular algorithm, Dialogue: 0,0:00:54.22,0:00:55.64,Default,,0000,0000,0000,,so you can see how it's done. Dialogue: 0,0:00:55.66,0:00:57.59,Default,,0000,0000,0000,,Now, why are algorithms even important? Dialogue: 0,0:00:57.62,0:00:59.20,Default,,0000,0000,0000,,Why does this lesson even exist? Dialogue: 0,0:00:59.22,0:01:02.64,Default,,0000,0000,0000,,Well, notice one very significant\Nphrase I used above: Dialogue: 0,0:01:02.67,0:01:05.00,Default,,0000,0000,0000,,they are a step-by-step\Nway to solve a problem, Dialogue: 0,0:01:05.03,0:01:08.45,Default,,0000,0000,0000,,and as you probably know, computers\Nexcel at step-by-step processes. Dialogue: 0,0:01:08.47,0:01:10.06,Default,,0000,0000,0000,,A computer without an algorithm Dialogue: 0,0:01:10.08,0:01:12.81,Default,,0000,0000,0000,,is basically an expensive paperweight. Dialogue: 0,0:01:12.83,0:01:15.82,Default,,0000,0000,0000,,And since computers are such\Na pervasive part of everyday life, Dialogue: 0,0:01:15.84,0:01:17.39,Default,,0000,0000,0000,,algorithms are everywhere. Dialogue: 0,0:01:18.59,0:01:21.79,Default,,0000,0000,0000,,The math behind OkCupid's matching\Nalgorithm is surprisingly simple. Dialogue: 0,0:01:21.81,0:01:25.81,Default,,0000,0000,0000,,It's just some addition, multiplication,\Na little bit of square roots. Dialogue: 0,0:01:25.84,0:01:27.53,Default,,0000,0000,0000,,The tricky part in designing it Dialogue: 0,0:01:27.55,0:01:30.12,Default,,0000,0000,0000,,was figuring out how to take\Nsomething mysterious, Dialogue: 0,0:01:30.14,0:01:31.29,Default,,0000,0000,0000,,human attraction, Dialogue: 0,0:01:31.31,0:01:34.10,Default,,0000,0000,0000,,and break it into components\Nthat a computer can work with. Dialogue: 0,0:01:34.12,0:01:36.68,Default,,0000,0000,0000,,The first thing we needed\Nto match people up was data, Dialogue: 0,0:01:36.70,0:01:38.69,Default,,0000,0000,0000,,something for the algorithm to work with. Dialogue: 0,0:01:38.72,0:01:41.87,Default,,0000,0000,0000,,The best way to get data quickly\Nfrom people is to just ask for it. Dialogue: 0,0:01:41.90,0:01:44.62,Default,,0000,0000,0000,,So we decided that OkCupid\Nshould ask users questions, Dialogue: 0,0:01:44.65,0:01:47.00,Default,,0000,0000,0000,,stuff like, "Do you want\Nto have kids one day?" Dialogue: 0,0:01:47.03,0:01:48.79,Default,,0000,0000,0000,,"How often do you brush your teeth?" Dialogue: 0,0:01:48.81,0:01:50.20,Default,,0000,0000,0000,,"Do you like scary movies?" Dialogue: 0,0:01:50.68,0:01:52.75,Default,,0000,0000,0000,,And big stuff like,\N"Do you believe in God?" Dialogue: 0,0:01:53.84,0:01:56.91,Default,,0000,0000,0000,,Now, a lot of the questions\Nare good for matching like with like, Dialogue: 0,0:01:56.93,0:01:59.09,Default,,0000,0000,0000,,that is, when both people\Nanswer the same way. Dialogue: 0,0:01:59.11,0:02:01.66,Default,,0000,0000,0000,,For example, two people\Nwho are both into scary movies Dialogue: 0,0:02:01.68,0:02:05.00,Default,,0000,0000,0000,,are probably a better match\Nthan one person who is and one who isn't. Dialogue: 0,0:02:05.03,0:02:06.52,Default,,0000,0000,0000,,But what about a question like, Dialogue: 0,0:02:06.54,0:02:08.61,Default,,0000,0000,0000,,"Do you like to be\Nthe center of attention?" Dialogue: 0,0:02:08.63,0:02:11.26,Default,,0000,0000,0000,,If both people in a relationship\Nare saying yes to this, Dialogue: 0,0:02:11.28,0:02:13.38,Default,,0000,0000,0000,,they're going to have massive problems. Dialogue: 0,0:02:13.40,0:02:14.64,Default,,0000,0000,0000,,We realized this early on, Dialogue: 0,0:02:14.67,0:02:17.94,Default,,0000,0000,0000,,and so we decided we needed\Na bit more data from each question. Dialogue: 0,0:02:17.96,0:02:20.72,Default,,0000,0000,0000,,We had to ask people to specify\Nnot only their own answer, Dialogue: 0,0:02:20.75,0:02:23.01,Default,,0000,0000,0000,,but the answer they wanted\Nfrom someone else. Dialogue: 0,0:02:23.04,0:02:24.54,Default,,0000,0000,0000,,That worked really well. Dialogue: 0,0:02:24.56,0:02:26.17,Default,,0000,0000,0000,,But we needed one more dimension. Dialogue: 0,0:02:26.19,0:02:28.83,Default,,0000,0000,0000,,Some questions tell you more\Nabout a person than others. Dialogue: 0,0:02:28.86,0:02:32.25,Default,,0000,0000,0000,,For example, a question\Nabout politics, something like, Dialogue: 0,0:02:32.28,0:02:34.56,Default,,0000,0000,0000,,"Which is worse:\Nbook burning or flag burning?" Dialogue: 0,0:02:34.59,0:02:37.40,Default,,0000,0000,0000,,might reveal more about someone\Nthan their taste in movies. Dialogue: 0,0:02:37.42,0:02:40.04,Default,,0000,0000,0000,,And it doesn't make sense\Nto weigh all things equally, Dialogue: 0,0:02:40.07,0:02:41.66,Default,,0000,0000,0000,,so we added one final data point. Dialogue: 0,0:02:41.69,0:02:43.71,Default,,0000,0000,0000,,For everything that OkCupid asks you, Dialogue: 0,0:02:43.73,0:02:46.56,Default,,0000,0000,0000,,you have a chance to tell us\Nthe role it plays in your life. Dialogue: 0,0:02:46.59,0:02:48.91,Default,,0000,0000,0000,,And this ranges\Nfrom irrelevant to mandatory. Dialogue: 0,0:02:49.45,0:02:52.67,Default,,0000,0000,0000,,So now, for every question,\Nwe have three things for our algorithm: Dialogue: 0,0:02:52.69,0:02:54.04,Default,,0000,0000,0000,,first, your answer; Dialogue: 0,0:02:54.62,0:02:58.76,Default,,0000,0000,0000,,second, how you want someone else --\Nyour potential match -- to answer; Dialogue: 0,0:02:58.78,0:03:01.57,Default,,0000,0000,0000,,and third, how important\Nthe question is to you at all. Dialogue: 0,0:03:02.71,0:03:03.96,Default,,0000,0000,0000,,With all this information, Dialogue: 0,0:03:03.99,0:03:07.10,Default,,0000,0000,0000,,OkCupid can figure out\Nhow well two people will get along. Dialogue: 0,0:03:07.13,0:03:10.13,Default,,0000,0000,0000,,The algorithm crunches the numbers\Nand gives us a result. Dialogue: 0,0:03:10.16,0:03:11.31,Default,,0000,0000,0000,,As a practical example, Dialogue: 0,0:03:11.33,0:03:13.86,Default,,0000,0000,0000,,let's look at how we'd match you\Nwith another person. Dialogue: 0,0:03:13.88,0:03:15.07,Default,,0000,0000,0000,,Let's call him "B." Dialogue: 0,0:03:16.02,0:03:19.50,Default,,0000,0000,0000,,Your match percentage with B is based\Non questions you've both answered. Dialogue: 0,0:03:19.53,0:03:21.95,Default,,0000,0000,0000,,Let's call that set\Nof common questions "s." Dialogue: 0,0:03:22.56,0:03:24.91,Default,,0000,0000,0000,,As a very simple example,\Nwe use a small set "s" Dialogue: 0,0:03:24.93,0:03:26.57,Default,,0000,0000,0000,,with just two questions in common, Dialogue: 0,0:03:26.60,0:03:28.42,Default,,0000,0000,0000,,and compute a match from that. Dialogue: 0,0:03:28.45,0:03:30.12,Default,,0000,0000,0000,,Here are our two example questions. Dialogue: 0,0:03:30.14,0:03:32.52,Default,,0000,0000,0000,,The first one, let's say, is,\N"How messy are you?" Dialogue: 0,0:03:32.55,0:03:34.64,Default,,0000,0000,0000,,And the answer possibilities are: Dialogue: 0,0:03:34.67,0:03:38.03,Default,,0000,0000,0000,,very messy, average and very organized. Dialogue: 0,0:03:38.05,0:03:40.11,Default,,0000,0000,0000,,And let's say you answered\N"very organized," Dialogue: 0,0:03:40.14,0:03:42.90,Default,,0000,0000,0000,,and you'd like someone else\Nto answer "very organized," Dialogue: 0,0:03:42.92,0:03:45.18,Default,,0000,0000,0000,,and the question is very important to you. Dialogue: 0,0:03:45.20,0:03:46.69,Default,,0000,0000,0000,,Basically, you're a neat freak. Dialogue: 0,0:03:46.72,0:03:49.59,Default,,0000,0000,0000,,You're neat, you want someone else\Nto be neat, and that's it. Dialogue: 0,0:03:49.61,0:03:51.62,Default,,0000,0000,0000,,And let's say B is a little bit different. Dialogue: 0,0:03:51.65,0:03:53.69,Default,,0000,0000,0000,,He answered "very organized" for himself, Dialogue: 0,0:03:53.71,0:03:56.72,Default,,0000,0000,0000,,but "average" is OK with him\Nas an answer from someone else, Dialogue: 0,0:03:56.74,0:03:59.14,Default,,0000,0000,0000,,and the question is only\Na little important to him. Dialogue: 0,0:03:59.17,0:04:02.06,Default,,0000,0000,0000,,Let's look at the second question,\Nfrom our previous example: Dialogue: 0,0:04:02.09,0:04:04.14,Default,,0000,0000,0000,,"Do you like to be\Nthe center of attention?" Dialogue: 0,0:04:04.17,0:04:05.68,Default,,0000,0000,0000,,The answers are "yes" and "no." Dialogue: 0,0:04:05.70,0:04:08.70,Default,,0000,0000,0000,,You've answered "no," you want\Nsomeone else to answer "no," Dialogue: 0,0:04:08.72,0:04:11.11,Default,,0000,0000,0000,,and the question is only\Na little important to you. Dialogue: 0,0:04:11.14,0:04:12.76,Default,,0000,0000,0000,,Now B, he's answered "yes." Dialogue: 0,0:04:12.78,0:04:14.56,Default,,0000,0000,0000,,He wants someone else to answer "no," Dialogue: 0,0:04:14.58,0:04:16.86,Default,,0000,0000,0000,,because he wants the spotlight on him, Dialogue: 0,0:04:16.88,0:04:19.31,Default,,0000,0000,0000,,and the question is somewhat\Nimportant to him. Dialogue: 0,0:04:19.34,0:04:21.33,Default,,0000,0000,0000,,So, let's try to compute all of this. Dialogue: 0,0:04:21.97,0:04:24.48,Default,,0000,0000,0000,,Our first step is, since we use\Ncomputers to do this, Dialogue: 0,0:04:24.50,0:04:26.37,Default,,0000,0000,0000,,we need to assign numerical values Dialogue: 0,0:04:26.39,0:04:29.02,Default,,0000,0000,0000,,to ideas like "somewhat\Nimportant" and "very important," Dialogue: 0,0:04:29.04,0:04:31.25,Default,,0000,0000,0000,,because computers need\Neverything in numbers. Dialogue: 0,0:04:31.28,0:04:33.68,Default,,0000,0000,0000,,We at OkCupid decided\Non the following scale: Dialogue: 0,0:04:33.70,0:04:35.65,Default,,0000,0000,0000,,"Irrelevant" is worth 0. Dialogue: 0,0:04:36.17,0:04:38.06,Default,,0000,0000,0000,,"A little important" is worth 1. Dialogue: 0,0:04:38.54,0:04:40.35,Default,,0000,0000,0000,,"Somewhat important" is worth 10. Dialogue: 0,0:04:40.83,0:04:42.58,Default,,0000,0000,0000,,"Very important" is 50. Dialogue: 0,0:04:42.61,0:04:46.22,Default,,0000,0000,0000,,And "absolutely mandatory" is 250. Dialogue: 0,0:04:46.24,0:04:48.88,Default,,0000,0000,0000,,Next, the algorithm makes\Ntwo simple calculations. Dialogue: 0,0:04:48.90,0:04:52.15,Default,,0000,0000,0000,,The first is: How much did\NB's answers satisfy you? Dialogue: 0,0:04:52.17,0:04:55.96,Default,,0000,0000,0000,,That is, how many possible points\Ndid B score on your scale? Dialogue: 0,0:04:55.99,0:04:59.20,Default,,0000,0000,0000,,Well, you indicated that B's answer\Nto the first question, Dialogue: 0,0:04:59.22,0:05:00.39,Default,,0000,0000,0000,,about messiness, Dialogue: 0,0:05:00.41,0:05:01.76,Default,,0000,0000,0000,,was very important to you. Dialogue: 0,0:05:01.79,0:05:04.02,Default,,0000,0000,0000,,It's worth 50 points and B got that right. Dialogue: 0,0:05:04.38,0:05:06.11,Default,,0000,0000,0000,,The second question is worth only 1, Dialogue: 0,0:05:06.14,0:05:08.41,Default,,0000,0000,0000,,because you said\Nit was only a little important. Dialogue: 0,0:05:08.44,0:05:09.64,Default,,0000,0000,0000,,B got that wrong, Dialogue: 0,0:05:09.66,0:05:12.44,Default,,0000,0000,0000,,so B's answers were 50\Nout of 51 possible points. Dialogue: 0,0:05:12.46,0:05:15.07,Default,,0000,0000,0000,,That's 98% satisfactory. Pretty good. Dialogue: 0,0:05:15.10,0:05:19.05,Default,,0000,0000,0000,,The second question the algorithm\Nlooks at is: How much did you satisfy B? Dialogue: 0,0:05:19.07,0:05:22.33,Default,,0000,0000,0000,,Well, B placed 1 point on your answer\Nto the messiness question Dialogue: 0,0:05:22.35,0:05:24.31,Default,,0000,0000,0000,,and 10 on your answer to the second. Dialogue: 0,0:05:24.74,0:05:28.13,Default,,0000,0000,0000,,Of those 11, that's 1 plus 10,\Nyou earned 10 -- Dialogue: 0,0:05:28.16,0:05:30.75,Default,,0000,0000,0000,,you guys satisfied each other\Non the second question. Dialogue: 0,0:05:30.78,0:05:35.02,Default,,0000,0000,0000,,So your answers were 10 out of 11\Nequals 91 percent satisfactory to B. Dialogue: 0,0:05:35.04,0:05:36.19,Default,,0000,0000,0000,,That's not bad. Dialogue: 0,0:05:36.22,0:05:38.72,Default,,0000,0000,0000,,The final step is to take\Nthese two match percentages Dialogue: 0,0:05:38.75,0:05:40.61,Default,,0000,0000,0000,,and get one number for the both of you. Dialogue: 0,0:05:40.64,0:05:43.25,Default,,0000,0000,0000,,To do this, the algorithm\Nmultiplies your scores, Dialogue: 0,0:05:43.27,0:05:44.94,Default,,0000,0000,0000,,then takes the nth root, Dialogue: 0,0:05:44.96,0:05:47.14,Default,,0000,0000,0000,,where "n" is the number of questions. Dialogue: 0,0:05:47.17,0:05:49.100,Default,,0000,0000,0000,,Because s, which is the number\Nof questions in this sample, Dialogue: 0,0:05:50.02,0:05:51.86,Default,,0000,0000,0000,,is only 2, Dialogue: 0,0:05:51.89,0:05:55.55,Default,,0000,0000,0000,,we have: match percentage\Nequals the square root Dialogue: 0,0:05:55.58,0:05:58.47,Default,,0000,0000,0000,,of 98 percent times 91 percent. Dialogue: 0,0:05:58.50,0:06:00.28,Default,,0000,0000,0000,,That equals 94 percent. Dialogue: 0,0:06:00.30,0:06:03.51,Default,,0000,0000,0000,,That 94 percent is your match\Npercentage with B. Dialogue: 0,0:06:03.53,0:06:06.78,Default,,0000,0000,0000,,It's a mathematical expression\Nof how happy you'd be with each other, Dialogue: 0,0:06:06.80,0:06:07.98,Default,,0000,0000,0000,,based on what we know. Dialogue: 0,0:06:08.01,0:06:09.79,Default,,0000,0000,0000,,Now, why does the algorithm multiply, Dialogue: 0,0:06:09.82,0:06:12.58,Default,,0000,0000,0000,,as opposed to, say, average\Nthe two match scores together, Dialogue: 0,0:06:12.61,0:06:14.28,Default,,0000,0000,0000,,and do the square-root business? Dialogue: 0,0:06:14.30,0:06:16.83,Default,,0000,0000,0000,,In general, this formula\Nis called the geometric mean. Dialogue: 0,0:06:16.86,0:06:19.48,Default,,0000,0000,0000,,It's a great way to combine\Nvalues that have wide ranges Dialogue: 0,0:06:19.51,0:06:21.42,Default,,0000,0000,0000,,and represent very different properties. Dialogue: 0,0:06:21.45,0:06:23.86,Default,,0000,0000,0000,,In other words, it's perfect\Nfor romantic matching. Dialogue: 0,0:06:23.88,0:06:27.13,Default,,0000,0000,0000,,You've got wide ranges and you've got\Ntons of different data points, Dialogue: 0,0:06:27.15,0:06:30.59,Default,,0000,0000,0000,,like I said, about movies, politics,\Nreligion -- everything. Dialogue: 0,0:06:30.62,0:06:32.45,Default,,0000,0000,0000,,Intuitively, too, this makes sense. Dialogue: 0,0:06:32.48,0:06:35.25,Default,,0000,0000,0000,,Two people satisfying\Neach other 50 percent Dialogue: 0,0:06:35.28,0:06:39.23,Default,,0000,0000,0000,,should be a better match\Nthan two others who satisfy 0 and 100, Dialogue: 0,0:06:39.25,0:06:41.07,Default,,0000,0000,0000,,because affection needs to be mutual. Dialogue: 0,0:06:41.09,0:06:43.58,Default,,0000,0000,0000,,After adding a little correction\Nfor margin of error, Dialogue: 0,0:06:43.61,0:06:46.18,Default,,0000,0000,0000,,in the case where we have\Na small number of questions, Dialogue: 0,0:06:46.20,0:06:47.52,Default,,0000,0000,0000,,like we do in this example, Dialogue: 0,0:06:47.54,0:06:48.71,Default,,0000,0000,0000,,we're good to go. Dialogue: 0,0:06:48.74,0:06:50.65,Default,,0000,0000,0000,,Any time OkCupid matches two people, Dialogue: 0,0:06:50.67,0:06:52.71,Default,,0000,0000,0000,,it goes through the steps\Nwe just outlined. Dialogue: 0,0:06:52.73,0:06:54.100,Default,,0000,0000,0000,,First it collects data about your answers, Dialogue: 0,0:06:55.02,0:06:58.01,Default,,0000,0000,0000,,then it compares your choices\Nand preferences to other people's Dialogue: 0,0:06:58.03,0:06:59.100,Default,,0000,0000,0000,,in simple, mathematical ways. Dialogue: 0,0:07:00.02,0:07:02.95,Default,,0000,0000,0000,,This, the ability to take\Nreal-world phenomena Dialogue: 0,0:07:02.97,0:07:05.38,Default,,0000,0000,0000,,and make them something\Na microchip can understand, Dialogue: 0,0:07:05.41,0:07:08.69,Default,,0000,0000,0000,,is, I think, the most important skill\Nanyone can have these days. Dialogue: 0,0:07:08.71,0:07:11.13,Default,,0000,0000,0000,,Like you use sentences\Nto tell a story to a person, Dialogue: 0,0:07:11.16,0:07:13.64,Default,,0000,0000,0000,,you use algorithms\Nto tell a story to a computer. Dialogue: 0,0:07:14.35,0:07:17.38,Default,,0000,0000,0000,,If you learn the language,\Nyou can go out and tell your stories. Dialogue: 0,0:07:17.41,0:07:19.16,Default,,0000,0000,0000,,I hope this will help you do that.