[주니어편] 데이터분석 멘토링할 때 자주 나오는 질문들

거친코딩·2022년 7월 9일
1
post-thumbnail

글을 시작하며


[데이터분석 주니어]와의 인프런에서 멘토링을 진행하면서 자주 나오는 질문들을 정리함으로써, 데이터분석을 하시는 분들께 작은 도움이나마 드리고자 작성하게 되었습니다.

  • 데이터 분석가로 일을 처음 시작하다보면, 일적인 측면에서 여러가지 많은 고민들이 들 것입니다.
    • 예를들어, 데이터분석가로 취업했는데 정작 분석보다는 데이터 추출 업무에 더 많은 시간을 쏟는 다거나,
    • 데이터 분석을 하기 전, 체계적인 분석 설계 및 계획을 어떻게 해야할지 모르겠다거나
    • 내가 하고 있는 데이터분석이 요즘 데이터 분석 필드에서 하고 있는 것들이 맞는건지?
    • 요즘 데이터 분석가로써 어떤 도메인 및 커리어 지식을 가지고 가면 좋을지 등


QA 리스트

Q. 데이터 분석가로 취업했는데, 데이터 추출 업무만 하고 있는걸 어떡하나요?

A. 자주 요청받는 데이터는 BI로 대체해보세요.

  • 아마 제가 생각하기에 데이터 추출 업무는 모든 데이터분석가들이 고민하는 부분일 것입니다.
    • "내가 데이터 추출가로 입사한게 아니라, 데이터 분석가로 입사했는데,, 라는 생각처럼 말이죠
  • 일단 데이터분석가들이 왜?? 데이터 추출 업무를 극혐하고 피곤해할까요 ?
  • 일단 여러가지 이유가 있겠지만 다음의 경우가 많을 것입니다.

    • 일단 데이터 추출 쿼리 만드는데 너무 오래 걸려요.
      • 업무 요청은 1분 이지만, 데이터 추출 쿼리 생성은 1시간이야...
    • 이건 어제도 했던일이고, 어제 어제도 했던 일이야 ...
      • 기계처럼 반복적인 일은 사람이 하기에는 너무 지루하죠
    • 나중에 이직할 때, 데이터 추출만 했던 일밖에 적을게 없지 않을까?
  • 저 또한 데이터 추출 업무는 많이 했었지만, 이 작업을 통해서 이러한 반복적인 업무 요청을 매우 줄일 수 있었던 것 같습니다.

    • 바로 "BI"입니다.
  • 데이터 분석하시는 분들이라면 다 아시겠지만, 태블로, 퀵사이트, 데이터스튜디오 등과 같은 BI들은 단순 시각화 툴이 아닙니다.

    • BI 시각화 툴은 매일 같이 요청받던 데이터를 요청부서에서 알아서 직접 다운 받거나, 확인할 수 있게 해주어서, 지금까지 직접 데이터를 뽑았던 업무를 더이상 하지 않아도 되게 만듭니다.
  • 그런데 BI 시각화를 하기 전에, 정말로 명심하고 또 명심해야 될 것은 "단순 DB to BI로 연결하시면 절대 안됩니다."

    • 회사 규모에 따라서 각자의 데이터 풀 크기가 다르겠지만, 저는 만약 작은 회사에서 일한다 하더라도 데이터마트를 연계적으로 설계하고 만들어서 BI에 연결하는 습관을 들여야 한다고 생각합니다.
  • 그런데 간혹 이런 질문을 받곤 합니다.

    • 꼭 데이터 마트를 만들어서 BI에 적용해야 하나요 ? / 그냥 사용자 쿼리 짜서 연결하면 안되나요?

    • 일단 발생되는 문제부터 말씀드리겠습니다.

      • 데이터가 너무 많거나, 쿼리가 복잡하게 되면 막힘없이 봐야할 BI 리포트가 굉장히 무거워지면서 우리들의 고객(마케터, PO 등등)들의 사용성이 매우 좋지 않아질 것입니다.
      • 그리고 우리가 만들 BI가 한 두개가 아닐텐데, 이렇게 무거운 BI 객체들이 많아지게 된다면 원활한 BI 서빙이 어려워질 것입니다.
  • 그래서 결론적으로 일의 순서를 정하면 다음과 같습니다.

    1. 자주 요청받는 데이터 주제별로 나누기
    2. 데이터 추출 쿼리 만들기
    3. 데이터 마트 생성
    4. BI 만들기

Q. 데이터 분석의 최종결과물이 불분명한 것 같아요.

A. 1 Pager 방법을 추천드립니다.

  • 데이터분석가들은 다른 부서에게 분석을 요청받거나, 아니면 자체적으로 분석주제를 잡아서 결과를 도출하곤 합니다.

  • 하지만 데이터 분석을 하다보면 분석의 본연의 목적과는 다르게 여러가지 결과물들이 나오게 되고, 결국에는 "분석을 해보니까 이런 결과가 나오구요~, 저런 결과 형태가 보이기도 하네요."같은 상황이 나오기도 합니다.

    • 하지만 이러한 분석가의 무책임한 분석 결과는, 결과를 받는 입장에서는 어떠한 결정을 내려야 할지 매우 난감하게 됩니다.
  • 저는 이러한 상황이 발생하는 이유는 데이터 분석의 첫 시작인 "구조"를 잡지 않고 시작했기 때문이라고 생각합니다.

  • 그래서 이러한 분석 구조를 체계적으로 잡게 도와주는 "1 Pager"라는 방법을 소개해 드리겠습니다.

  • 실제로 쿠팡에서 PO들이 사용하는 방법으로써, 프로덕트 성장 관점에서 기획을 할 때 매우 좋은 방법입니다.

  • 위 1 Pager를 분석관점으로 재접근하면,

    • Target Customer : 분석가들에게 고객은 외부 뿐만 아니라, 다른 팀 부서일 가능성이 많죠
    • Observation : 데이터 그 자체로 보이는 현상을 말합니다.
      • 예를들어, 지난 달 대비 매출 5%가 떨어졌네?, 어제보다 고객 유입수가 3% 올랐네?
    • Problem Statement : Observation으로서 야기되는 문제를 말합니다.
      • 여기서 주의해야할 점은 Observation(현상)과 Problem(문제)를 잘 구분해야 하는데요.
      • 간혹 현상과 문제를 구분하지 않고 한번에 인식하는 경우가 많습니다.
      • 그런데 우리가 최종적으로 하려는 것은 문제해결인데, 애초에 문제에 대한 원초적인 정의부터가 잘못되어지게 만들어버립니다.
        • 예를 들어서, "비가와서 옷이 젖었다"가 문제처럼 보이지만, 사실은 해당 부분은 문제가 아니라 현상이고, 문제는 "옷이 젖어서 학원을 못간다"라던지, "옷이 젖어서 감기에 걸릴 수 있다"같이 다양해질 수 있습니다.
      • 그래서 우리가 분석할 방향을 근시안으로 좁히지 말고, 현상과 문제를 잘 구분해서 여러 문제에 대응되는 분석을 시행해야 합니다.
    • Jobs-to-be-done : 문제 정의(Problem State)에 대응되는 분석할 주제를 잡습니다.
    • Benchmarks : 해당 부분은 반드시 필요한 부분은 아니지만, 좋은 분석 선례가 있다면 참고해보는 것도 좋습니다.
    • Hypothesis : 매우 중요한 가설 설립입니다.
      • 우리가 잡은 문제에 대응되는 주제를 완수하기 위해서 여러가지 가설을 세우게 됩니다.
    • Metrics : 가설이 있다면, 그 가설을 입증할 지표가 반드시 필요하게 됩니다.
      • 지표에는 2가지 큰 타입이 있을 수 있습니다.
        • Input Metric(투입지표) : ex) 고객 유입수
        • Output Metric(산출지표) : ex) 매출
    • Trade-Off and Tension, Andon : 해당 부분은 분석 계획에는 괜히 투머치할 수 있으니 제외하겠습니다.
  • 결론적으로 데이터분석가에게 1-Pager는 다음과 같은 이점이 있습니다.

    • 내가 하려고 하는 분석을 체계적으로 할 수 있다.
    • 함께 협업하는 분석이라면 팀원들과의 공통된 목적을 가지고 분석을 시행할 수 있다.
    • 나중에 성과 측정할 때, 이러한 1-Pager들로 내가 무엇을 했는지 입증 가능
  • 1-Pager는 딱 이렇게 해라라는 국룰 템플릿은 없지만, 이름 그대로 1 Pager로 나의 분석을 남에게 정말 쉽게 설명할 수 있는 정도이기만 될 것 같다.


Q. 업무 자동화를 하고 싶은데, 좋은 방법이 있을까요?

A. 업무 환경에 따라 자동화 시스템을 도입해보는 것이 좋을 것 같습니다.

  • 각자 업무 환경에 따라서 천차만별 다 다르겠지만, 다음과 같은 이유로 인해 업무 자동화를 하고 싶은 경우가 많습니다.

    • 특정 시점의 데이터 스냅샷이 필요한 경우
    • 데일리 리포트를 생성해야 하는 경우
    • 데이터 마트를 만들어야 하는 경우
  • 하지만 이러한 자동화 시스템 구축의 경우 또 회사마다 엔지니어가 하는 경우도 있고, 아니면 분석가들도 같이 하는 경우가 있습니다.

  • 그런데 여기서 저의 개인적인 생각을 조금 말씀드리면, 데이터 분석가 스스로가 자동화 시스템을 전체 구축까지는 아니더라도 어느정도 할줄은 알아야 한다고 생각합니다.

  • 일단 자동화 시스템을 할 수 있는 방법은 정말 다양한데, 제가 말씀드리는 방법을 각자 회사 사정에 따라 고민해보시면 좋을 것 같습니다.

    • 첫 번째로 가장 간단한 방법인 "Crontab"을 이용하는 방법입니다.

      • 각자의 OS 마다 방식은 조금 다르긴 하지만, 전체 메커니즘은 비슷하기 때문에 적당히 구글링 검색 몇번 하시면 바로 사용하실 수 있습니다.
      • 다만 Crontab의 장점과 단점을 말씀드리면, 장점은 엔지니어적 지식이 크게 없이 쉽게 사용가능하긴한데, 단점은 노트북을 항상 켜놔야한다는 단점이 있습니다.
    • 두 번째 방법은 "Airflow"를 사용하는 방법입니다.

      • 일단 Airflow란, AirBnb에서 만든 Workflow management tool입니다.
      • Airflow를 통해서 우리는 ETL 작업 및 스케줄링 및 모니터링을 할 수 있게 됩니다.
      • 요즘에 이 기술이 MLOPS 영역에서도 굉장히 핫하고 많이 사용된다고 합니다.
    • 세 번째 방법은 "각 클라우드의 배치 서비스"를 사용하는 방법입니다.

      • 웬만한 기업에서는 클라우드 환경안에서 서비스를 고객들에게 제공하게 됩니다.
      • 크게 클라우드 환경이라하면 보통 아마존웹서비스(AWS), 마이크로소프트 애저(MS Azure), 구글 클라우드 플랫폼(GCP), IBM 클라우드(IBM Cloud) 등이 있는데,
        • AWS : Batch라는 것도 있고, 요즘에 나온 Glue라는 서비스도 있습니다. Glue같은 경우는 저도 자주 애용해서 사용하고 있는 매우 좋고 만족해하고 있는 서비스인 것 같습니다.
        • 마이크로소프트 애저 : Azure Batch라는게 있습니다.
        • 구글 클라우드 플랫폼 : Cloud Scheduler라는게 있습니다.
        • IBM 클라우드 : Cloud Pak for Data라는게 있습니다.
      • 솔직히 저도 AWS 말고는 다른건 안써봤지만, 제 의견은 어떤 클라우드서비스의 배치가 더 좋다라기보다는 본인 회사에서 사용하는 클라우드 환경에 맞는 배치를 사용하는게 연계성 및 확장성 측면에도 그렇고, 실질적 도입 가능 여부도 더욱 높일 수 있을 것입니다.
    • 네 번째 방법은 "서버에 직접 배치잡 생성"입니다.

      • 일단 이 방법을 하려면 서버환경부터 갖추셔야 하는데, 이 서버가 물리적 서버도 괜찮고, 아니면 클라우드 환경의 서버도 상관없습니다.
      • 그리고 서버를 할당받게 되었을 때, 약간의 Backend 지식을 가지고 직접 API를 만들어서 원하는 시간때 마다 해당 호출을 트리거 시켜주면 될 것 같습니다.
        • 이렇게만 말씀드리면 "이렇게 쉽게 얘기한다고?"라고 생각하실 수 있습니다.
        • 사실 네 번째 방법을 그렇게 막 추천 드리는건 아니지만, 해당 방법을 익힘으로써 저는 데이터 분석가가 스페셜리티를 얻을 수 있는 하나의 방법이라고 생각이 듭니다.
          • 구체적으로 말씀드리면 데이터 분석가가 파이썬 기반인 Django 프레임워크를 한번 취미로라도 배워보시라는 것입니다.
          • 저는 항상 데이터분석 일을 할때마다, 정말 열심히 고민해서 작업한게 단순 한번의 리포팅으로 끝나는게 너무 아쉽더라구요.
          • 그래서 "내가 한 데이터 분석을, Production 즉, 제품화로 만들면 어떨까?"란 생각을 해봤었고
          • 제가 대학교 학부 때 통계를 전공하긴 했지만, 취미가 Django로 Backend로 개발을 해보는 것이 지금와서 이렇게 또 도움이 될지는 몰랐었습니다.
          • 그래서 실제 업무 환경에서 자주 요청 받는 업무나, 데이터 분석결과를 API로 만들어서 사내 환경에 웹형태로 누구나 쉽게 클릭한번으로 결과를 받아볼 수 있게 적용해보기도 했습니다.
          • 그래서 만약 해당 영상을 시청하시는 분들 중에 내 암묵지 분석을 실제 프로덕션화까지 시켜보고 싶으신 분이 있다면 "Django"를 꼭!! 배워보시길 강추드립니다.

위 3가지 질문들에 대한 답은 제가 실제로 데이터분석가로서 일해보면서 느낀 경험들 입니다.
제가 생각하기에 모든 직업을 막론하고 공통적으로 커리어 성장을 할 수 있는 방법은 "현재 커리어에 대한 열정과 고민"을 계속하는 것이 아닐까라는 생각을 합니다.
자신의 커리어에 자부심과 열정을 가지고, 현재 자신이 올바른 길로 가고 있는지 계속해서 의문을 가지고 궁금증을 가지는 것으로만으로도 정말 잘하고 있다는 생각이 들거든요.
저 또한 지금보다 더 좋은 데이터 분석가가 되기를 노력할 것이구요.
이 과정중에 또 좋은 경험과 정보가 있다면 지금처럼 계속해서 공유드리겠습니다.
긴 내용을 함께 해주셔서 감사하구요.
거칠지만 유익한 거친코딩이였습니다.
감사합니다.

profile
데이터 분석 유튜버 "거친코딩"입니다.

1개의 댓글

comment-user-thumbnail
2022년 9월 25일

글 잘 읽고 갑니다. 재밌고 유용한 글이 많네요! 감사합니다.

답글 달기