📖 그로스 해킹

[AARRR] Raw Data로 원하는 지표를 추출하고 가공해보자 - Retention, Revenue

짱쿠 2023. 3. 11. 02:10

 [그로스해킹 - 데이터와 실험을 통해 성장하는 서비스를 만드는 방법]

3. AARRR 활용

 

 

그로스해킹 - 데이터와 실험을 통해 성장하는 서비스를 만드는 방법 - 인프런 | 강의

데이터를 기반으로 정의한 핵심지표를 바탕으로, 실험을 통해 배움을 얻고, 이를 빠르게 반복하면서 서비스를 성장시키는 것. 그로스해킹의 기본을 다루는 101 강의입니다., - 강의 소개 | 인프런

www.inflearn.com

위 강의를 들으며 학습한 내용을 기록한 글입니다.

 

 

 


Rawdata를 통해 원하는 지표를 추출하고 가공해보자.

앞에서 AARRR의 각 단계와 지표에 관한 개념적 내용을 공부했다.

개념적 공부로 끝나는 것보다는

데이터를 통해 그 지표들을 어떻게 뽑아낼 수 있는지 실제로 연습해보는 것도 중요하다.

현업에서는 파이썬, R과 같은 도구를 주로 사용하지만, 이 실습은 엑셀로 이루어진다.

 


실습 1. Retention 계산하기

user_id, sign_up_date, last_login_date 로 리텐션을 추출해보자.

 

1년간의 월 단위 롤링 리텐션을 추출해보자.

앞에서 배웠던 개념을 첨부한다.

롤링 리텐션 (Rolling Retention)

특정일을 마지막으로, 더이상 들어오지 않는 유저수를 세고, 그를 뺀 나머지 유저를 리텐션으로 계산하는 방법.
다른 리텐션 (Classic Retention, Range Retention)은 로그인 기록 데이터를 계속 쌓아놔야 계산이 가능한 반면,
first_date와 last_date만 있으면 구할 수 있는게 장점이다.

계산법 : After N day에 서비스를 쓴 기록이 있는 사람 / Day 0에 처음 서비스를 사용한 사람

 

 

 

 

1.

sign_up 시트 : 

1년간 가입한 유저 10470명의 user_id(유저 고유번호), sing_up_date(가입 날짜), last_login_date(최종 로그인 날짜) 데이터를 볼 수 있다.

 

 

 

 

2.

먼저 sing_up_date, last_login_date를 월단위로 바꿔준다.

강의에서는 데이터>텍스트 나누기> 너비가 일정함 을 통해 월 이후의 날짜 데이터는 모두 1일로 바꿔주었는데,

나는 생략하고 바로 진행해보았다.

 

 

 

 

3.

전체데이터를 선택 후, 삽입>피봇테이블을 통해 피봇테이블을 생성한다.

행은 sign_up_month, 열은 last_login_month, 값은 user_id로 설정한다.

이 때, 우리가 필요한 건 user_id의 개수이기 때문에 값필드설정에서 합계가 아닌 개수로 설정을 변경한다. 

 

그럼 월별 가입자 수 - 월별 최종로그인 수를 볼 수있는 삼각형 형태의 표를 확인할 수 있다.

 

 

 

 

4.

피봇테이블 상태에서는 편집이 까다롭기 때문에 새로운 시트로 복붙해서 작업한다. (붙여넣기 옵션을 통해 값만 가져온다.)

필요없는 데이터는 정리해주면 위와 같은 형태가 된다.

 

각 칸의 데이터는 '0월 가입자 중 0월에 마지막으로 로그인한 유저 수'를 의미한다.

캡처에서 선택된 E6 칸의 데이터는 '3월 가입자 중 4월에 마지막으로 로그인한 유저 수'이다.

 

우측의 총 합계 데이터는 '월별 총 가입자수'를 의미하게 된다.

1월 총 가입자 수는 428명이다.

 

 

 

 

5.

리텐션에서는 월별 최종로그인 유저 수가 아닌, 월별 잔여유저 수가 필요하므로 또 한번 가공한다.

4번의 표에서 우측의 총 합계 데이터였던  '월별 가입자수'를 가져온다.

캡쳐에서 선택된 E24의 수식처럼, 왼쪽 칸(전월 잔여유저 수)에서 (전월 최종로그인 유저 수)를 빼며 데이터를 채워준다.

 

각 칸의 데이터는 '0월 가입자 중 0월까지 활동하는 잔여 유저 수'를 의미한다.

E24칸의 데이터는 이제 3월에 가입한 사람 중 4월까지 활동하는 유저 수를 나타낸다. 

 

하단의 총 합계 데이터는 '월 별 액티브유저 수'를 나타낸다.

2월 액티브 유저 수는 1월에 가입 후 2월까지 남은 유저, 2월에 신규 가입한 유저를 합쳐서 총 800명이다.

 

 

 

 

6.

5번의 표에서 잔여유저 수를 백분율로 바꿔주기만 하면 리텐션 추출 끝.

조건부서식의 색조 기능까지 넣어보았다.

 

시간이 경과할 수록 리텐션이 개선되고 있음을 알 수 있다.

 

 

 

 


실습 2. Revenue 분석하기

payment_id, 결제 금액, 결제일, user_id 로 매출을 쪼개고 분석해보자.

 

한달치의 단순한 결제정보 rawdata를 통해

매출의 증가,감소 원인을 분석하고, 추후의 매출을 예측해볼 수도 있다.

 

 

 

1.

payment 시트:

한 달치의 결제정보를 확인할 수 있는 시트이다..

payment_id(결제 고유번호), item,(구매아이템), payment(결제금액), buy_date(결제일), user_id(유저 고유번호)를 볼 수 있다.

 

 

 

 

2.

한 유저가 여러 번 결제한 경우를 고려하여 데이터를 유저 별로 묶는다.

전체데이터를 선택 후, 삽입>피봇테이블을 통해 피봇테이블을 생성한다.

행은 user_id, 값은 payment 개수, payment 합계로 설정한다.

 

유저 별로 몇 번 결제했고, 총 결제금액이 얼마인지를 확인할 수 있다.

 

 

 

 

3.

자유로운 편집을 위해 새로운 시트에 피봇테이블의 값만 복사한다.

컬럼명을 더 적합하게 바꿔주었다.

 

 

 

 

 

4.

월별 코호트와 함께 살펴보기 위해

실습1에서 사용한 sign-up 시트에서 이 유저가 언제 가입한 유저인지 정보를 함께 불러온다.

 

VLOOKUP 함수를 이용해줬다. 

=VLOOKUP(A2,sign_up!$A$2:$E$10472,4,FALSE)

  • A2 -> user_id
  • sign_up!$A$2:$E$10472 -> sign_up 테이블의 컬럼명 부분을 제외한 전체 데이터 (고정)
  • 4 -> 4번째 열 (sign_up_month)
  • FALSE -> 정확히 일치 선택

 

아래 행에도 모두 동일하게 적용해준다.

 

첫 이미지처럼 숫자로 표시되면, 셀 서식을 통해 날짜형식, 월까지 표시되도록 변경해주면 된다. 

 

 

 

 

 

5.

피봇테이블을 한번 더 만든다.

행은 sign_up_month, 값은 user_id 개수, sale 합계로 설정한다.

각 월별 가입자 중 결제한 유저 수, 12월 매출합계를 볼 수 있는 표가 만들어졌다.

 

역시나 편집을 위해 새 시트로 값만 복붙, 컬럼명을 더 적합하게 바꿔주었다.

 

 

 

 

6.

실습 1의 4번에서 구해두었던

월별 가입자 수와 12월의 액티브유저 수(활동회원 수) 정보도 추가해준다.

이를 통해 아래의 정보도 알 수 있다.

  • 잔존율 : 활동회원 수 / 가입자 수
  • 결제 비율 : 결제자 수 / 활동회원
  • ARPPU (결제자 인당 매출) : 매출 / 결제자, 셀서식 통해 소수점아래숫자 없애기

 

 

 

 

 

7.

조건부서식을 통해 더 보기 편하게 만들어보았다.

매출을 이렇게 자세히 쪼개보면,
매출이 오르거나 떨어졌을 때 종합적인 판단이 가능하다.

 

가입자가 늘어나서 오른건지, 결제비율이 높아져서 오른건지, ARPPU가 높아져서 오른건지,

최근 가입자가 늘어나서 오른건지, 예전에 가입한 가입자들의 잔존율이 높아서 그런거지 등등..

 

 

 

 

8.

7번의 데이터를 기반으로 6개월 뒤 매출을 예측해볼 수 있다.

위의 예측 데이터를 따로 써두고 함수로 연동하여 예측해본다.

  • 가입자 수 :
    • 지난 1년 : 변하지 않는 데이터, 그대로 가져온다.
    • 추후 6개월 : 2700명으로 예측
  • 잔존율 : 
    • 가입 후 1년이상 경과 : 12%로 예측
    • 가입 후 1년미만 경과 : 지난 데이터를 통해서 예측 가능, 그보다 10% 개선시켰을 경우로 예측 (100%이상은 100%로 수정)
  • 활동회원 수 : 가입자수 * 잔존율
  • 결제 비율 :
    • 가입 후 1년이상 경과 : 45%로 예측
    • 가입 후 1년미만 경과 : 지난 데이터를 통해서 예측 가능, 그보다 10% 개선시켰을 경우로 예측
  • 결제자 수 : 활동회원 수 * 결제 비율
  • ARPPU : 지난 달 평균 ARPPU가 9300원대였으므로 9700원으로 예측
  • 매출 : 결제자 수 * ARPPU 

이렇게 6개월 후의 매출액을 예측해볼 수 있다.

 

 

 

 

 

9.

엑셀 옵션 > 빠른 실행 도구 모음 > 모든 명령 > 컨트롤 삽입 (또는 컨트롤) 을 추가하여스크롤 막대 삽입, 셀 연결을 통해 더 편하게 값 변경도 가능하다.

 

이렇게 예측 데이터를 요리조리 바꿔가며,

서비스의 매출에 각 항목이 어느정도의 영향을 미치는지,

매출 증대를 위해 어느 곳에 더 집중하는 것이 효율적인지를 파악해볼 수 있다.

 

 

 

 

 


AARRR과 각 지표에 대한 개념을 익히면서도,

이 지표들을 어떻게 얻을 수 있는지, 어떻게 활용해야할지는 감이 잘 안잡혔는데

그냥 쌓여오기만 한 rawdata를 쪼개서 의미를 찾아내는 과정.. 너무 재밌다...