For anyone who knows me, recently I've been messing with OKCupid. I've read practically all of the OKTrends blog and found lots of hilarious information on dating. For anyone who hasn't used okcupid, the way it finds a match is fairly simple. It asks you a question, for example "Do you smoke?" you answer with "Yes", "No". It then asks you "Is it ok for your partner to smoke?", and you can respond with "Yes", "No" or "Not important", if you specify yes or no, you are prompted to specify how important it is, either "A little important", "Somewhat important" or "Very important". OKCupid will ask you a lot of questions like this, and will then try and match you up with someone who has similar question answers to you, simple.
OKCupid asks a few general inteligence questions, such as "STALE is to STEAL as 89475 is to...". During my traversal of various profiles, I noticed a lot of people getting these questions wrong. I wondered if I was just jaded or if it was really the case that people were getting this question wrong so damn much. Being a programmer of course, and having geeked out on my previous readings of OKTrends, I had to find out. I wrote some python to load all questions from singles in my area into a database, with some reasonable filters. I filtered for Girls who like guys, between ages of 18 and 30 (I'm 24), within 25 miles (For reference, I live in a town called Margate, about 75 miles south east of London), who were online in the past year and had a profile photo. This yielded 145 results. My script scraped each one of these profiles, and loaded all the questions and answers into a sqlite database.
I should really buy this shirt
Anyway, now onto the fun part. I now have a database full of women within a 25 mile radius, I can see how many of these people got the general intelligence questions right.
First up, "STALE is to STEAL as 89475 is to..." to save you some effort, here's the answer:
A simple SQL query tells us that 69 of our 145 results answered this question:
sqlite> SELECT count(question) FROM questions WHERE question == "STALE is to STEAL as 89475 is to..."; 69
And, we can run another query to see how many got it right.
sqlite> SELECT count(question) FROM questions WHERE question == "STALE is to STEAL as 89475 is to..." AND answer == 89547; 28
Ugh. Only 28? Only 40% got this one right.
Ok next question, what about "What is next in this series? 1, 4, 10, 19, 31, _". A fairly simple question once again, the answer is x*3 where x is the position in the series, so 1 + 1 * 3 = 4 + 2 * 3 = 10 + 3 * 3 = 19 + 4 * 3 = 31 + 5 * 3 = 46
More SQL queries!
select count(*) from questions WHERE question LIKE "%What is next in this series%"; 44
Seems 44 people answered this one.
select count(*) from questions WHERE question LIKE "%What is next in this series%" AND answer == 46; 28
28 got it right, that's 60%. Still not great. This question also has a "Don't know / don't care" option.
sqlite> select count(*) from questions WHERE question LIKE "%What is next in this series%" AND answer == "Don't know / don't care"; 11
So a quarter of the people didn't even try. For shame people, for shame.
Next up, "Which is bigger? The sun, or the earth?" this is fairly obvious, the sun is many, many times larger than earth.
sqlite> select count(*) from questions WHERE question == "Which is bigger?"; 51
51 answers on this one.
sqlite> select count(*) from questions WHERE question == "Which is bigger?" AND answer == "The sun"; 49
This is good, the vast majority got it correct. Yay.
What did we learn from all this? Not a whole lot I suppose. But it was certainly fun to find the answers. Now back into the world of dating!