우리 서비스는 얼마나 “Sticky(끈적한)” 할까? (GA를 이용한 Cohort 분석 적용하기)

  안녕하세요 @unsteadyflow 입니다.
  얼마 전 읽은 김훈 작가님의 “자전거 여행2″이라는 책에 보면 다음과 같은 글이 있습니다.


“항해술에서 가장 중요한 것은 선박의 위치 판단이다.”


  이 부분은 서비스를 개선해나가는 과정에도 참 중요한 부분이라 생각을 합니다. Web or Mobile App 서비스에서 현재의 위치 판단을 위해서는 사용자들에게서 제공되는 수많은 Data 들을 효과적으로 분석을 하는 것 입니다. 이번에 포스팅을 할 주제는 Cohort Analysis 입니다. 쿠폰모아 서비스에서 적용하고 있는 Cohort 분석 방법을 공유해볼까 합니다.

  Cohort 분석이란 백과사전에 기술되어 있는 내용을 보면,  “코호트 분석 [ cohort analysis , -分析 ] – 소비자를 세대마다 구분하고, 세개별로 종래의 환경, 소비 실적을 분석하여 장래의 소비 행동을 예측하는 마케팅 수법” 이라고 명시 되어있습니다. cohort 분석은 단순히 총 매출액, 총 고객 수 등과 같은 총량적인 숫자들만 보는 것이 아니라, 고객들을 그룹으로 구분지어서 그 해당 그룹별로 성과 및 여러 Action들을 측정하는 것입니다. 예를 들어, 이번 달에 가입한 사용했던 user 중 다음달에 다시 사용하는 Retention(잔존율) 수치가 얼마 정도 되는지에 대해 파악할 수 있습니다. 아래의 지표처럼 7월에서 11월의 Retention 수치를 살펴보면 40%에서 53% 상승하면서 꾸준히 user의 서비스 충성도가 상승하는 것을 파악할 수가 있습니다.  이 외에도 회원가입자의 연령별로 혹은 성별로 구분하여 여러 데이터를 분석하여 자신의 서비스에 대해 다양한 분석을 가능하게 합니다.
▲ Cohort 분석

 

  위와 같은  Cohort 분석을 가능하게 하기 위해서는 두가지의 방법이 있습니다. 첫번째 방법은 서비스내에 직접 분석 툴을 구현하는 것이고, 또 다른 하나는 GA(Google Analytics)의 Custom variable을 이용해서 측정하는 방법이 있습니다. 저는 그중에서 GA를 이용해 Cohort 분석을 간단하게 적용 하는 방법을 공유해 볼려고 합니다.

 Cohort Analysis with GA(Google Analytics)

 분석을 하기 위해서는 서비스의 특성에 맞는 rule을 적용해야 합니다. 어떤 고객들을 트랙킹 할 것인지, 트랙킹하는 고객들은 어떤 특정한 값을 바탕으로 트랙킹을 할 것인지, 어떤 시간 기준(년,월,일)으로 분류 할 것 인지에 대해서 말이죠.
 예를 들어 “2012년 매달 신규 가입자를 대상으로 매월 retention 수치를 분석한다”면 각각의 방문자에 대해서 파악해야될 부분은
 1. 방문자 인지 회원가입자인지(visitor or member)
 2. 몇 년도에 가입했는지(계정 생성한 연도)
 3. 몇 월에 가입했는지 에 대한 측정이 필요합니다.(계정 생성한 월)

  그러면 먼저 기본적인 GA코드를 보면 다음과 같습니다.(이미지를 클릭하시면 확대가 가능합니다.)
  여기에 저희는 위의 파악해야될 3가지 변수들을 정의하여 코드에 적용하기 위해 아래와 같은 코드를 추가 합니다.(쿠폰모아는 ruby/rails를 사용하고 있습니다.)
※ 기존 GA코드에 ‘_setCustomVar’로 시작되는 부분만을 추가하시면 됩니다.

 

  브라우저에는 다음과 같이 나타나게 됩니다.(2012년 3월에 가입한 사용자가 방문한 경우)
  여기에서 궁금하실 부분은 gaq.push([‘_setCustomVar’, 1, ‘Member’, ‘yes’, 1]); 에서 각 값들이 어떤부분들을 의미하는지에 대해서 일 것 입니다.
  간단히 설명을 드리자면
  ‘1’ – 해당 사용자 변수의 ‘slot’ 번호(1~5까지 지정 가능)
  ‘Member’ – 해당 사용자 변수의 ‘이름’
  ‘yes’ – 해당 사용자 변수의 ‘값’
  ‘2’ – 해당 사용자 변수 정보의 ‘범위(‘1’- visitor level, ‘2’- session level, ‘3’- page level)
  즉, _setCustomVar(slot 번호, 이름, 값, 범위)으로 구분된다고 보시면 좋을 것 같습니다. 각 부분들에 대한 상세한 내용은 Google code를 참고하시면 좋을 것 같습니다.

GA에서 Advanced Segments 설정하기

 위와같이 분석이 필요한 페이지에 위의 GA코드를 적용하면 GA에서 ‘Advanced Segments’ 기능을 이용해서 결과를 확인할 수가 있습니다.

  1) ‘Advanced Segments’클릭 후 ‘New Segments’ 클릭
  2) Segment 이름 및 각 변수 적용
▲ GA(Google Analytics)에서 Segment 설정

 

  3) 마지막으로 ‘Save segment’클릭 후 매월/매주 데이터 확인 및 excel 시트에 정리

 

   Eric Ries가 쓴 ‘The Lean Startup’을 읽어보면 다음과 같은 문구가 나옵니다.

 “Cohort analysis is one of the most important tools of startup analytics. Instead of looking at cumulative totals or gross numbers such as total revenue and total number of customers, this looks at the performance of each group of customers that comes into contact with the product independently. For example, tracking the metrics of new customers who joined in each indicated months is valuable.”

 

   – Cohort 분석은 스타트업이 하는 분석 중 가장 중요한 것 중의 하나이다. 총 수익, 총 사용자 수 등과 같은 수치들을 보는게 아니라, 사용자들을 집단으로 분류지어서 그 해당 집단만을 독립적으로 성과를 측정하는 것이다. 예를 들면, 해당 월에 가입한 사용자들을 분류해서 그 사용자들의 성과를 트래킹하는 것이다.

 

   위의 글처럼 Cohort 분석은 일반적인 매출액, 다운로드 수 보다 훨씬 더 가치있는 수치일 수 있습니다. 자신의 서비스를 가장 잘 분석하는 것이야 말로 정확한 방향성의 시작이라 생각이 듭니다. Cohort 분석 뿐만 아니더라도 각 서비스에 따라 중요한 수치들을 모으고 분석한다면 정말 사용자가 원하는 부분에 조금 더 가까이 갈 수 있지 않을까 생각합니다.
  혹시 틀린 내용이나 첨가하실 의견은 아래 댓글에 달아주시면 수정하면서 내용을 보완할 수 있도록 하겠습니다. 감사합니다.