머신 러닝과 확률적 모델을 활용한 고객 LTV 예측
LTV(Lifetime Value)는 마케팅, 특히 CRM 분야에서 핵심적인 개념입니다. 이는 단순히 고객이 서비스에서 발생시키는 단기적인 수익을 넘어, 한 명의 고객이 기업(서비스)에 평생 동안 가져다주는 가치를 정량적으로 측정하는 지표입니다.
우리나라에서는 이를 "고객 생애 가치"라고 부르며, 장기적인 고객 관계와 수익성을 평가하는 핵심 지표로 활용됩니다. 서비스의 지속적인 성장을 위해서는 고객의 LTV를 높이는 것이 필수적입니다. 실제 실무에서도 LTV 향상을 목표로 다양한 CRM 활동이 이루어지고 있습니다.
하지만 LTV를 정확히 측정하고 활용하는 것은 쉽지 않습니다. LTV의 중요성을 인식하는 기업은 많지만, 이를 실제로 분석하고 전략적으로 활용하는 기업은 드뭅니다. 고객이 서비스에 가져다줄 평생 가치를 예측하는 것은 매우 어려운 문제이며, 이러한 문제를 해결하기 위해 해외에서는 전문 데이터 사이언티스트나 CRM 분석가가 활발히 활동하고 있을 정도로 중요한 분야입니다.
LTV를 측정하는 방법은 크게 두 가지 방법이 있습니다.
1. 전통적 방법
코호트(그룹) 단위로 평균 Life Span과 평균 ARPU(객단가)를 활용하여 평균 LTV를 계산하는 방식입니다.
일반적으로 사용되는 공식 :
이 방법에서는 코호트 단위의 평균값을 사용합니다. 이는 고객 개별 단위로 Churn Rate(이탈률)을 직접 계산하기 어려운 점을 보완하기 위한 접근법입니다. 코호트별 ARPU와 이탈 고객 비율을 활용하여 평균적인 LTV를 계산할 수 있으며, 할인율과 신규 유저의 획득 비용(CAC) 등을 추가하여 보다 현실적인 값을 산출할 수도 있습니다.
전통적인 방법은 공식이 단순하여 LTV의 흐름과 트렌드를 파악하는 데 유용하지만, 개별 고객 단위의 LTV를 측정하기 어렵다는 한계가 있습니다. 특히, CRM 및 개인화 마케팅에서는 고객 개별 단위의 LTV 측정이 필수적이므로, 마케터와 기획자들은 이러한 한계를 보완하고자 모델링 기반 LTV 측정 기법을 적극적으로 도입하고 있습니다.
2. 모델링을 통한 방법
고객 개별 단위에서 확률 모델을 활용하여 LTV를 예측하는 방식입니다.
이 방법은 머신러닝 및 확률 모델을 활용하여 고객별 Life Span과 ARPU를 추정하는 방식으로 발전되었습니다.
고객 개별 단위에서 LTV를 예측할 때 가장 중요한 두 가지 요소는 다음과 같습니다.
고객별 Life Span(기대 수명): 고객이 서비스에 머무를 것으로 예상되는 기간을 예측하는 것.
고객별 기대 ARPU(객단가): 고객이 앞으로 소비할 것으로 예상되는 평균 금액을 추정하는 것
일반적으로 고객별 ARPU는 과거 소비 데이터를 기반으로 쉽게 계산할 수 있지만, 고객별 Life Span은 이탈 확률을 고려해야 하므로 예측이 더 어려운 문제입니다.
이탈 확률을 예측하는 데 다양한 머신러닝 모델이 활용됩니다.
로지스틱 회귀 모델(Logistic Regression): 특정 기간 동안 주요 변수를 활용하여 고객의 이탈 확률을 예측하는 데 사용
분류 모델(Classification Model): 고객의 과거 행동 패턴을 학습하여 이탈 가능성을 계산하는 데 활용
하지만 머신러닝 모델을 활용한 이탈 예측은 지속적인 유지보수가 필요하며, 데이터 사이언티스트 및 CRM 전문 데이터 분석가의 개입이 필수적입니다.
로지스틱 회귀 모델(Logistic Regression)을 이용한 고객 이탈률 예측 모델 예시
예시로 설명하는 이 모델의 정확도(Accuracy)는 81.23%로, 전체적으로 양호한 예측 성능을 보입니다.
그러나 클래스 불균형이 존재할 경우, 정확도(Accuracy)만으로는 모델의 성능을 제대로 평가하기 어렵습니다. 따라서 Precision(정밀도)과 Recall(재현율)도 함께 고려해야 합니다.
Precision(정밀도): 이탈 고객(Churn=1)이라고 예측한 고객 중, 실제로 이탈한 고객의 비율을 의미합니다.
Precision이 낮을 경우, 실제로 이탈하지 않은 고객을 이탈 고객으로 잘못 분류(False Positive)할 가능성이 높아집니다. 따라서 불필요한 고객을 이탈 고객으로 판단하는 오류를 줄이려면 Precision을 높이는 것이 중요합니다.
Recall(재현율): 실제 이탈 고객 중, 모델이 올바르게 예측한 비율을 의미합니다.
즉, 이 모델은 실제 이탈 고객 중 85.19%를 정확히 탐지했습니다. 다만, 나머지 14.81%의 이탈 고객은 유지 고객으로 잘못 분류(False Negative)되었으며, 이탈 고객을 놓치지 않으려면 Recall을 높이는 것이 필요합니다.
F1-score: 81.56%로, Precision과 Recall의 조화 평균을 나타냅니다.
즉, 이 모델은 이탈 고객을 효과적으로 탐지하면서도, 불필요한 오탐(False Positive)을 줄이는 데 균형을 맞추고 있습니다.
이 모델을 활용하면 개별 고객의 이탈 확률을 예측할 수 있으며, 이를 기반으로 객단가(ARPU)를 계산하여 고객별 LTV를 산출할 수 있습니다.
위 예시 모델을 적용하여 고객별 이탈 확률 추정(예시)
고객별 LTV 계산(예시)
customer_id 10 고객의 LTV 확인 (예시)
이러한 문제를 해결하는 데 사용되는 모델이 BTYD 계열입니다.
BTYD 모델은 고객의 구매 행동을 확률적 모델링 기법으로 분석하며, 구매 빈도와 이탈 확률을 통합적으로 고려하여 LTV를 예측합니다. 또한, 기존 머신러닝 모델보다 해석이 용이하며, 유지보수가 상대적으로 간편한 것이 강점입니다.
일반적으로 이 모델을 적용하기 위해서 필요한 데이터셋의 형태는 아래와 같습니다.
[참고 블로그] https://towardsdatascience.com/customer-behavior-modeling-buy-til-you-die-models-6f9580e38cf4
모델별로 요구되는 데이터셋의 형태는 다를 수 있지만, 전반적인 데이터 구조는 유사합니다.
제가 참고한 블로그에서는 합리적인 예측을 위해 최소 2년 이상의 주문 데이터가 필요하며, 고객의 약 20% 이상이 재구매를 해야 안정적인 분석이 가능하다고 설명합니다.
BTYD 모델의 핵심 개념: RFM 요소 기반 분석
BTYD 모델은 RFM(Recency, Frequency, Monetary) 모델링을 활용하여 고객 행동을 설명합니다.
Recency (R): 고객이 마지막으로 구매한 시점.
Frequency (F): 고객의 구매 빈도.
Monetary (M): 고객이 평균적으로 지출하는 금액.
BTYD 모델 계열에는 여러 가지 변형이 존재하며, 대표적인 모델은 다음과 같습니다.
① Pareto/NBD (파레토/NBD) 모델
고객의 이탈 확률을 파레토 분포로 모델링.
고객의 구매 빈도를 음이항 분포(NBD)로 모델링.
고객의 장기적인 LTV를 예측하는 데 효과적.
② BG/NBD (Beta-Geometric/NBD) 모델
Pareto/NBD 모델보다 연산 속도를 최적화한 모델.
반복 거래가 없는 고객을 이탈하지 않은 것으로 가정.
③ 최신 확장 모델 (BG/CNBD-k, MBG/CNBD-k)
거래 시간의 규칙성을 고려하여 예측 정확도를 개선.
특정한 비즈니스 상황에 맞춰 적용 가능.
Pareto/NBD (Pareto/Negative Binomial Distribution) 모델을 적용하여 Berry와 Rosy의 이탈 확률을 분석하겠습니다.
1. Pareto/NBD 모델 개요
이탈 확률(Churn Probability): 지수 분포(Exponential Distribution) 기반으로 고객의 활동 수명을 모델링.
구매 빈도(Frequency of Purchases): 포아송 분포(Poisson Distribution) 기반으로 특정 기간 동안의 구매 횟수를 모델링.
개인별 차이: Gamma 분포를 활용하여 고객 간 행동 차이를 고려.
이 모델은 각 고객의 Recency, Frequency, Monetary 데이터를 기반으로 향후 구매 가능성과 이탈 확률을 추정할 수 있습니다.
2. Berry & Rosy의 이탈 확률 예측 결과
베리와 로지의 R, F, M 데이터와 활동 기간(T)을 가지고 Pareto/NBD 모델에 학습하여 두 명의 미래 구매 예측과 이탈 확률을 계산할 수 있습니다.
베리(Berry)
✔️ 과거 매우 높은 구매 빈도(30회)를 기록했지만, 최근 60일 동안 구매하지 않음.
✔️ 모델 예측 : 향후 30일 동안 구매할 확률 0.006회 (거의 구매하지 않을 것으로 예상).
✔️ 이탈 확률 99.93% → 모델은 Berry가 거의 확실하게 이탈한 상태로 판단.
Rosy (로지)
✔️ 모델 예측 : 향후 30일 동안 1.07회 구매할 것으로 예상.
✔️ 이탈 확률 0.00% → Rosy는 아직 이탈하지 않은 상태로 판단됨.
이 데이터를 보면, 구매 빈도가 높고 Recency 값이 낮은 Berry가 이탈 확률이 매우 높은 반면, 구매 빈도가 낮고 Recency 값이 더 큰 Rosy는 이탈 확률이 0%로 평가됩니다. 상식적으로 보면 Berry가 더 충성도가 높은 고객처럼 보일 수 있지만, Pareto/NBD 모델은 Berry가 기존의 높은 구매 빈도를 유지하지 못하고 있다는 점에 주목합니다.
Pareto/NBD 모델의 핵심 개념을 이해하면, 왜 Berry가 Rosy보다 더 높은 이탈 확률을 가지는지 설명할 수 있습니다.
(1) Recency가 높아도 Rosy의 이탈 확률이 낮은 이유
✔️ 일반적으로 Recency(최근 구매일이 오래된 고객)가 크면 이탈 확률이 높아지는 경향이 있음.
✔️ 하지만 Pareto/NBD 모델은 단순히 Recency만으로 이탈 여부를 결정하지 않고, 고객의 평균적인 구매 패턴을 함께 고려함.
✔️ Rosy는 원래 구매 빈도가 낮은 고객 → 원래 구매 주기가 길기 때문에 오랫동안 구매하지 않아도 이탈로 간주되지 않음.
Rosy는 6개월 동안 단 6회 구매 → 즉, 원래 1~2개월에 1번 구매하는 고객.
이 고객이 6개월간 구매하지 않는 것은 일반적인 행동 패턴이므로 이탈로 보지 않음.
Rosy의 핵심 특징
Recency(180일)가 높지만, 원래 구매 주기가 길었기 때문에 이탈이 아니라는 판단.
모델이 과거 행동을 학습하여 Rosy는 6개월 동안 한 번 정도 구매하는 게 일반적인 행동이라고 간주.
즉, 모델은 Rosy가 여전히 구매할 가능성이 있다고 평가.
(2) Berry의 이탈 확률이 높은 이유
✔️ Berry는 구매 빈도(Frequency)가 매우 높았던 고객 → 2개월 동안 30회 구매했음(거의 매일 구매).
✔️ 그러나 최근 60일 동안 구매하지 않음 → 원래 자주 구매하는 고객이 갑자기 구매하지 않으면 이탈 확률이 매우 높아짐.
✔️ 즉, Berry는 평소 구매 패턴 대비 최근 행동이 급격히 바뀌었기 때문에 이탈로 간주됨.
Berry의 핵심 특징
원래 구매 빈도가 매우 높았던 고객이 최근 60일 동안 구매하지 않음.
모델은 Berry의 이전 구매 패턴이 급격히 변했기 때문에 이탈 확률이 높다고 판단.
Pareto/NBD 모델은 단순히 Recency만 보는 것이 아니라, Frequency(구매 빈도)와 T(고객 라이프타임)도 함께 고려합니다.
✔️ 고객의 평균적인 구매 패턴을 학습하여, 원래 구매 패턴이 긴 고객은 Recency가 길어도 이탈로 보지 않음.
✔️ 반면, 자주 구매하던 고객이 갑자기 구매를 멈추면 이탈 확률이 급격히 증가.
✔️ 즉, 개별 고객의 구매 습관에 따라 Recency의 영향이 다르게 적용됨.
모델의 작동 원리 요약
1. Recency가 크다고 무조건 이탈이 아님
Recency가 크더라도 고객의 평소 구매 주기가 긴 경우에는 이탈이 아니라는 판단을 함.
Rosy는 원래 구매 주기가 길어서 이탈이 아님.
2. Frequency(구매 빈도)가 높은 고객이 갑자기 구매를 멈추면 이탈 확률 급증
원래 구매를 자주 했던 고객이 갑자기 구매를 멈추면 이탈했다고 판단할 가능성이 높음.
Berry는 자주 구매하던 고객인데 60일 동안 구매하지 않아서 이탈로 판단됨.
실무 적용 시 고려할 사항
(1) 이탈 판단 기준 조정
Pareto/NBD 모델의 특성상, 자주 구매하는 고객이 일정 기간 동안 구매하지 않으면 이탈로 간주되는 경향이 있음. 실무에서 이탈 판단을 좀 더 유연하게 적용하려면, Recency 외에도 추가적인 변수를 활용하는 것이 좋음
예: 최근 앱 방문 여부, CRM 채널 오픈 여부, 장바구니 담기, 상품 찜 기록 등을 고려.
따라서, Berry와 같은 "높은 Frequency → 갑자기 구매 중단" 고객은 적극적인 리텐션 캠페인 대상이 됩니다.
Berry와 Rosy의 LTV를 구하면 다음과 같이 계산할 수 있습니다. Berry는 현재 시점에서 거의 확실하게 이탈한 고객이므로 미래 구매 가능성이 매우 낮은 상태입니다. 음수 LTV는 실제로 "이 고객은 향후 수익을 창출할 가능성이 거의 없고, CAC 비용을 고려했을 때 손실이 발생할 가능성이 있음"을 의미합니다.
현실적인 CRM 전략은 Berry와 같은 고객을 재활성화(re-engagement) 전략을 적용할지, 아니면 고객 획득 비용(CAC)을 고려해 포기할지 결정해야 합니다.
반면, Rosy와 같은 고객은 LTV가 양수이고 이탈 확률이 0%이므로, 장기적인 VIP 전환을 위한 CRM 전략이 실행되어야 합니다.
위에서 소개한 방식과 Python을 이용하여 이탈 확률을 추정하여 LTV를 구하는 방식 이외에 R을 활용하여 LTV를 구하는 방법도 제 블로그에서 확인 가능하오니, 관심이 있으신 분들은 참고하시길 바랍니다.
https://blog.naver.com/bestinall/223005402270
많은 서적과 마케팅 아티클에서 고객평생가치(LTV)의 중요성을 강조하며, LTV 최적화와 이를 활용한 마케팅 전략을 다룹니다. 그러나 실무에서는 이를 효과적으로 적용하는 데 여러 어려움이 따릅니다.
《빅데이터를 활용한 예측 마케팅 전략》에서도 마케터와 데이터 분석가들이 계산의 정확성에 과도하게 집착하는 경향이 있다고 지적합니다. 이 책에서는 가장 효과적인 접근법으로, 간단하면서도 마케팅 관점에서 '좋은 투자'와 '나쁜 투자'를 구분할 수 있을 정도의 귀속 방식을 찾는 것이 중요하다고 강조합니다.
LTV 역시 마찬가지입니다. 결과가 크게 변하지 않는다면, 가장 중요한 것은 고객의 가치를 정량적으로 측정하고 이를 바탕으로 판단할 수 있는 능력이라고 생각합니다.