큰 질문 나누기, 데이터 뜯어보기, 방법론 상상하기
'데이터 분석은 어떻게 하는 걸까?' 하는 조금은 뻔한 이야기를 적어보려 한다. 데이터 분석은 영화나 소설처럼 그 자체로 또렷한 제품이 아니다 보니, '분석을 한다'라는 행위도 어디부터 시작해서, 어떤 과정으로 하는 것이며, 그 결과는 무엇인지 불분명하게 이야기될 때가 많다.
그럼에도 불구하고 데이터 분석이 아닌 영화를 만드는 과정과도 크게 다르지 않을 수 있다. 극본을 작성하기 전 초기 문제의식이나 이야깃거리가 있을 것이고, 이를 두 시간가량 상영할 수 있는 이야기로 풀어내기 위한 몇 가지 방법들이 있을 것이다. 마찬가지로 '데이터 분석'이라는 콘텐츠를 만들기 위해서도 그 질문과 호기심을 다시 정의하고 풀어내기 위한 진입로가 필요하다. 혹시라도 분석의 시작점에서 막막한 경우 참고가 되기를 희망하며 개인적인 경험을 간추려보았다.
내가 지금까지 경험한 과정을 돌이켜보면 너무 뻔하지만 '질문', '데이터', '방법론' 세 가지로 요약이 되었다. 영화에 필요한 것은 '시나리오', '배우', '제작진'이라는 것보다 더 당연한 이야기일 수 있다. 하지만 내가 말하고 싶은 것은, 분석을 출발하는 시작점으로서의 세 단어에 관한 것이다.
좋은 분석은 좋은 질문으로부터 나온다. 물론 질문이 주어진 상황에서 프로젝트가 진행되는 경우도 많지만, 그런 경우에도 주어진 질문은 분석을 바로 시작하기에 적합한 모양새가 아닌 경우가 대부분이다. 그래서 어떻게든 능동적으로 좋은 질문을 계속 찾아내야 한다. 예를 들어, 중요한 선거를 앞둔 후보자는 분석가에게 '어떤 공약을 내세우는 게 좋을까요?'라고 물어볼 수 있다. 꼭 풀어야 하는 질문이지만 바로 분석에 착수할 수 있는 질문은 아니다. 그래서 이러한 질문으로 분석을 하기에는 너무 막막하기 때문에, 큰 질문을 작은 단위로 분해해야 한다. 위의 질문은 아래와 같이 간단히 쪼개 볼 수 있다. 분해된 질문에 대한 대답들을 모으고 재구성하여 원래 질문으로 돌아갈 수 있다.
- 지난번 선거에 등장했던 주요 공약들은 무엇인가? 당선자들의 공약은 탈락자와 차이가 있었을까?
- (연임이라면) 지난 임기에서 만족도가 높았던 정책은 무엇이었을까?
- 유권자 구성비율 대비 득표를 많이 한 계층은 어디인가? 그들의 이슈는 무엇인가?
- 열세 지역에서 결과를 뒤집은 경우, 공약은 무엇이었는가? 당시 소셜에서 주로 언급된 키워드와 상관성이 있었을까?
- 만약 상관성이 있었다고 가정한다면, 최근 소셜에서 언급량이 많은 단어는 무엇인가?
경력 초기의 분석가들이 익숙하지 못한 분야는 대개 질문을 던지는 단계이다. 특히 요즘은 Kaggle과 같은 데이터과학 경진 사이트 등을 통해 실전문제를 연습하는 경우도 많은데, 이러한 방식의 장점은 주어진 '명료한 문제'에 대해 여러 가지 모델링 방법론을 점검하며 실력을 키울 수 있다는 점이다. 하지만 현업에서는 풀어야 할 문제를 스스로 정의해야 하고 그에 맞게 데이터를 가공해야 하는 단계가 우선하기 때문에, 학교에서 갈고닦은 모델링 실력을 뽐낼 수 없는 회사 환경에 괴리를 느끼는 경우도 간혹 있다. 어떤 분석가들은 '이 조직에서는 분석(모델링)을 제대로 할 수 없어!'라며 회사를 탓하기도 하지만, 좋은 분석가가 되려면 막막한 질문이 주어졌을 때 창의적으로 질문을 변환하고 관계자들에게 '내가 이 문제를 풀겠노라'라고 설득할 수 있어야 한다.
데이터를 보며 분석을 시작할 수도 있다. 어떤 질문을 스스로 던져야 할지 모를 때에는 무작정 데이터를 열어보는 것도 방법이다(그런 의미에서 사실 데이터 또한 질문을 던지는 중간과정이기도 하다). 예를 들어, '온라인 쇼핑몰의 매출을 어떻게 증가시킬까?'라는 질문이 주어졌다고 가정해보자. 그냥 생각하면 막막하기 때문에 당장 쓸 수 있는 데이터를 먼저 찾아볼 수 있다. 이를테면 고객들이 주문한 내역을 열어보면서 차근차근 생각해보는 것이다. 주문내역을 보니 '주문시간', '요일', '고객 성별', '연령', '옷 사이즈' 등이 기록되고 있는 것을 알았다. 이 항목들로 직접적으로 생각해볼 수 있는 질문은, '어느 요일, 시간대에 주문이 몰리는 걸까?', '잘 팔리는 제품들은 사이즈도 다양하게 팔리는 걸까?', '만약 잘 팔리는 제품들의 사이즈가 비슷한 수치에 몰려있다면, 쇼핑몰의 타겟고객을 좀 더 구체적으로 유추할 수 있지 않을까?' 하는 식으로 접근하는 것이다.
실전 분석 프로젝트가 주어져야만 역량을 쌓을 수 있는 것은 아니다. 물론 실전 경험만 한 것은 없겠지만, 그런 기회가 아직 주어지지 않았고 데이터를 다루는데 숙련도가 낮더라도 얼마든지 해볼 수 있는 방법이다. 즉 '나에게 이 데이터가 주어진다면 무엇을 할 수 있을까?'로 시작해보는 것이다. 나 역시 최근 새로운 서비스에 대한 분석 과제를 맡게 되었는데, 아직 착수는 멀었고 서비스에 대한 이해도가 낮아서 클라이언트 로그 데이터를 열어보고 있는 중이다. 모바일 화면에서 어느 영역을 클릭했는지, 뒤로가기를 눌렀는지, 이전에 검색한 검색어는 무엇이었는지와 같은 정보들이 기록되고 있어서, 이걸로 뭘 할 수 있을까 상상해보는 중이다.
비유하자면 무슨 요리를 할지 정하지 않았더라도 계란, 양파, 닭고기를 쳐다보면서 아이디어를 메모하는 것과 같다. 이러한 메모만으로도 도메인에 대한 이해도를 높일 수 있고, 본격적으로 과제가 주어졌을 때 훨씬 효과적으로 접근할 수 있다.
여기서 이야기하고 싶은 방법론이란, 통계적 방법론, 기계학습 모델링 방법론, 지표를 산출하는 프로세스로서의 방법론 등 다소 포괄적인 단어로서의 방법론이다. 데이터를 우두커니 바라보면서 상상하는 것이 질문을 더 많이 생성해내기 위함이라면, 방법론을 공부하는 것은 내가 풀어야 할 질문에 새로운 시각을 접목하는 것을 상상하는 과정이다.
몇 해 전, 회사에서 서울대와 협력하여 진행하는 머신러닝 교육과정에 참가한 적이 있다. 통계학과 모 교수님이 첫날 오전 세션을 맡아 열강을 해주셨는데, 머신러닝의 범주가 워낙 방대한 만큼 굉장히 빠른 속도로 최대한 많은 내용을 전달해주려 노력하셨다. 그중 다음과 같은 말씀이 지금까지 기억에 남아있다.
이 내용(복잡한 수식)을 다 알려고 노력하지 마세요. 회귀분석, 군집분석, 파라미터 값을 조정하는 과정을 이해해서 새로운 혹은 적합한 분석과 모델링을 위한 '영감'을 갖는 것이 목적입니다.
다음과 같은 예를 들어볼 수 있다. 회귀분석 방법 중 Lasso regression이라는 방법론이 있다. 'L1 규제'라고 불리는 파라미터 값을 조정하면서 대다수의 변수가 무의미하다고 단정 짓고 유의미한 변수 몇 가지를 선택할 수 있는 방법이다. 즉, 훈련 모델 정확도가 떨어질 수 있는 리스크가 있지만 모델의 복잡도를 대폭 낮추고 일반화된 모델의 성능을 높일 수 있는 장점이 있다. 말하고 싶은 요점은 '수많은 변수 중 많은 것들을 후드득 털어내고 몇 가지 확실한 변수를 골라낼 수 있다'는 이 방법론의 컨셉을 내가 맡은 분석 과제에 접목해보는 것이다. 예를 들어, 내가 마트 전단광고 담당자라고 가정한다면, '매주 발송되는 광고지면에 어떤 카테고리 제품을 비중 있게 싣는 게 좋을지' 고민일 수 있다. 이 문제에 Lasso regression을 적용한 결과, 전단광고에 반응하는 고객의 방문율과 구매금액에 미치는 요인이 '계절과일', '유제품' 두 가지임을 알게 되었다고 생각해보자. 이 결과를 현장에 실험적으로 적용하여 (지금까지 100가지가 넘는 다양한 카테고리를 담았던 것과 반대로) 이번 주에 딱 두 카테고리 제품만 상세하게 실어서 매출이 급증하는 아름다운 분석 시나리오도 펼쳐볼 수 있다.
다른 분야에서 증명된 좋은 방법론이나 아이디어는 또다른 도메인에 각색되어 적용될 수 있다. 그렇기 때문에 내가 종사하는 분야 바깥에서 어떤 방식으로 데이터를 분석하는지 관찰하고, 이를 다듬어서 접목해보는 시도는 의외의 성과를 가져다 줄 수도 있다. 나의 경우 기억에 남는 과제는 기여모델(attribution model)을 이커머스 구매경로에 접목해본 것인데, 사실 게임이론의 shapley value에서 등장한 개념이고, 이것이 산업적으로 이식되어 번성한 곳은 광고채널 최적화 영역이다. 이커머스에 적용해보니 모바일 앱 외부의 광고채널 뿐 아닌 앱 서비스 내 세세한 메뉴와 버튼까지 확장이 가능한 모델이었다. 이 과제를 마치며, 도메인 안에서 깊게 파고드는 것이 중요한 만큼, 동시에 산업적 사일로를 벗어나기 자유롭게 상상하는 의식적인 노력이 중요함을 배웠다.
큰 질문 나누어보기, 데이터 뜯어보기, 방법론 상상하기는 당장 주어진 분석 과제가 없더라도 데이터 분석을 모의 훈련할 수 있는 방법이다. 특히 데이터 분석가로 진로를 설계하고 있거나 전환을 노리는 분들께는 꼭 한번 연습해보기를 추천하고 싶다. 실전 문제에서 속도감 있게 데이터를 추출하고 트렌디한 방법론을 적용하는 것도 물론 중요하지만, 그것만으로 문제가 쉽게 풀리는 경우는 별로(거의) 없기 때문이다.