본문 바로가기
소소한 빅데이터 이야기

빅데이터 ‘분석’이 뭐에요?

by 레비스탈(Levistyle) 2023. 1. 26.

내가 정말 하고 싶은 이야기가 이 부분인데, 안타깝지만 이런 질문을 하는 사람은 거의 없다.

왜냐하면 빅데이터 분석에 대해서 알고 있다고 생각하기 때문이다. 

 

빅데이터 분석은 빅데이터를 활용해서 다양한 인사이트를 뽑아내는 일이고, 그 과정에는 ‘코딩’이라는 게 들어가 있다. 그렇기 때문에 빅데이터 분석가로 가는 길에 코딩을 배웠는지 여부에 따라서 전공자와 비 전공자가 존재하게 된다.

 

그리고 사람들은 데이터 분석과 빅데이터 분석에 대해서도 구분 짓는 경우가 많다. 데이터 분석은 통계로 하는 것이고 빅데이터 분석은 코딩을 통해서 하는 것처럼 말이다. 물론 빅데이터 분석 과정에 코딩을 통한 프로그래밍이 포함된 것은 맞다. 하지만 ‘분석’이라는 길고 긴 여정에서 코딩은 일부에 불과하다.

 

데이터든 빅데이터든 분석하는 데이터 종류에 따라 코딩을 사용할 수도, 그렇지 않을 수도 있지만 분석을 한다는 사실에는 변함이 없으므로, 여기서는 ‘데이터 분석’으로 통칭해서 얘기해 보겠다.

 

‘분석’이라는 한글은 한자에 기반을 두고 있으므로 ‘분석(分析)’의 한자 의미를 풀어보면 ‘나누고 쪼갠다’는 의미가 된다. 그래서 분석의 의미를 풀어보면 “얽혀 있거나 복잡한 것을 풀어서 개별적인 요소나 성질로 나눔”의 의미로 설명되어 있다. 데이터 분석은 복잡하게 얽힌 자료들을 나누고 쪼개서 내가 원하는, 혹은 내가 사용하기 좋은 형태로 만드는 작업을 뜻한다.

 

데이터가 빅데이터로 되면서 기존에 활용되던 SPSS같은 통계분석 툴이나 엑셀이 아니라 코딩을 통한 프로그래밍이 각광을 받고, 또 그럴 수 밖에 없는 이유는 데이터가 엑셀 형태 등이 아닌 어느 서버에 담겨져 있는 경우가 많기 때문이다. 혹은 엑셀로 담겨 있다고 하더라도 용량이 너무 커서 사무용 컴퓨터로 분석하기에는 너무 느리기 때문이다. 프로그래밍을 할 때 데이터를 저장하고 포맷을 바꾸고 서버에서 꺼내는 일반적인 작업들을 하기는 하지만, 분석한다고 하면 거의 대부분 ‘통계’를 거치게 되어 있다. SPSS라는 통계 분석 툴은 당연히 통계를 기반으로 하고, 엑셀로 분석을 해도 통계 기법이 활용되며, 코딩으로 프로그래밍을 해도 갖가지 통계 기법이 활용된다. 

 

코딩으로 분석하는 게 주가 되었다고 해서 새로운 통계 기법이 생긴 게 아니다. 통계는 변하지 않은 상태에서 통계로 분석하는 방법, 프로그램들이 진화한 것이다. 빅데이터 분석을 위한 코딩을 배운다고 했을 때 R이나 파이썬(Python), SQL 등을 배우는 것도 결국에는 통계 분석을 프로그래밍 하기에 적합한 코드 언어들이기 때문이다.

 

 

조금 다른 얘기일지 모르겠지만, 빅데이터가 대중적으로 회자되기 이전의 데이터 분석 시대에는 전공자와 비전공자의 구분이 거의 없었다. ‘없었다!’라고 단언하려다가 ‘거의 없었다’로 한 발 물러선 것은 내가 모르는 어딘가에서 벌어졌을지 모를 일도 있을 수 있다고 생각했기 때문이다. 하지만 내 기억에, 주변의 선후배들과 얘기를 나눠봐도 그러한 일은 거의 없었다.

 

일부 데이터 분석 직무에 적합하다고 판단되는, 소위 그 학과를 졸업한 취업준비생들이 조금 더 인정을 받는 경우야 물론 있었겠지. 하지만 그러한 경우라도 우선 대상폭이 지금보다 광범위했다. 경영학과, 심리학과, 광고학과, 통계학과 등을 졸업한 사람들이 유사하게 해당 직무에 대거 포진해 있기는 했다. 그런데 지금처럼 그렇지 않은 학과생들이 스스로를 비전공자라고 얘기하는 경우는 역시 거의 없었다. 기업 입장에서도 데이터 분석 직무를 뽑을 때 해당 학과를 졸업했는지가 중요 선별의 기준이 되지는 않았다. 물론, 데이터 분석 직무가 지금처럼 매력적으로 포장되지는 않았으니까 전혀 상관없는 학과 졸업생들의 지원이 그렇게 많지도 않았을 것이다.

 

 

지금은, (많은 분들이 발끈할지도 모르겠지만),

 

빅데이터 분석 방법을 배우는 많은 곳에서 코딩만 가르치는 경우가 많다. 보고서 작성하는 법, 기획서 작성하는 법이라고 듣는 강의에서 파워포인트, 워드만 가르치는 꼴이다. 데이터 분석이 정해진 코드대로 ENTER, ENTER만 눌러서 나오는 결과값을 제출만 하면 끝나는 일이라면 얼마나 좋을까. 

 

 

빅데이터 분석가는 돈을 많이 버는 직업으로 알려져 있다. (알려져만 있다. 그렇게 포장만 되어 있다. 그런 기준이라면 나는 빅데이터 분석가가 아닐 것이다.) 어쨌든 어딘가에는 그런 분들이 존재할테니까. 그런 분들을 예로 상상해보자. 그런 전설속에만 등장할 것 같은 분들이 남들보다 돈을 많이 받는 이유가 무엇일 것 같은가. 코딩을 잘해서? 통계를 잘해서? 아님 둘 다 잘해서? 물론 둘 다 잘 할 것이다. 그런데 그 이유만으로는 충분하지 않다. 남들보다 분석 기법을 더 많이 알고 있어서? 요즘 같은 세상에 그런 일이 가능할 것 같은가? 우리가 분석해야 하는 데이터는 일반 사람들은 나누고 쪼갤수도 없을만큼 어딘가에 꼭꼭 감춰져 있지 않다. 그러므로 엄청 코딩을 잘한다고 해서 최고로 대우받지 않는다. 통계 기법을 많이 알고 있어서? 그래봤자지, 분석가마다 알고있는 통계 기법의 수가 뭐 얼마나 다르겠는가.

 

그들이 남들보다 코딩을 해커처럼 잘 하지 않고서도, 남들이 모르는 통계비급을 알고 있지 않고서도 엄청 많은 연봉을 받고 있다는 사실이, 데이터 분석이 코딩과 통계로만 이루어지지 않았다는 것을 증명한다.

데이터 분석을 나누고 쪼개는 일이라고 했는데, 코딩과 통계는 나누고 쪼개는 기술을 가르쳐 줄 수 있을지언정 무엇을 나누고 쪼갤 것인지, 무엇을 버릴 것인지, 무엇을 분석할 것인지, 무엇을 얘기할 것인지.. 등등에 대해서는 알려주지 않는다.

 

 

예전에 어떤 교수님께서 이런 말씀을 해주셨다. “코딩은 정의된 문제를 해결하는 것이다. 어떤 문제를 해결할지 정의하는 것은 언제나 개인이 풀어야 할 과제다. 정의된 문제를 누구보다 빠르고 효과적으로 풀어내는 것이 전공자의 몫이라면, 어떤 문제를 해결할지 정의하는 것이 비전공자의 몫이다.”라고.

 

그 한마디에 머리를 세게 얻어 맞은 것 같았다. 전공자와 비전공자의 역할을 이렇게 명쾌하게 정의한 내용을 접한 적이 있던가. 다음에 강의에서 꼭 써먹어야겠다고 다짐했는데 여기서 이렇게 써 먹는다.

 

 

나는 기술적인 측면에 대해서는 잘 모르지만, 네이버와 카카오를 설립한 분들이 모두 남들이 못가진 기술력을 가지고 있어서는 아니었을 것이다. 그들은 문제를 해결하는 능력 외에도 어떤 문제를 해결할 것인지를 정의 내리고 싶어했던 분들이었으리라.

 

나는 당근마켓이 등장했을 당시 왜 저런 플랫폼을 만들었을까 의아했다. 떡하니 중고나라라는 기라성 같은 공룡이 버티고 있는 시장에서 말이다. 그것도 중고제품 거래가 전혀 1도 연상되지 않는 ‘당근’이라는 브랜드명을 달고서 말이다. 그런데 (물론 코로나라는 환경, Driving Point가 있었지만) 당근마켓은 단순한 중고 거래 플랫폼이 아니라 사회적인 이슈, 문화를 만들어냈다. 그리고 당당히 네이버, 카카오와 같은 거대 IT기업을 향해 달려가고 있다. 배달의민족이 생겼을 때도, 직방이 생겼을 때도, 나는 모두 뻔한 솔루션이라고 생각했다. 심지어는 “그냥 원래 있던 걸 시스템으로 체계화시킨 것 뿐이잖아”라며 거들먹 거리기도 했다. 그들이 집중했던 문제가 어떤 문제를 해결하고 싶어했던 것에서 비롯되었는지를 이해하지 못했던 것이다.

 

어쨌든 반성은 이쯤하고. 이 내용을 곁들여 조금 더 풍부하게 데이터 관점에서 설명해보자면,

 

데이터 분석 과정에는 문제를 푸는 코딩과 통계 과정 외에도 어떤 문제를 풀 것인지 고민하는 데이터 종류 선택 과정, 데이터의 특성과 한계 이해 과정, 데이터 분석 프로세스 설계 과정, 분석 가설 설계 과정, 분석된 결과 선별 과정, 최종 선별된 데이터 기반 스토리텔링 과정 등이 포함되어 있다.

 

데이터 분석을 지원하는 이들을 많이 만나보면, 주로 어떤 분석을 할 줄 안다는 이야기를 많이 한다. 

 

분석 과정에서 왜 그 분석을 하게 되었고, 어떤 내용들이 궁금했고, 어떤 내용들이 나오기를 바랬으며, 그러다가 어떻게 실패했고, 무엇이 답답했는지, 그래서 어떤 것들을 더 공부했는지 등에 대해서 얘기하는 사람들은 거의 없다. 물론 온전히 개인의 잘못이라는 얘기는 아니다. 그렇게 배웠기 때문일 것이고 그렇게 얘기해야 한다고 들었거나 생각했기 때문일테니까. 지금은 잘 못 했다는 얘기를 하려는 게 아니라, 나아져야 된다는 얘기를 하려는 거다. 어쨌든 이 부분은 뒤에 조금 더 상세하게 다룰 테니 지금은 넘어가자.

 

데이터 분석 과정을 다시 정리하면,

 

분석 주제 설정 – 데이터 설계 – 데이터 추출 및 정제와 가공 – 데이터 분석 – 분석된 결과 중 해석 관점에서 유의미하다고 판단되는, 혹은 통계적으로 유의한 분석 결과 선별 – 선별된 데이터를 설득적 논리에 맞게 정렬 – 메인 데이터를 활용한 분석을 뒷받침하거나 설명이 부족한 부분에 대해 외부 자료 활용(Desk Research) – 최종 분석 결과에 대한 자신만의 견해 삽입(해석) – 전략적/전술적 제안으로 정리될 수 있다. 

 

여기서 코딩 등 프로그래밍은 데이터 추출 및 정제와 가공 & 데이터 분석 과정에 활용된다. 자, 그 외 나머지 것들이 얼마나 많은가? 위에 정리된 분석 과정 각각의 의미나 내용에 대해 자세하게 살펴보고 싶지만, 데이터 분석을 한 번이라도 해 본 사람이면 대략 어떤 느낌인지를 이해할 수 있을 것 같아, 혹은 그러한 믿음으로 넘어가 보도록 하겠다. 너무 무책임한가? ^^;;

 

 

데이터 분석을 얘기할 때 또 한가지 강조하는 부분이 ‘가설’이다. 

 

나는 거의 한 달에 한 번 꼴로 데이터 분석에 대한 실습 강의를 진행하는데 “가설을 설정해 보세요”라고 하면 열에 아홉은 ‘결과에 대한 가설’을 내놓는다. 무슨 얘기냐면, 인테리어 분석을 하고싶다고 말하는 사람은 “인테리어 시장은 성장하고 있을 것이다”라는 가설을 내놓고, 화장품 트렌드 분석을 하고싶다고 말하는 사람은 “화장품에 대한 수요가 증가할 것이다”라는 문장을 가설에 담아 놓는다. 가설의 본래 의미인, <어떤 사실을 설명하거나 어떤 이론 체계를 연역하기 위하여 설정한 가정>, 또 <사회 조사나 연구에서, 주어진 연구 문제에 대한 예측적 해답. 두 개의 변인이나 그 이상의 변인들 사이의 관계에 대한 추정적 또는 가정적 서술문(敍述文)의 형식>으로 고려하면 당연히 틀린 말은 아니다. 그런데 분석에 필요한, 분석을 위한 가설은 아니다.

 

데이터 분석은 실험하고 다르다. 실험은 한가지 명제를 가지고 내가 생각한 가설이 맞는지 틀린지를 목적으로 수행된다. 예를 들어서, “비싼 청소기일수록 더 흡입력이 좋을 것이다”라는 가설로 실험을 하면 가격대별 청소기의 흡입력을 실험할 것이다. 처음에는 먼지, 그 다음은 좁쌀, 그 다음은 콩, 그 다음은 긴 호수의 양 끝에서 탁구공 빨아들이기 경쟁을 할지도 모른다. 단 하나의 가설을 증명하기 위해 다양한 실험을 거듭하고 결론을 내는 것이다. 즉, 실험에서의 가설은 철저하게 결론에 대한 가설이다.

 

그런데 데이터 분석은 다르다. 하나의 가설을 증명하기 위해 다양하게 수행되는 기법의 나열이 아니다. 내가 겪은 대부분의 데이터 분석은 막연한 호기심에서 출발해 예상치 못한 결론에 다다르는 과정이거나, 예상 가능한 공통된 주장을 뒷받침하는 근거를 만들기 위한 작업이 대부분이었다. 나도 데이터 분석을 할 때마다 대단한 인사이트를 발견했다고 떠들면서 한껏 포장하고 싶지만, 대부분의 데이터 분석가들은 알고 있다. 그런 일은 그리 흔치 않다는 것을.

 

그럼에도 데이터 분석의 지향점은 언제나 인사이트, 즉 “새로운 발견”이니까,

 

지향점을 기준으로 그에 다다르는 방법으로서 가설에 대해 얘기해 보자면, 데이터 분석에서의 가설은 결과가 아닌, 철저하게 ‘과정’에 대한 것이어야 한다. 데이터 분석은 주로 호기심에서 출발한다. 호기심은 단순한 지적 차원에서의 호기심일수도 있지만, 예상치 못하게 벌어지는 현상을 규명하기 위해 추진되는 호기심일 수도 있다. 이러한 경우 대부분은 자기만의 견해나 관점에 입각하기 때문에 가설을 동반하게 된다. 즉, ‘화장품 트렌드는 계속 이어질거야’ 같은 다소 흐릿한 결론에 대한 가설이 아닌, “코로나19가 지속되는 3년 동안 화장을 안 하거나 덜 했던 소비자들은 오히려 화장을 하는 게 어색함을 넘어 두렵기까지 할거야. 이러한 상황에서 전체 화장을 다시 한다는 것에 대한 사람들의 심리 상태는 어떨까?”라는 구체적인 질문들을 던지면서 분석을 시작한다. 가설에 대한 해답을 Yes or No로 닫아 두지 않고 다양한 질문을 담을 바구니를 열어 두는 것이다. 이렇게 되면 데이터를 보면서 또 가설이 생기고, 그에 따라 어떤 데이터를 보면 좋을지 자명해진다. 데이터를 보면 볼수록 새로운 궁금증이 생기는 것이다.

 

그래서 잘 된 분석은 분석 때마다 어떤 결론을 던져주는 것이 아니라, 계속 호기심을 자극한다. 계속 궁금한 내용들을 던져주어서 새로 어떤 데이터들을 봐야할 지 방향을 알려주는 것이다. 하나의 데이터를 보고 또 어떤 데이터를 봐야할 지 막막해진다면? 가설이 잘 못 되었던지, 분석이 잘 못 되었던지, 적합하지 않은 데이터를 보았기 때문이다.

 

다시 한번 말하지만, 가설은 결과가 아닌 과정에 대한 것이어야 한다. 가설은 꼬리에 꼬리를 물고 데이터를 분석할 수 있게 해주는 원동력이 되어야 한다.