스몰 데이터 분석을 제대로 해야 빅 데이터도 다룰 수 있다
통계학과 수업 중 어느 교수가 한 강조한 스몰 데이터 분석. 흔히 통계는 예측(prediction)을 위한 통계와 분석(analysis)을 위한 통계로 나눠진다고 하는데, 이 말을 한 교수는 분석을 중요시하는 정통파 교수였기에 이 말을 곧이 곧대로 믿지 않았다. 하지만 통계 석사 수업을 수강한 지 일 년이 지난 지금, 이 말이 점점 중요하게 느껴진다. 최근 빅 데이터 활용이 강조되는 마당에 교수의 발언이 시대착오적으로 들릴 수 있다. 그래서 이번 글에서는 스몰 데이터 분석이 왜 빅 데이터 활용에 중요한지에 대해 정리하고자 한다.
[스몰 데이터 분석을 통해 문제 프레이밍 법을 익힌다]
필자는 데이터 분석의 핵심이 알고리즘이 아니라 문제 프레이밍(framing)에 있다고 생각한다. 어느 금융회사가 문자로 보내는 마케팅 캠페인의 성공률을 데이터를 활용해 높이고 싶어 한다고 가정하자. 여러 가지 접근 방식으로 이 문제를 해결할 수 있다. 단순하게 마케팅을 성공률을 극대화할 수 있는 알고리즘을 찾을 수도 있고 confusion matrix를 만들어 알고리즘을 사용했을 때 vs 사용하지 않았을 때의 비용과 수입을 비교해 이익(수입 – 비용)을 극대화하는 알고리즘을 찾을 수도 있다.
어떤 접근방식을 사용할지는 가지고 있는 데이터의 정확도와 양, 해결하고자 하는 문제에 따라 달라진다. 이것을 이해하고 상황에 적절한 프레이밍을 쓸 수 있어야 좋은 데이터 사이언티스트다. 하지만 빅데이터에 집착하다 보면 문제의 본질보다는 알고리즘에 집중하게 된다. 방대한 양 때문에 빠른 시간 내에 인사이트를 찾기 힘들기 때문이다.
지인이 미국 내 대표적인 배달앱에 면접 보면서 있었던 일이다. 면접 질문 중 하나로 좌표와 수요 데이터를 제공하고 어디서 어느 정도의 수요가 발생할지 예측하는 모델을 만들라는 과제가 있었다. 대부분의 면접자들의 경우, 별다른 생각 없이 random forest모델에 데이터를 넣고 돌려서 형편없는 예측 성공률을 기록했다. 그 반면에 면접에서 고득점을 한 지원자들은 이 데이터의 계절성(seasonality)이 강하다는 것을 포착, 일반적인 random forest모델이 아닌 time series 모델을 활용해 예측했다고 한다. 이처럼 습관적으로 알고리즘을 대입하기만 하면 좋지 않은 결과가 발생한다.
스몰 데이터는 고려해야 할 변수도 적고, 데이터 프로세싱(processing) 시간이 짧기 때문에 알고리즘보다 데이터의 특징, 변수 간의 관계, 그리고 문제의 본질에 대한 이해에 집중하게 된다. 물론 스몰 데이터를 분석할 때 쓰는 알고리즘과 빅데이터를 분석할 때 쓰는 알고리즘은 다르다. 스몰 데이터는 분석 시간이 오래 걸리더라도 정확도가 높은 알고리즘을 쓸 수 있지만, 빅 데이터를 분석할 때는 정확도를 희생하더라도 빠른 시간 내 연산이 가능한 알고리즘을 쓰는 것이 매우 중요하기 때문이다 (목적에 따라 정도가 다르겠지만 이렇게 scalable 한 알고리즘을 적용하는 것은 통계보다는 컴퓨터 공학 문제에 가깝다). 하지만 문제 프레이밍 법은 어느 데이터나 똑같다.
[단순 예측의 가치는 작아지고 있다]
빅데이터라고 하면 항상 나오는 연관 키워드는 예측 분석이다(predictiveanalytics). 데이터가 많을수록 정확한 예측 하는데 유리하기 때문이다. 하지만 점점 단순 예측으로만 가치를 창출할 수 있는 분야가 줄어들고 있다. 고객 변절자 예측해 프로모션 제공하기, 마케팅 캠페인 성공률 높이기 등 우리가 일반적으로 알고 있는 빅데이터 활용 예시들은 지난 몇 년간 많인 분야에 적용되고 있다. 에릭 시걸(Eric Siegal)의 책 PredictiveAnalytics에 각 분야에 걸쳐 수많은 예시가 기록되어 있다. 지금도 수많은 data scientist들이 예측 알고리즘의 정확도를 1% 올리는데 몰두하고 있을 것이다.
하지만 필자는 앞으로는 단순 예측에서 더 나아가 이론을 접목시키는 빅데이터 활용이 핵심이 될 것이라고 생각한다. 실제로 필자가 수강한 MBA 수업에서의 모든 교수들이 설파한 부분이다. 그중 인상 깊었던 예시 하나가 디지털 알고리즘 마케팅 수업에서 나왔다. 어느 채용공고 사이트에서 알고리즘을 활용해 이익을 극대화하는 방법을 고민하고 있었다. 팀 내 한 데이터 분석가가 각 회사 별로 가격을 다르게 제공하자고 제안했다. 그리하여 그 회사는 다양한 고객에게 랜덤 하게 여러 가격을 제시했고, 그들의 subscription 성공률을 기록하기 시작했다. 그 분석가는 고객(회사)이 서비스를 subscribe 하기 위해서는 utility > cost 여야 한다는 경제학의 기본 이론에 입각해 고객 타입별로 utility를 측정하는 모델을 만들었다. 그 모델을 활용해 고객에게 각각 다른 가격을 제시했는데, 그 결과 경쟁업체보다 몇 배 개선된 수익성을 기록했다고 한다.
만약 단순이 고객이 subscribe 확률을 측정하는 모델을 통해 낮은 확률을 가진 고객에게 프로모션을 제공했더라면 절대 그 정도의 높은 수익성을 기록하지 못했을 것이다. 그 회사에서 1) 각 소비자 타입별로 다른 utility 가 있다는 점 2) 실험을 통해 그 utility 를측정할 수 있는 데이터를 만들었다는 점이 빅데이터 활용도를 높였다고 할 수 있다. 앞으로는 이런 활용 케이스가 점점 많아지지 않을까 조심스럽게 예측해본다.
[마무리하며…]
그래서 필자는 새해를 맞아 블로그를 개편하면서 스몰 데이터부터 제대로 분석하기 위해 필요한 도구와 뉴스에 집중하고자 합니다. 그렇다고 당연히 빅 데이터 관련 소식을 아예 배제하는 것은 아닙니다. 스몰 데이터 분석기법을 scalable 하게 바꾸는 것도 중요하기 때문입니다. 하지만 올해에는 빅데이터를 스몰데이터의 연장선에서 보고, 문제를 제대로 프레이밍 할 수 있는 여러 가지 방법을 집중해서 배우고 싶습니다. 그런 목표를 항상 인지하기 위해 블로그 제목도 SmallData Guru(전문가/고수를 칭하는 말)로 개명했습니다. 아직은 많이 부족하지만, 독자 여러분도 블로그를 읽으면서 제 여정을 통해 단순이 알고리즘 활용법이 아닌 데이터 분석 방법에 대해 많이 배울 수 있었으면 좋겠습니다 🙂