GA, Kissmetrics 등의 웹로그 분석 툴들은 나날이 발전하고 있다. 그럼에도 스타트업들이 일정 시점에 이르면 Python, R, SQL 등에 능숙한 데이터분석가를 별도로 채용하는 이유는 무엇일까? 분석 툴로 할 수 없거나 효율이 떨어지는 부분은 구체적으로 어떤 것들인가? 아직 스타트업에서 일하고 있지 않은 나는 그점이 늘 궁금했다.

아래 내용은 Segments 웹사이트의 Analytics Academy 실러부스 중 일부인 When to Use SQL for Analysis 를 번역한 것이다. 예시로 드는 사례들이 무척 구체적이어서, 나와 비슷한 궁금증을 가진 사람들에게 도움이 될 듯 하다.


지난 번에는 고객 데이터를 손쉽게 입수하는 방법에 대해 알아봤다. 이번에는 raw data를 분석하는 주요 방법 중 하나인 SQL과, 어떨 때 SQL을 써야 하는지를 알아볼 것이다.

특출한 분석 툴들은 대부분의 문제를 해결할 수 있다.

당신이 raw한 고객 데이터에 접근할 권한이 있길 바란다. 아직까진 직접 쿼리를 날릴 일이 없었다 하더라도 말이다. 만약 제품이나 비즈니스가 아직 초기 단계라면, 이벤트 분석이나 리포팅 툴을 이용해 모든 질문에 대한 답을 얻을 수 있을 것이다. 이 방법이 선호되는 건 빠른 실행을 위해 힘든 일은 그런 툴에게 모두 맡기고 빠른 실행에 집중할 수 있기 때문이다.

Google Analytics, MixPanal, Kissmetrics, Indicative와 같은 서비스는 제품과 마케팅에 관한 기본적인 질문을 잘 해결해준다. 트렌드, 사용 패턴, 코호트, 퍼널 등을 분석하는 데 도움이 될 것이다. 이런 툴을 이용하면 다음과 같은 질문에 답을 얻을 수 있다.

  • 어떤 사이트에서 유입되는 트래픽이 가장 전환률이 높은가?
  • 퍼널에서 사람들이 확 줄어드는 지점은 어디인가?
  • 고객들은 어떤 기능을 사용하는가? 사용하지 않는 기능은 무엇인가?
  • 투자유치를 발표한 즈음에 회원가입한 사람들은 다른 코호트와 똑같이 행동하는가?

이런 질문들에 SQL로 답을 구하는 건 사소한 일이 아니다. 특출한 (out-of-the-box) 분석 툴을 이용하는 게 더 빠를 것이다. 클릭 몇 번이면 끝난다.

하지만 어떤 지점에서 SQL을 이용할 필요가 있는 걸까? 아래 내용은 왜 사람들이 이런 호스팅 툴에서 SQL 데이터베이스와 Tableau, Looker, Mode, Chartio, Periscope 등의 BI툴로 갈아타는지 그 이유를 열거한 것이다.


비즈니스에 관한 구체적이고 세밀한 질문들

모든 비즈니스에는 트렌드 라인, 퍼널 분석, 코호트 리포트가 당신이 알고 싶어하는 세밀한 부분을 제공하지 않는 시점이 찾아온다.


행동 코호트(behavioral cohort)와 커스터마이징된 세션 분석하기

예를 들어 특정 행동을 기준으로 코호트 분석을 하고 싶다고 해보자. 이 액션을 취한 사람들을 다른 사람들과 어떻게 비교할 수 있을까? 활성화율과 잔존율이 높아진 걸 설명해주는 특정 행동이 있을까? 이걸 알아내기 위해서는 SQL이 정말 필요하다. 이 업계에서 일하는 사람들은 이런 분석을 ‘아하 모멘트 찾아내기(finding your aha moment)’라고 부른다.

만약 당신의 비즈니스가 ‘유저 세션’을 독특하게 정의하는 경우라면 어떨까? 예를 들어 이커머스 사이트와 달리기 트래킹 앱은 세션을 셋팅하는 기준이 다를 것이다. 대부분의 특출한 분석 툴들은 한 가지 방법으로 세션을 측정하며, 커스터마이징할 여지를 매우 제한한다. 하지만 SQL을 사용하면 당신의 비즈니스에 가장 적합한 방식으로 세션을 정의할 수 있다.


고객 행동을 파고들기(drilling down)

또한 SQL은 최대한 세밀하게 분석할 수 있는 폭이 넓다. 아래 나열된 질문들은 SQL로 손쉽게 답할 수 있지만, 관리 툴로는 답하기 어려운 것들이다.

  • 모바일에서 우리 웹사이트의 계정을 만들고, 상품을 장바구니에 넣고, 구매까지 완료한 유저의 수는 몇 명이나 될까?
  • 이 그룹의 사람들이 가장 많이 유입된 링크와 레퍼러는 무엇일까?
  • 모바일에서 다른 상품을 장바구니에 추가한 유저는 몇 명일까?
  • 주문을 완료하라는 푸시 노티를 본 사람들은 누구인가?

커스텀된 대시보드 만들기

위와 같은 비즈니스와 제품에 관한 ad-hoc 질문에 답하는 것 외에도, SQL을 이용해 더 강력한 리얼타임 대시보드를 만들 수 있다. 스탠더드한 지표에 비해 당신의 비즈니스에 더 의미있게 완벽히 커스텀된 지표를 가진 대시보드 말이다.

물론 분석 툴을 이용해서도 할 수 있겠지만 모든 기업이 똑같은 것은 아니다. 각각의 기업들은 직접 정의한 지표를 통해 성공을 측정한다.(허무 지표가 아니길 바란다!)

아래는 SQL로 만든 지표의 예시들이다.

  • # ‘블로그의 도움을 받은’ 회원가입 우리의 블로그는 회원가입을 강하게 권유하지 않는다. 우리는 사람들이 컨텐츠를 읽고, 좋아하고, 더 읽고, 그 컨텐츠를 우리 제품인 Segment와 연결시키길 바란다. 그러므로 우리는 블로그 포스트에서 직접 회원가입한 경우만 측정하기 보다는, 유저가 회원가입 전에 블로그를 봤는지 여부를 포함해서 측정한다.

  • # 연결된 계정 연결된 계정은 고객이 Segment로 데이터를 send to 하고, send off to a certain number of integrations하는 경우를 말한다. 이런 계정들은 훨씬 더 관여도가 높고, 제품에서 더 많은 가치를 얻어간다. 따라서 우리는 활성화를 더 정확히 측정하기 위해 이 지표를 사용한다.


다른 데이터 소스를 고객 데이터와 조인할 때

많은 기업에게는 고객 이벤트 데이터를 다른 종류의 비즈니스 데이터나 운영 데이터와 결합했을 때 더 가치가 올라간다. 예를 들어 SQL을 이용하면 마케팅 채널에 관한 정보를 CRM에서 클로징된 딜과 연결함으로써 채널별 효과를 측정할 수 있다. 또는 상품 구매 데이터를 상품 재고와 연결하여 유통 물류를 관리할 수도 있다.


…이하 계속되는 ‘SQL로 갈아탄 회사들의 사례’는 번역을 생략합니다.