데이터 분석가가 하는 일은?ㅣ데이터 분석가 역할, 데이터 분석을 위한 라이브러리

인사이트

데이터 분석가가 하는 일은?ㅣ데이터 분석가 역할, 데이터 분석을 위한 라이브러리

2022년 11월 28일

데이터 분석가의 관점으로 바라보는 세상

2022년 9월 인터넷 방송 플랫폼 트위치에서는 ‘송출되는 영상의 화질에 대하여 더 높은 서비스를 제공하기 어렵다.’ 라는 안내사항이 올라오게 됩니다. 그리고 약 2달 뒤 2022년 11월 ‘기존 저장된 영상을 활용할 수 없다.’ 는 안내가 다시 한번 서비스 이용자들에게 전달되었습니다.

같은 해, 10월 넷플릭스 공식 홈페이지에는 넷플릭스의 특장점이라 불리는 광고 없는 환경이라는 타이틀을 깨고 ‘광고형 베이식’이라는 새로운 요금제에 대한 내용이 올라오게 됩니다.

이것에 대하여 각종 언론사와 SNS에서는 끝없는 설전을 이어가고 있지만, 데이터 분석가를 꿈꾸고 있다면 이번에 발생한 문제와 해당 기업이 그러한 결정을 내린 근거는 무엇이었는지 들여다볼 필요성이 있습니다.


기업에서 데이터 분석이 중요한 이유 🏢

대부분 기업의 가장 큰 목적 중 하나는 이윤추구입니다. 그렇기 때문에 상품을 만들고 판매하며 수익을 발생시키는 일반적인 구조를 따르게 됩니다. 위에서 언급한 넷플릭스나 트위치 또한 수익을 발생시키기 위해 상품을 만들고 판매하며 수익을 발생시키고자 하죠. 그렇다면 여기서부터 몇 가지 의문점이 들기 시작합니다.

트위치의 경우 2022년도 하반기에 결정된 ‘송출되는 영상의 화질 저하 및 영상 저장 서비스 중단’ 은 새로운 상품에 대한 내용인가?

일반적인 관점에서 떠올릴 수 있는 것은 기존 서비스 이용자, 즉 소비자가 떠나갈 수밖에 없는 결정입니다. 그렇다면 이런 질문을 이어서 할 수 있습니다.

소비자가 기업의 서비스를 더 이상 사용하지 않도록 하는 것은 수익을 발생시킬 수 있는 방향인가?

아마도 그럴 것이며, 기업이 이러한 방향성을 설정하기까지는 수많은 근거가 뒷받침되었을 것입니다. 더불어 방향성 수립을 위해 데이터 분석과 실험이 반복적으로 이뤄지고, 결과를 시각화하기 위한 갖은 노력이 수반되었을 것입니다.

트위치의 선택은 분명 소비자와 기업 모두에게 적지 않은 리스크를 내포하고 있는 결정입니다. 즉, 쉽게 결정할 수 있는 문제는 분명 아니었음을 의미하죠. 기업 내부 결정권자에게 방향성 수립에 근거가 되는 ‘납득할 수 있는 분석 결과’를 제시했었어야 한다는 것입니다.

그렇다면 이러한 결과를 도출하기까지 데이터 분석가가 한 일은 무엇일까요?

기업에서 데이터 분석가의 역할

데이터 분석가의 역할에 대하여 살펴보겠습니다. 데이터 분석가는 ‘방향성 수립에 근거가 되는 납득할 수 있는 분석 결과’를 제시해야 합니다. 그렇다면 그 분석 결과는 어떻게 만들어지는 것일까요?

단계적으로 살펴보면 다음과 같이 4단계의 과정을 떠올려 볼 수 있습니다.

기업 방향성 수립을 위한 4단계 과정

1단계. 기업의 방향성을 수립하기 위해 제안하는 가설은 무엇인가?

2단계. 해당 가설을 뒷받침하는 데이터는 무엇인가?

3단계. 그 가설을 어떻게 테스트할 것인가?

4단계. 테스트 결과를 바탕으로 회사가 새롭게 시도할 수 있는 것은 무엇인가?

( ※ 이 과정은 데이터 분석의 전체 과정을 압축하여 표현한 것 이며, 당연하게도 세부적으로는 더 많은 내용들이 포함되어 있습니다. )

첫 번째 단계부터 마지막 단계까지 살펴보도록 하겠습니다.

1. 데이터 분석가는 어떤 가설을 세워야 할까?

데이터 분석가는 가설다운 가설을 수립해야 합니다. 그렇기 위해서는 다음과 같은 역량이 요구 됩니다.

시장의 전반적인 흐름을 읽고 활용할 수 있는가.

위와 같은 역량을 습득하기 위해서는 다음과 같은 정보를 습득해 나가야 합니다.

  • 현장에 대한 경험
  • 다양한 계층에서 발생되는 소비자의 목소리 확인
  • 경쟁사의 행보
  • 기업과 관련된 수많은 요인에서 발생되는 정보 등

이를 요약하면 산업의 특수성을 이해하고 있어야 한다는 의미로 귀결됩니다. 그렇다면 산업이 갖고 있는 특징은 어떻게 발굴할 수 있을까요? 이에 대한 해답은 크롤링과 시각화에 있습니다.

크롤링, 시장의 흐름을 읽기 위한 도구

4차 산업혁명 이후로 데이터가 쌓이는 속도는 이미 예측 범주를 넘어섰으며, 이러한 빅데이터를 Ctrl+C, Ctrl+V 작업으로 데이터를 하나씩 나의 컴퓨터로 옮기는 행동은 그리 효율적이지 않습니다. 그래서 이러한 작업을 도와줄 수 있는 도구가 등장하였으며, 이를 ‘크롤링’이라고 부릅니다.

크롤링은 웹에 기재되어 있는 정보들을 나의 컴퓨터로 옮겨주는 방법이며, 이미 수많은 방법이 유튜브와 서적을 통해 공개되었습니다. 그리고 크롤링은 크롤링을 진행한 이후가 더 중요하죠. 크롤링은 ‘웹 속에 저장된 정보를 내 컴퓨터로 옮기는 작업’ 그 이상 이하도 아닙니다.

여기서 데이터 분석가라면 아래와 같은 질문의 답을 갖고 있어야 합니다.

  • 여기서 어떠한 정보를 추출해 낼 것 인가?
  • 최근 데이터 분석가들은 이러한 정보를 어떻게 활용하고 있을까?

만약, 단어의 출현 빈도만을 활용하여 시각화 처리를 하는 것은 의미가 많이 퇴색됩니다. 특히 한국어가 가진 특수성을 고려한다면 더욱 그렇습니다. 그렇기에 하나의 문서에 등장하는 문장, 문장에 등장하는 단어와 단어 사이의 연결성 등을 고려하고 이를 기반으로 출현 빈도를 함께 살펴보는 방법론을 많이 사용했었습니다. 이런 작업을 통해 얻은 결과물은 ‘시장의 현재 흐름’을 요약하여 살펴볼 수 있고, 현재 시점뿐 아니라 과거 시점까지 포함하게 된다면 시간의 흐름에 따른 다양한 관점까지 발굴할 수 있게 됩니다.

이러한 일련의 과정을 통해 시장 상황 파악을 마친 후 적합한 가설을 다양하게 수립해봐야 합니다.

2. 가설을 뒷받침하는 데이터는?

‘가설이 수립되었다.’는 의미는 쉽게 말해 ‘어떠한 문제에 관하여 나의 의견을 세웠다.’는 것과 비슷합니다. 일상에서도 흔하게 하는 것이지만, ‘데이터 분석가로서의 가설 수립’이라는 점입니다.

다시 돌아와 가설을 뒷받침하기 위해서는 정보가 필요합니다. 그것도 꽤 많은 정보가 필요하죠. 흔히 크롤링을 통해 정보를 수집하고 활용할 수도 있겠지만, 그 외에 소비자의 행동에 따른 정보도 마찬가지로 수집과 활용이 가능합니다.

구글 애널리틱스로 소비자 행동 데이터 수집하고 활용하기

대다수의 스타트업은 웹 서비스를 개발합니다. 여기서 한발 더 나아가, 기업은 소비자가 자사의 서비스를 어떻게 활용하고 있는지 알아야 합니다. 그렇기에 구글 애널리틱스(GA)라는 툴을 웹 서비스에 붙이는 방법을 선호합니다.

구글 애널리틱스는 소비자가 어떠한 경로를 통해 방문하였는지, 언제 웹 서비스를 이탈하였는지, 제품에 대한 구매는 어느 시점에 이뤄졌는지 등 소비자의 활동을 기록하고 확인할 수 있습니다.

데이터 분석가는 구글 애널리틱스를 통해 소비자가 접근하는 주요 경로에 어떠한 광고를 달아야 효과적인지, 이벤트 행사를 통해서는 어떠한 수요를 발생시킬 수 있는지, 시기에 따른 할인율은 어느정도가 효과적인지 등을 분석할 수 있습니다.

다만 일반화의 오류를 견제해야 할 필요성 또한 동시에 존재합니다. 만약 ‘이벤트 행사를 진행하였더니 매출의 14%가 증가하였다.’라는 결과를 확인 후 ‘다음 분기에는 더 큰 이벤트 행사를 준비하자.’라는 성급한 결정은 데이터 분석가에게 있어 치명적인 실수입니다.

단순하게 생각해 보겠습니다. 만약 기존 이벤트 행사 보다 지출이 약 2배 정도 증가하였다면 매출 또한 2배 이상이 증가해야 합니다. 하지만 결과를 살펴보니 지출 대비 기대 매출에 미치지 못하는 성적을 거둔 것 입니다. 이러한 상황은 생각보다 자주 일어납니다.

또, ‘검색 사이트에 특정 광고를 붙여본 결과 접속량이 증가했다.’는 분석 결과를 기반으로, 검색 사이트에 광고를 더욱 늘려 접속량을 늘리는 전략을 세워 볼 수도 있습니다. 하지만 광고를 통해 웹서비스에 접속하게 된다면 접속만으로 지출이 발생하게 됩니다. 제품의 구매 여부를 떠나 웹 서비스의 방문만으로 지출이 발생하게 되는 것이죠.

이러한 일반화의 오류를 잘 극복하기 위해서는 더욱 다양한 통로를 활용해 데이터 수집이 이뤄져야 합니다. 더불어 수집되는 데이터의 크기는 MB 단위를 넘어 GB 혹은 그 이상의 단위에 수집이 이뤄집니다. 이는 일반적으로 사용되는 ‘엑셀’이라는 도구의 한계를 체감할 수 있는 상황이 펼쳐질 것입니다.

데이터 분석가라면 더 이상 엑셀을 고집할 이유가 전혀 없으며, 특히나 다양한 시각화 및 분석을 수행해야 한다면 코딩과 결합한 도구가 필요합니다.

3. 가설을 테스트하는 방법은?

‘가설 검정’이라고도 하지만 쉽게 말해 ‘내 의견을 어떻게 사실에 가까운 의견으로 만들 것 인가?’로 이해해도 충분합니다.

가설 검정을 꽤 복잡하고 무거운 주제라 인식하고 계신 분들이 많이 계십니다. 틀린 이야기는 아니지만, 현재와 같이 변화가 빠르게 일어나며, 변화에 따른 대응 자체가 중요해진 시기라면 무겁고 오래 걸리는 가설 검증 방법보다는 빠르고 간단한 방식을 통해 가설을 검증하는 방법을 제안드립니다.

1) A/B 테스트 📊

가장 대표적인 예로 ‘A / B 테스트’가 있습니다. 하나의 전제에 대하여 두 가지 보기에 따른 실험을 진행하는 방식이죠. 이름에서도 알 수 있듯이 매우 간단하기에 단점 또한 존재할 수 밖에 없습니다. 하지만 빠르게 진행하고 결과를 그 즉시 확인할 수 있다는 특장점 때문에 사랑받는 테스트 방법입니다.

( ※ 다만 A/B 테스트는 단 한 차례만 진행하지 않고 더 좋은 결과를 내기 위해 다수의 테스트를 수행한다. )

2) 머신러닝을 활용한 검증 🤖

다음으로 머신러닝을 활용해 예측 모델을 설계하여 테스트를 진행하는 방법입니다. 흔히 데이터 분석가는 머신러닝과 딥러닝에 영향을 받지 않는다고 생각할 수 있지만, 이는 꽤 낡은 생각입니다.

테스트라는 것은 예측의 일환이며, 예측의 정교함이 떨어진다면 기업 입장에서는 올바른 결정을 할 확률이 낮아지게 됩니다.

그렇기 때문에 데이터 분석가라 할지라도 머신러닝과 딥러닝에 대하여 관심을 완전히 끄기보다는, 나의 가설을 검증하기 위한 도구 중 하나로 머신러닝과 딥러닝을 가지고 있다면 업무를 진행함에 있어 긍정적인 효과를 얻어낼 수 있을 것입니다.

물론 시각화를 통해 과거와 현재를 그려보며 향후 추세를 예측해볼 수도 있습니다. 그리고 데이터를 시각적으로 표현할 수 있는 능력은 매우 중요하죠.

하지만 시각화를 통한 추세 예측은 데이터 분석가 입장에서 그렇게 갔으면 하는 바람일 뿐, 그 어떠한 근거도 될 수 없습니다.

4. 결과를 바탕으로 회사가 새롭게 시도할 수 있는 것은?

앞서 세 단계를 살펴보았습니다. 첫 번째 단계부터 세 번째 단계까지는 코딩 수행 역량이 일부 요구되었습니다. 하지만 마지막 네 번째 단계인 방향성 제언은 코딩 역량보다는 코딩을 통해 얻은 결과를 어떻게 해석할 것인지, 즉 데이터 분석가의 시장 이해도가 또다시 수반됩니다.

데이터 분석 도구 🔧

방향성 수립에 근거가 되는 납득 가능한 분석 결과를 내놓기 위한 일련의 단계를 풀다 보니 단순히 엑셀만을 활용해서는 해결할 수 없는 문제들이 꽤 있었습니다.

이러한 문제들은 엑셀이 아닌 다른 도구의 힘을 빌려야 하며, 최근 Python과 R 그리고 SQL이 문제 해결 도구로서 활약하고 있습니다.

인공지능과 데이터 분석이 산업에 영향을 미치기 시작한 시점 기준, Python과 R, SQL은 각자의 특장점들을 내세우며 각자의 파이를 늘려나가고 있었습니다. 결국 승자는 Python으로 인식이 굳어졌죠.

하지만 이는 어디까지나 인식일 뿐, 아직도 R 과 SQL을 활용하여 수집된 데이터를 저장하고 불러오며 대시보드를 그리는 과정에는 다양한 언어들이 사용되고 있습니다.

더불어 최근에는 Python에서 특정 라이브러리를 활용해 R 언어로 짜여진 코드를 실행한다거나, 반대로 R 언어 편집기인 r studio에서 Python 언어를 지원하고 있습니다. 당연하게도 SQL 또한 언어를 넘나들며 활용되고 있는 상황입니다.

컴퓨팅 언어의 주도권을 잡기 위한 각 언어의 노력은 당연한 과정입니다. 이것을 두고 ‘의미 없는 논쟁’이라 할 수는 없으며, 결국 두 언어 모두 좋은 방향으로 성장하기 위한 성장통이라 정의하고 싶습니다.

컴퓨팅 언어란 현재 속해있는 기업에서 주로 사용하고 있는 환경에 맞추는 것이 제일 현명하면서도, 두 가지를 모두 잘 할 수 있다면 당연히 더욱 좋습니다.

데이터 분석을 위한 주요 라이브러리

언어에 대한 이야기가 끝났지만, 사실 더 중요한 것이 남아있습니다. 바로 라이브러리입니다. 라이브러리는 쉽게 말해 무엇인가를 개발하기 위해 혹은 어떠한 업무를 수행하는 데 필요한 기능들을 미리 정의해둔 것이라고 이해하면 쉽습니다.

예를 들어 계산기를 하나의 라이브러리라고 한다면, 라이브러리 안에는 계산을 수월하게 할 수 있는 덧셈, 곱셈, 백분율, 루트 등과 같은 기능들이 들어 있는 것인데요.

앞서 ‘Python 이 언어의 주도권을 잡게 되었다.’라고 언급하였는데, 그 이유 중 하나가 바로 낮은 허들이었습니다. 초기 진입 장벽이 낮아짐에 따라 다양한 사용자들이 유입되고, 그에 따른 개발 생태계가 구축되었죠.

그렇다 보니 기존에 수행하던 업무, 고도화된 연산이 필요한 업무, 인공지능 개발 등을 수행하는 데 있어 수많은 불만 사항들이 쏟아졌고, 이러한 불만 사항들을 개선하기 위한 개발자들의 노력으로 기존 라이브러리의 단점들을 개선해 나가고 있는 상황입니다.

물론 이는 Python뿐 아니라 다른 언어도 마찬가지입니다. R이라고 해서 업데이트가 이뤄지지 않는 것은 아니며, 지속적으로 업데이트가 진행중입니다.

그리고 이제는 언어 사용에 대한 대립보다는 라이브러리의 기능 자체에 더 많은 관심이 쏠려있습니다.

분석을 위한 라이브러리
넘파이(Numpy)

시간이 흐르면서 점점 더 다양한 기능들을 탑재한 라이브러리들이 등장하고 있습니다. 그럼에도 Numpy는 오랜 시간 동안 분석가들에게 사랑받고 있는 라이브러리 중 하나입니다.

데이터 분석이라 하면 간단한 연산부터 복잡한 공식을 기반으로 수행되는 연산까지 다양하게 요구되어 집니다. 이러한 업무를 수행하기 위해서 Numpy의 활용 여부는 선택을 떠나 필수로 요구되는 도구라 볼 수 있습니다.

그리고 최근에는 머신러닝과 같은 고도화된 연산 처리까지 수행하기 위해 지속해서 기능이 업데이트되고 있습니다. 더불어 문제 해결을 위한 수식만 가지고 있다면, 이를 Numpy의 다양한 연산 기능들을 활용하여 얼마든지 구현해낼 수 있습니다.

데이터분석가-넘파이

분석을 위한 라이브러리
판다스(Pandas)

의사결정에 필요한 데이터는 다양하게 존재해야 합니다. 그렇다 보면 데이터를 수집하고 저장하는 과정에서 정리하는 과정이 필요합니다. 그런데 데이터는 우리가 생각하는 것 이상으로 다양한 타입을 가지고 있으며, 심지어 데이터가 누락된 경우 또한 이를 표현하는 방식이 다양하게 존재합니다.

그리고 데이터가 꼭 하나의 파일로 전달되리라는 법은 없습니다. 다수의 파일로 전달되는 경우 이를 병합하고 불필요한 행과 열은 제거해야 하죠.

즉 분석에 앞서 데이터를 정리하는 과정이 필요하다는 것이며, Pandas의 다양한 기능들을 활용하게 된다면 이를 수월하게 진행할 수 있습니다. 마찬가지로 Pandas 또한 오랜시간 데이터 분석가들에게 사랑받고 있는 라이브러리중 하나 입니다.

데이터 분석가-판다스

시각화를 위한 라이브러리
씨본(Seaborn), 맷플롯립(Matplotlib), 플로틀리(Plotly)

분석을 통해 도출된 결과는 복잡한 숫자들이 나열된 경우가 많습니다. 더불어 이러한 결과는 대부분 성별, 연령층, 소득 수준, 시간 등 다양한 기준에 따라 구분됩니다. 즉 하나의 결과라 할지언정 기준이 다양하게 존재한다면 분석 결과를 내고서도 이해하기 쉽지 않습니다. 더불어 나의 분석 결과를 조직 내 구성원들에게 빠르게 공유하기 위해서는 더더욱 숫자만을 나열해서는 안 됩니다.

이러한 문제를 해결하기 위해 시각화라는 기법이 도입되었으며, 시각화만을 연구하는 분들도 상당수 존재합니다.

Matplotlib와 Seaborn 그리고 Plotly는 이러한 시각화 작업을 도와주며 각 라이브러리에는 다양한 그래프를 그릴 수 있는 기능들이 탑재되어 있습니다.

그렇다면 Pandas와 Numpy를 활용하여 데이터를 정리하고 분석을 위한 연산을 수행하였다면, 해당 데이터 및 분석 결과를 기반으로 시각화 라이브러리들을 활용해 한눈에 이해할 수 있도록 하는 일련의 과정을 떠올려 볼 수 있습니다.

데이터 분석가-씨본-

인공지능을 위한 라이브러리
텐서플로우(Tensorflow), 파이토치(PyTorch)

데이터 분석가에게 인공지능은 점점 선택이 아닌 필수 요구사항으로 다가오고 있습니다. 인공지능이라 하면 사물을 인식하거나, 대화, 작화 등을 떠올릴 수 있겠지만, 하위 분야에는 데이터 분석에 자주 사용되는 회귀, 이진 판단, 다중 선택 분류와 같이 통계학에서 자주 접할 수 있는 기법들도 포함되어 있습니다.

그리고 이러한 기법들은 앞서 언급한 Numpy를 활용해 수식을 코드로 정의하며 연산을 수행할 수도 있으나, 조금 더 빠르고 효율적인 연산을 위해 Tensorflow와 PyTorch를 활용할 수도 있습니다.

Tensorflow는 인공지능의 태동기부터 지금까지 역사가 깊은 라이브러리이며, 그만큼 많은 개발자에게 사랑받고 있습니다. PyTorch 또한 마찬가지로 인공지능을 구현하는 데 있어 여러 기능을 제공하는 라이브러리입니다. 다만 비교적 최근에 등장하여 아직 개발 생태계 조성이 완벽하지는 않으나 Tensorflow보다 가볍고 빠르게 동작한다는 장점이 따라옵니다.

텐서플로우-파이토치

다양한 역량을 요구하는
기업의 데이터 분석가 커리어

데이터 분석가는 다양한 역량이 요구되는 직군입니다. 마치 영화의 한 장면처럼 고도화된 라이브러리만을 써야 하지 않을까 생각할 수도 있죠.

하지만 앞서 살펴본 것처럼 아주 단순한 연산을 도와주는 기능부터 데이터 정리(전처리), 시각화, 인공지능 등 다양한 라이브러리들을 자주 활용해야 하며, 소개한 라이브러리 외에 더욱 다양한 라이브러리를 사용해보는 것을 권장해 드립니다. 다양한 라이브러리를 사용해보며 쌓은 경험은 기업의 올바른 의사결정을 내리는 데 있어 긍정적인 영향을 미칠 수 있습니다.

 이재화 Learning Architect (Artificial Intelligence)
편집 조주연 Content Manager


👨‍🚀 데이터 사이언스 커리어의 시작,
AI 부트캠프가 더 궁금하다면?

목록 보기

추천글