정확한 LTV의 모델링과 계산을 위해서는 많은 데이터 처리, 분석, 모델링, 그리고 서비스화 작업이 필요하다. 그러나 마케팅을 위한 데이터 사이언티스트, 엔지니어들이 내 조직 내부에 존재하는 경우는 거의 없다. 따라서 고도화된 LTV 모델을 만드는 것은 꿈도 못 꾸는 경우가 대부분이다. 또한 있다고 하더라도 실무를 하다 보면 고도화된 모델링보다 빠른 계산이 필요한 경우가 많은데 이럴 때 사용할 수 있는 방법이다. 해당 방법들은 F2P 기반 모바일 게임에서만 적용하여서 사용해 봤기 때문에 다른 형태의 Monetization을 가지고 있는 서비스에 적용할 수 있을지는 검증되지 않았다.
*해당 글에 나오는 LTV 계산 방법론은 Eric Seufert의 모델 (http://mobiledevmemo.com/two-methods-modeling-ltv-spreadsheet/)을 빌려와서 개선한 버전이다.
아래 방법들을 가지고 LTV 모델을 구축하고 LTV를 계산한 후에, 예측 LTV값을 실제 LTV와 비교를 하여서 가장 적합한 모델을 선택해야 한다. 추가적으로 히스토리컬 데이터가 있으면 모델을 보정하여서 사용하는 것이 좋다.
예상 접속 일수 * ARPDAU
LTV는 한 명의 고객이 내 서비스에 유입된 시점부터 이탈할 때까지 지출할 비용이다. 이것을 다르게 생각해보면, 유저가 1일 접속 시 사용하는 금액 (ARPDAU)을 예상 접속 일수와 곱하면 LTV를 유추할 수 있다.
ARPDAU
신뢰도를 확보할 수 있는 가장 최근의 ARPDAU를 사용한다. 많은 고민을 할 수 없다면 지난 1개월 ARPDAU를 사용한다. ARPDAU 계산 방법은 여길 참고.
예상 접속 일수
유저의 예상 접속 일수는 최초 유입일 (잔존율 100%)부터 생애 마지막 날까지 잔존율을 합하면 얻을 수 있다. 각 일차 별 잔존율은 해당 일에 접속할 확률이기 때문에 잔존율을 합치면 예상 접속 일수가 나온다 (통계적으로 설명하면, 확률들을 더하면 기대값이 나온다). 예시를 들어보자. 만약 특정 코호트가 아래와 같은 잔존율을 보인다면 (LTV의 Terminal Value를 360일로 설정).
D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8~360 | |
잔존율 | 50% | 30% | 20% | 15% | 12% | 10% | 8% | 5% |
해당 코호트의 예상 접속 일수는 1 + 0.5 + 0.3 + 0.2 + 0.15 + 0.12 + 0.1 + 0.08 + 0.05*353 = 20.1일이 된다.
위의 방법으로 접속 일수와 ARPDAU를 사용하여서 360일 이전에 유입된 코호트의 LTV는 구할 수 있지만, 최근 유입된 코호트는 360일차 잔존율이 없으니 어떻게 LTV를 구해야 할까? 잔존율은 Survival Function으로 설명할 수 있고, 이 중에서도 대부분의 경우는 아래와 같은 Exponential Function (y=ax^b)을 따른다:
따라서, 실제 X일차까지 잔존율이 있으면 해당 데이터로 Exponential Function을 만들어서 미래의 Y일차 잔존율을 예측해볼 수 있다. 잔존율은 게임마다 다르기 때문에 해당 모델로 모든 게임의 잔존율을 설명할 수는 없다. 하지만 납득할 수준의 오류 범위 안에서 잔존율을 예측해볼 수 있다. 해당 모델을 첨부된 엑셀파일을 통해 구현하였다.
연습해보기
아래의 샘플 데이터 세트로 잔존일 * ARPDAU 방법을 통한 LTV 예측을 해보자.
유입 일자 | ARPDAU (원) | 1일차 잔존율 | 2일차 잔존율 | 3일차 잔존율 | 7일차 잔존율 | 14일차 잔존율 |
01월 01일 | 412 | 41% | 35% | 28% | 19% | 15% |
01월 02일 | 377 | 43% | 31% | 26% | 19% | 15% |
01월 03일 | 318 | 43% | 30% | 24% | 22% | 16% |
01월 04일 | 271 | 38% | 32% | 22% | 21% | 16% |
01월 05일 | 394 | 43% | 30% | 25% | 23% | 18% |
01월 06일 | 351 | 40% | 33% | 31% | 23% | 17% |
01월 07일 | 414 | 41% | 32% | 30% | 22% | 18% |
01월 08일 | 404 | 43% | 34% | 29% | 22% | 15% |
01월 09일 | 268 | 42% | 31% | 24% | 22% | 15% |
01월 10일 | 257 | 40% | 27% | 22% | 21% | 13% |
01월 11일 | 276 | 36% | 30% | 27% | 21% | 14% |
01월 12일 | 230 | 42% | 34% | 30% | 22% | 13% |
01월 13일 | 295 | 40% | 30% | 29% | 20% | 15% |
01월 14일 | 224 | 46% | 38% | 32% | 23% | 15% |
01월 15일 | 309 | 44% | 35% | 30% | 19% | 13% |
01월 16일 | 257 | 41% | 30% | 23% | 18% | |
01월 17일 | 234 | 40% | 27% | 22% | 18% | |
01월 18일 | 216 | 34% | 25% | 22% | 17% | |
01월 19일 | 235 | 43% | 33% | 27% | 20% | |
01월 20일 | 274 | 41% | 33% | 28% | 17% | |
01월 21일 | 283 | 41% | 31% | 28% | 18% | |
01월 22일 | 343 | 40% | 32% | 28% | 19% | |
01월 23일 | 373 | 43% | 33% | 25% | ||
01월 24일 | 317 | 42% | 29% | 24% | ||
01월 25일 | 252 | 34% | 26% | 23% | ||
01월 26일 | 251 | 39% | 32% | 29% | ||
01월 27일 | 222 | 42% | 34% | |||
01월 28일 | 328 | 40% | ||||
01월 29일 | 306 | |||||
01월 30일 | 277 |
오늘이 1월 31일이라고 가정하고 90일차 LTV를 구한다면,
ARPDAU: 모든 ARPDAU의 합 / 30 = 299원
90일차 잔존일: 먼저 엑셀 모형에 사용할 평균 1, 2, 3, 7, 14일차 잔존율을 계산하고 (각각 41%, 31%, 26%, 20%, 15%) 이를 엑셀 모형에 입력한다. 계산된 예측 1일차 잔존율 ~ 90일차 잔존율을 합하면 10.4일이 나온다. 여기에 1일을 더하여서 (0일차의 잔존율을 100%이다) 최종 잔존일은 11.4일이다.
299원 * 11.4일 = 2,611원. 예측 90일 LTV가 계산이 되었다.
ARPU 트랜드
LTV는 유저의 Lifetime ARPU와 같다. 따라서 방법은 실제 X일차 ARPU의 추세를 보고 미래의 Y일차 ARPU를 구하는 방식이다. 게임마다 BM이 다르기 때문에 ARPU의 추세선은 천차만별이다. 그러나 아래와 같은 Natural Logarithm Function의 형상을 가지고 있다.
따라서, 실제 X일차 ARPU가 있으면 해당 데이터로 Natural Logarithm Function을 만들어서 미래의 Y일차 ARPU를 예측해볼 수 있다. 이를 통해 납득할 수준의 오류 범위 안에서 ARPU를 예측해볼 수 있다. 해당 모델을 첨부된 엑셀파일을 통해 구현하였다.
연습해보기
아래의 샘플 데이터 세트로 ARPU 트랜드 방법 LTV 예측을 해보자.
아래에서 X일차 ARPU는, 해당 유입 일자에 한 명의 유입된 유저가 유입 후 X일차 (1일차 = 유입 당일)까지 발생시킨 평균 누적 매출이다. 해당 값은 사용 중인 내부 BI에서 Cohort 기능을 통해서 집계하거나, 내가 사용하는 어트리뷰션 툴에서 Cumulative RPI/RPU 등의 이름으로 집계까 가능하다.
유입 일자 | 1일차 ARPU | 2일차 ARPU | 3일차 ARPU | 7일차 ARPU | 14일차 ARPU |
01월 01일 | 25 | 310 | 310 | 1485 | 2793 |
01월 02일 | 0 | 28 | 28 | 57 | 57 |
01월 03일 | 27 | 456 | 627 | 627 | 721 |
01월 04일 | 0 | 42 | 42 | 42 | 42 |
01월 05일 | 0 | 18 | 18 | 60 | 79 |
01월 06일 | 0 | 0 | 21 | 21 | 21 |
01월 07일 | 28 | 170 | 170 | 170 | |
01월 08일 | 26 | 456 | 456 | 2060 | |
01월 09일 | 46 | 105 | 105 | 357 | |
01월 10일 | 0 | 26 | 26 | 26 | |
01월 11일 | 0 | 21 | 21 | 21 | |
01월 12일 | 0 | 41 | 65 | 94 | |
01월 13일 | 58 | 92 | 92 | 92 | |
01월 14일 | 0 | 0 | 0 | ||
01월 15일 | 0 | 0 | 723 | ||
01월 16일 | 23 | 84 | 84 | ||
01월 17일 | 115 | 115 | 115 | ||
01월 18일 | 0 | 350 | |||
01월 19일 | 45 |
오늘이 1월 20일이라고 가정하고 90일차 LTV를 구한다면,
일차 별 평균 ARPU를 계산하고 (각각 21, 129, 171, 393, 619원), 이를 엑셀 모형에 입력한다. 예측 90일차 ARPU (90일차 LTV)가 997원으로 계산되었다.
리메이크 디지털 에이전시
“디지털 광고를 새롭게 만듭니다”

90일차 잔존일: 먼저 엑셀 모형에 사용할 평균 1, 2, 3, 7, 14일차 잔존율을 계산하고 (각각 41%, 31%, 26%, 20%, 15%) 이를 엑셀 모형에 입력한다.
여기서 1, 2, 3, 7, 14일차 잔존율을 계산하고 (각각 41%, 31%, 26%, 20%, 15%)을 어떻게 계산 하신건지 알 수 있을 까요 ?
LikeLike