데이터 사이언스와 게임이론

데이터 사이언스라는 업무가 결국은 빅데이터가 있는 곳에서만 유의미한 탓에, IT업계 정도만 진짜 빅데이터를 갖고 뭔가 여러가지 시도를 하고 있는 것을 본다. 얼마 전까지만해도 한국의 IT회사들 대부분이 이미지 인식이나 음성 인식같은 기초적인 데이터 사이언스 업무에만 관심을 갖고, Noise가 더 많은 데이터를 처리 or 가공하려는 시도는 안 하는 통에 많은 경우에 공대 출신 개발자들에 대한 수요만 많은 것만 봤었는데, 슬슬 통계학 지식을 많이 갖춘 사람에 대한 수요가 함께 증가하는 것을 볼 수 있다. 당장 필자의 수업을 거쳐서 취업하신 분들이 회사 안에서 “깝깝한” 소리하는 팀장이나 개발자들에게 그게 아니라고 설명하다가 괴로운 일이 많고, 기존 직원들도 자신들이 지나치게 공학적인 (“A를 넣으면 무조건 B가 나온다”는 단순한) 접근을 하고 있었다는 사실을 깨닫는 중이라는 이야기를 전해듣는다.

어차피 코딩이라는 건 많은 경우에 Copy & Paste로 업무가 이뤄지고, 그 코드 속에 들어가야할 지식인 통계학을 모르고는 회사 사정에 맞게 적용 못한다는 사실을 IT업계 전체가 조금씩 깨닫고 있는 과정일 것이다. 터치 패널에 펜 인식 보정하는 작업하는 지인이 시뮬레이션 데이터를 2배로 늘렸는데, 왜 표준편차는 1.4배 밖에 증가하질 않냐고 질문하시던데, 분산이 2배가 되었고, 표준편차의 제곱이 분산인거 기억나냐고 하니 활짝 웃으며 “아~~” 하고 나가시더라. 단순히 이미지, 음성 인식 같은 분야 뿐만 아니라, 업계 전반이 데이터를 다룰 때 통계학 지식이 얼마나 중요한지 이해하는 과정의 일부라고 생각하고 뒤에서 조용히 응원해드리고 있다^^

지금까지는 코딩 기반 1차적인 지식 습득의 한계를 지적하면서 계속 통계학만 강조했는데, 오늘은 게임이론의 필요성에 대한 이야기를 좀 해보고 싶다.

(Source: A Beautiful Mind)

참고로, 게임이론이란 롤이나 스타크래프트를 잘하는 이론이 아니라, 영화 Beautiful Mind에 나온 것처럼 인간의 행동을 논리적으로 설명하는 수학 모델이고, Incentive라는 매커니즘을 이용해서 그런 행동을 어떻게 바꿀 수 있는지를 따지는 학문의 한 분야이다. (영화의 주인공 John Nash는 게임이론에 대한 기여로 1994년에 노벨 경제학상을 받았다.) 회사 CEO에게 월급만 주는 대신 스톡 옵션 (Stock Option)을 주면, 그 CEO가 회사 주가를 끌어올릴 수 있도록 최선을 다할 것이라는 아이디어가 대표적인 Incentive mechanism이라고 보면 된다. 학부 (박사 아니라 “학부”)과정에서는 수학과와 경제학과에 수업이 개설되어 있고, 지난 20-30년간 학문하는 사람들끼리는 “언어”가 게임이론으로 구성되어 있다고 해도 과언이 아닐 정도로 기본 지식처럼 되어 있다.

근데 이게 갑자기 왜 데이터 사이언스에도 중요한 지식이 되었냐고? 통계학 공부하기도 바빠 죽겠구만…?

 

1. 경험담 – Why Game Theory is needed?

귀국 얼마전, FXXXbook에 면접보던 시절의 이야기다.

필자의 백그라운드를 보면 경제학부 출신으로 증권사 IBD팀을 겪었고, 또 학위 과정 중에는 보통 경제학 전공자들이 안 하는 시뮬레이션, 머신러닝 공부를 했다. 학위도 Mathematical Finance다. 물론 논문 곳곳에 게임이론으로 논리를 전개하면서 경제학 출신 티를 냈다. 덕분에 데이터 사이언티스트로 면접을 보던 중, HR쪽에서 Economist 팀에서 관심을 보인다면서, 경제학 쓰는 포지션에도 관심이 있냐는 질문을 받기도 했었다. 그 땐 왜 이런식으로 하이브리드 백그라운드를 가진 필자에게 관심을 가지는지 잘 몰랐는데 (사실 직장 못 찾을 줄 알았다ㅋㅋ), 몇 달지나 온라인 마케팅 시장이 돌아가는 매커니즘을 공부하고 난 다음에야 비로소 왜 데이터 사이언티스트 면접보던 중에 게임이론 잘 하냐고 묻고, 2nd price auction (2차 가격 경매)을 설명해보라고 했는지 이해하게 되었다.

(Source: Appodeal, Inc) – 왼쪽이 2nd price, 오른쪽이 1st price auction 이다

Google, Microsoft를 주축으로한 서비스들이 광고지면을 파는 방식이 RTB (Real-Time Bidding)이라고 해서, 2차 가격 경매로 지면을 팔고 있고, 광고 지면이 거래되는 방식을 이해하려면, 최소한의 게임이론적인 지식이 필수였다. 심지어 페이스북은 RTB로 부족해, 여러 지면을 동시에 2차 가격으로 판매하는 하이브리드 방식을 취하는데, 이 모델로 Vickrey가 1996년에 노벨 경제학상을 받았다. 요즘들어 나오는 Header bidding 이라는 개념도 결국에는 미시경제학의 가격 차별을 활용하는 방식이라서, 경제학 지식과 데이터 모델링을 할 수 있는 사람들에 대한 수요가 한참 증가하던 걸 보고 겪었던 것이다.

 

2. 게임 이론이 적용된 사례 – 온라인 마케팅 시장

필자가 온라인 마케팅에 머신러닝을 적용하는 사업을 하는 회사에 Senior Data Scientist로 있던 시절의 이야기다. 우리 회사에서 광고 지면을 갖고 있는 회사(매체, Publisher라고 부른다)쪽 커뮤니케이션을 담당하는 팀을 BD (Business Development)라고 불렀는데, 그 팀의 Director (한국말로 이사? 정도 직급, 대략 대기업 부장급) 분이 필자에게 2차 가격 경매를 설명 못 하시더라. 일반 대기업으로 치면 원자재 구매팀의 부장급이 구매 방식을 모른다는 이야기라고 치환해볼 수 있을 것이다. 심지어 Auction이라는 단어도 모르고, Option이라는 단어를 썼다. 2nd price “option”? 그게 뭐지? 그 회사가 사업을 확장하면서 여러 Publisher들과 껄끄러운 문제를 겪은 적이 있었는데, 모델 자체를 제대로 이해 못하니 회사에서 계속 엇나가는 소리만 하는 걸 보고 씁쓸했던 기억이 있다.

(Source: Programmatic Advertising)

국내 회사들로 가면 더 가관이다. RTB라는 방식으로 지면을 팔면 매체 세일즈 팀을 확 줄여서 노동 비용이 줄어든다는 말을 듣고, 잘 모르는 개발자들을 닥달해 꾸역꾸역 RTB를 자기네 시스템에 얹은 매체사들의 RTB 팀 사람들 중에 2nd price auction이라는 개념을 제대로 이해하는 사람을 만난 적이 별로 없다. (필자 앞에서 아는 체 하다가 “털린” 분은 하나 있다.) 그러다보니 2016년 후반부터 Header bidding이라는 업그레이드 버젼이 나왔을 때, 이걸 제대로 이해하는 사람 숫자는 더더욱 없었고, 이 글을 쓰는 시점에 우리나라에 RTB로 광고 지면 판매 중이라는 매체사 중에 Header bidding을 추가 적용한 회사는 적어도 필자가 아는한 단 한 회사도 없다.

2010년대 초반부터 RTB를 주력으로 삼은 많은 글로벌 매체사들은, 2차 가격 경매의 장점을 인지하면서도, 1차 가격과의 차이를 최대한 더 이윤화하기 위해서 여러가지 게임이론 모델들을 테스트 했었다. 아마 FXXXbook의 Economist 팀에서도 비슷한 작업을 하고 있었기 때문에 필자의 게임이론 기반 논문이나 배경 지식에 대해서 여러가지 질문을 던졌을 것이라고 생각한다. “한국은 왜 항상 2류일까”는 글을 쓴 적이 있었는데, 시장이 작으니 새로운 시스템을 만들고 테스트하는데 거부감이 있다는 건 백보 양보해서 이해되지만, 다른 나라 시장이 성공하는 시스템을 빠르게 베끼면서 격차를 최소화하고 있는 시점에 당장 2nd price auction도 제대로 모르는 사람들이 시장의 주류를 차지하고 있으니 2류를 벗어나기가 더더욱 어려워지는 것이다. (필자의 글을 보고 또 엉뚱한 개발자 들볶을 것 같다…)

 

3. 실제 사례 – 카카오 택시

요즘 카카오 택시 서비스의 진화 방향을 보면 그 시절 FXXXbook과 비슷한 내부 수요가 있지 않을까 싶다.

서비스가 확대되면서 사용자 숫자는 많이 늘어났는데, 정작 택시 숫자가 별로 안 늘어나다보니 택시들이 Cherry-picking (마음에 드는 것만 고르는 행태)을 하고 있다는 불평 불만이 많았다. 자본주의 사회에서 가장 확실한 해결책은 택시 운전수 입장에서 좀 덜 마음에 드는 고객에게 추가비용을 납부하도록 하면 된다. 그러나 택시를 관리하는 운수법은 공정한 가격 책정을 원칙으로 할 것이기 때문에, 택시 운전수들에게 추가비용을 주는 요금제를 카카오 택시가 도입하기는 어려울 것이다. (우리나라는 법에서 정하지 않는 내용을 하면 “불법”이 되는 나라니까^^)

(Source: Kakao Mobility presentation, 2018-03-19, The Plaza Hotel, Seoul)

처음 서울시에서는 장거리 손님만 받던 택시에는 단거리 고객만 보이도록 프로그램을 조절해라고 압박(?)을 넣었다고 들었는데, 합산 금액이 많은 택시에게 단거리 위주로 노출하는 방식으로 프로그래밍은 할 수 있겠지만, 안 그래도 승객대비 택시 숫자가 줄어서 급한 카카오 택시에서 그런 정책을 시행할 수 있을까? 보유 택시 숫자를 늘리는 인센티브를 줘도 시원찮을 판국에?

작년 (2017년) 11월 경에 나온 “대안”을 보면, 결국 단거리 손님을 많이 태운 기사에게 장거리 손님을 먼저 노출하기로 했단다. 그리고 손님 호출을 자주 거부하는 기사에게는 일정 시간 동안 아예 호출이 뜨지 않도록 한다던데, 위에 말했듯이 승객대비 택시 숫자가 줄어들어서 다급한 카카오 택시에서 이런 “대안”은 언발에 오줌누기에 불과하다.

결국 이번에 (2018년 3월 13일) 발표된 카카오 택시의 해법을 보면, 택시 호출 서비스를 일부 유료로 전환해, 배차가 빨리 되는 서비스에는 돈을 내도록 하겠단다. 이렇게 얻은 이윤을 일부를 택시 기사분들께 돌려드려야 인센티브가 생길텐데, 어떤 방식으로 돌려줄지는 미정이라고 하니, 우리나라 초일류 IT업체가 얼마나 게임이론을 잘 이해하고 있는지, 법적인 제한을 어떻게 똑똑한 아이디어로 뚫고 나갈 수 있는지 지켜보는 것도 재미있을 것 같다.

 

나가며

모든 데이터 사이언티스트가 게임이론 전문가일 필요는 없다고 생각한다. 글로벌 대형 IT 회사들이 따로 Economist 팀을 갖고 있는 것도, 데이터 사이언티스트가 Economist들과 비슷한 수준의 게임이론 지식을 갖고 있기를 기대하지는 않기 때문일 것이다. 그러나, 데이터 사이언티스트가 DB 담당하는 개발자와 대화하려면 기본적인 DB 관련 지식을 갖춰야하는 것처럼, 회사의 큰 시스템을 만들고 그 시스템의 작동을 함께 테스트해야한다면 데이터 사이언티스트도 일정 수준 이상의 게임이론 지식을 갖출 필요가 있을 것이라고 본다.

가끔 모교 경제학부 후배들이 데이터 사이언티스트가 되고 싶은데, 코딩부터 배워야하는지에 대한 질문을 보내온다. 필자의 답은 길지 않다. 계량경제학, 계량경제학 연습, 그리고 게임이론(을 매우 잘) 듣고 졸업하면 어느 직장을 가건 몇 년안에 회사 최고의 인재가 되어 있을 것이라고. 괜히 개발자스러운 코딩 배우지 말고, 수업 시간에 회귀분석쓰는 코딩 배우라고. 자기 몸 값을 굳이 낮출 필요는 없다고.

지금와서 돌이켜보면 계량이랑 게임은 필자가 학부시절 (and 대학원 시절) 제일 좋아했던 과목들이다.

X