LTV 지표 속 BG/NBD 모델과 Gamma-Gamma 모델
LTV(Life Time Value)란?
고객이 서비스를 사용하기 시작해서 이탈하기까지 기간 동안 서비스에 얼마의 수익(Value)를 가져다주었느냐를 뜻한다.

- M: 1인당 평균 매출 (단위: 1년)
- c: 1인당 들어가는 평균 서비스 비용 (단위: 1년)
- r: 고객 유지 비율
- AC: 고객 획득 비용 (Acquisition Cost)
첫 항은 (M−c)1−r 고객이 서비스를 이용하는 기간 동안 지불하는 금액에 그 서비스를 제공하는데 드는 비용을 차감하여 합산하는 부분이고, 두 번째 항은 주로 마케팅 비용으로 지출되는 고객을 획든하는데 든 비용(AC).
- 고객의 과거 구매 정보(위의 공식)를 가지고
- 미래의 예상 구매 횟수 * 예상 평균 수익으로 계산
미래의 예상 구매 횟수는 첫 구매 ~ 집계일까지의 시간 (Time), 첫 구매 ~ 마지막 구매까지의 시간 (Recency), 첫 구매 ~ 집계일까지의 구매 횟수 (Frequency) 줄여서 “RFM”이라 부릅니다의 정보를 가지고 BG/NBD라는 모델로 추정됩니다.
미래의 예상 평균 수익은 구매 금액 (Monetary Value)의 정보를 가지고 Gamma-Gamma 모델로 추정이 됩니다.
-> BG/NBD 으로는 미래의 예상 구매 횟수를 Gamma-Gamma 모델 로는 미래의 예상 평균 수익을 계산하여 미래의 고객의 생애 가치를 구한다.
BG/NBD 모형은 BTYD모형을 기반으로 만들어진다.
BTYD 모델

그림은 고객 4명의 과거 구매 기록을 도식화한 것입니다. 예를 들어 첫 번째 고객은 6번 구매했고, 세 번째 구매가 컸다.
세 번째 고객은 첫 번째 고객보다 구매 주기도 길고 지갑 크기도 작은 고객이다.
이처럼 BTYD 모델은 과거의 구매 횟수와 구매 금액과 같은 데이터를 바탕으로 고객의 생애 가치를 계산한다.
BTYD는 다음과 같은 질문에 답할 수 있다.
- 현재 얼마나 많은 고객들이 남아있나?
- 지금으로부터 1년 뒤에 얼마나 많은 고객들이 남아있을까?
- 어떤 고객들이 이탈했었나?
- 고객들이 한 회사에 미래에 얼마를 소비할까?
고객의 예상 구매 횟수를 계산하는 BG/NBD 모형
BG/NBD 모형은 BTYD 모형에 기반하여 분포를 가정한다.
구체적으로 분포 가정은 다음과 같다
- 고객이 남아있는 동안, 일정한 기간 동안의 구매 횟수는 Pois() - (포아송 분포)를 따른다.
- 고객마다 일정한 기간 동안 구매하는 횟수는 다릅니다. 이는 λ ~ Gamma (α, r)을 따른다.
λ ~ Gamma(α, r)는포아송 분포의 모수 λ가 감마 분포를 따른다는 의미
λ: 어떤 변수 (예: 시간당 사건 발생률)
~: "~를 따른다"는 뜻
Gamma(α, r): 모수가 α와 r인 감마분포
α = 총 사건 수
r = 총 관찰 시간
예시) Gamma(10, 2): 2시간 동안 10명 , Gamma(100, 20): 20시간 동안 100명(α가 더 크므로 더 확신함)
감마분포: 양수 값들이 특정 패턴으로 분포된 모양
3. j번째 구매가 마지막이고 더 이상 구매를 하지 않을 확률 (이탈률)은 p입니다. 이탈할 때까지의 구매 횟수는 Geo (p) (기하분포) 를 따른다.
의미: "첫 번째 성공이 일어날 때까지의 시행 횟수"
예: Geo(0.2) → 성공확률 20%, 평균 5번째 시행에서 첫 성공 )
4. 고객마다 더 이상 구매를 하지 않을 확률 (이탈률)은 다릅니다. 이탈률 p는 p ~ Beta (a,b)를 따른다
a: 성공 횟수 + 1
b: 실패 횟수 + 1
평균: a/(a+b)
Beta(3, 7): "2번 성공, 6번 실패 경험"
평균: 3/(3+7) = 0.3 (30%)
5. 고객별 일정 기간 동안의 구매 횟수와 구매를 하지 않을 확률은 서로 영향을 주지 않는다.
이렇게 가정한 이유
예를 들어 2022년 이후 제 컬리 주문 내역을 보니 총 8번 구매했고, 실제 아래와 같이 구매하였다.
날짜구매 금액
| 2022.01.16 | 44,159원 |
| 2022.01.24 | 44,385원 |
| 2022.02.03 | 40,700원 |
| 2022.02.05 | 43,520원 |
| 2022.02.26 | 48,140원 |
| 2022.03.16 | 27,186원 |
| 2022.03.23 | 37,161원 |
| 2022.04.10 | 40,060원 |
- 포아송 분포: 네 달에 거쳐 8번 구매했으니 한 달에 2번 구매한 꼴이 된다. 이처럼 한 달의 평균 구매 횟수를 Pois (λ)를 따른다 가정한다.
- 감마 분포: 위 내용을 바꿔 말하면 두 번 구매할 때까지 한 달이라는 시간이 걸렸다고 말할 수 있다. 이처럼 r번 구매할 때까지 걸리는 시간은 Gamma(r,α)를 따른다 가정한다.
- 기하 분포: 여기서의 사건은 “이탈”이다. 이탈할 때까지의 총 구매 횟수는 Geo(p)를 따른다 가정한다.
- 베타 분포: 마지막으로 이 이탈률 p는 Beta(a,b)를 따른다 가정한다.
고객마다 별개의 과거의 구매 정보 RFM (Recency, Frequency, T)을 가지고 위 분포를 따른다 가정하여 가능도 함수를 구해 기댓값을 구하면 고객마다 다른 예상 구매 횟수를 모델링할 수 있다.
Gamma-Gamma 모델
Gamma-Gamma 모델은 다음과 같은 가정을 하게 된다.
- 고객별 구매 금액은 평균 구매 금액을 중심으로 랜덤하게 분포합니다.
- 고객들의 평균 구매 금액은 고객마다 다르지만, 한 고객의 평균 구매 금액은 시간에 따라 불변합니다.
- 이 평균 구매 금액은 구매 과정과 독립이여야 합니다.
구매금액을 정규분포로 가정할때는 한가지 문제점이 있다.
- 정규 분포는 0보다 아래의 값이 나올 수도 있고
- 대칭적인 분포라는 점입니다.
돈을 쓰는 행위를 생각해보면 무조건 구매 금액이 0원보다 많고, 어떤걸 사느냐에 따라서 가격이 천차 만별이기 때문에 대칭적이지 않다. 구매 금액 자체는 대칭적이기보단 비대칭적이고, 오른쪽으로 치우친 (Right-Skewed) 형태를 띄게 된다.
그렇기 때문에 감마 분포가 제격이다. 0 이상의 값을 가지고, 모수 2개로 비대칭적인 형태를 쉽게 만들 수 있기 때문이다. 감마 분포가 “시간”의 분포로 쓰일 땐 보통 포아송 분포와 같이 쓰일 때나 그런 것이고, 이 자체로는 0 이상의 범위를 가지고 비대칭적인 분포를 가지는 무언가에 모델링할 수 있는 좋은 분포인 것이다.
LTV 는 어디에 활용될까?
LTV는 앞서 말씀드렸듯이 미래 시점까지의 예상 구매 횟수 * 예상 구매 금액으로 계산된다.
BG/NBD + Gamma-Gamma 모델이 가지는 장점은 고객마다 다른 미래 가치를 계산해주기 때문에 고객 단위의 타겟팅이 가능하다는 점이다.
고객마다 학습에 들어가는 T (Time), R (Recency), F (Frequency), M (Monetary) 정보와 결합하여
- 구매 빈도 (F)는 낮은데 LTV가 높은 고객
- 구매 빈도 (F), 평균 구매 금액 (M)이 높고 LTV가 높은 고객
- 최근성 (R)은 떨어지는데, LTV가 높은 고객
등으로 유저를 분류하여 이에 맞게 고객을 관리하는 것이 가능하다.
실제로 NC소프트 에서는 “광고 성과 측정 방법”을 개선하는 데에 있어
- LTV를 이용해 성과 지표를 개선하고
- LTV를 이용한 퍼널 분석과 최대 허용 광고 단가를 측정하는 데 사용했다
이러한 통계모델을 통해서 이커머스 데이터 적용하면 실용성있는 데이터 분석이 가능할것이다.
이외에 “고객의 생애 가치”를 이용해서 어떤걸 할 수 있을지 상상력을 펼쳐보는 것도 좋은방법인 것 같다.