brunch

생존 분석을 활용한 마케팅 인사이트

데이터 기반 마케팅: 생존 분석으로 최적의 캠페인 설계하기

by 이건승

이번 포스팅은 생존 분석 개념을 간단히 소개하고, 마케팅 분석에서 활용할 수 있는 간단한 예제를 소개하도록 하겠습니다.


생존 분석이란?


생존 분석(survival analysis)주어진 데이터를 기반으로 특정 사건이 발생할 확률을 예측하는 통계적 기법입니다. 일반적으로 의료, 보험, 금융 등 다양한 분야에서 사용되고 있습니다. 이를 타기팅(마케팅 분석) 방법에 적용할 때는 예측하려는 사건이 무엇이냐에 따라 다양한 방법으로 활용될 수 있습니다.


생존 분석의 이름 유래는 사망과 생존을 다룬 것에서 유래했기 때문에 생존 분석이지만, 꼭 생사가 달린 문제에만 쓰는 연구 방법론은 아닙니다. 생존 분석은 기본적으로 사건의 발생 여부(예:사망, 결혼, 임신, 출산, 취업 등)와 사건이 발생하기까지 소요된 시간에 대한 분석 방법이며, 예를 들어 혼인 당시 임금근로자였던 아내가 출산 전후 휴가, 육아 휴직을 활용 가능한 집단과 그렇지 않은 집단이 있다면, 이들이 혼인 이후 첫째아 출산까지 얼마나 시간이 걸리는지 조사할 수 있습니다. 이때 '생존 확률'이라는 것은 이 연구에서는 '무자녀 상태로 남아있을 확률'과 같은 것이 되는 것입니다. 즉, '생존 확률'이 '사망'이라는 사건이 일어나지 않고 유지되는 확률을 의미하듯 이 경우에는 '출산'이라는 사건이 일어나지 않고 유지되는 확률을 의미합니다. 이와 같이 생존 분석이라는 용어 자체가 적용 대상에 따라 다소 모호하게 들릴 수 있으므로 생존 분석뿐만 아니라 event history 분석이라고 불리기도 합니다. 마케팅 분야에서는 생존 분석을 고객이 특정 상품을 구매할 가능성을 예측하여 효율적인 광고 및 마케팅 전략을 수립할 수 있습니다. 이를 통해 마케팅 자원을 더 효율적으로 할당하고 세분화된 타기팅을 실현할 수 있습니다.


생존 분석은 주로 Cox 비례 위험 모형(준모수적 방법), 로지스틱 회귀, 의사결정 나무 등의 통계 모델을 사용하여 이루어집니다. 이러한 모델은 과거 데이터를 기반으로 특정 사건이 발생할 확률을 계산하고, 새로운 데이터에 대한 예측을 수행합니다.



구매까지 걸리는 시간에 영향을 주는 마케팅 변수는 무엇인가?


photo-1562577308-9e66f0c65ce5?q=80&w=1000&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D

위에서 언급한 Cox 비례 위험 모형을 바탕으로 구매까지 걸리는 시간에 각 변수가 미치는 영향에 대해 분석을 해보도록 하겠습니다.


여기 가상의 데이터가 다음과 같이 존재합니다. 이 데이터는 총 1,000명의 고객의 캠페인 시행 7일 전 구매했는지 여부('before_7_buy_yn')와 캠페인 기간 동안 고객에게 보낸 마케팅 메시지 수('sent_mkt_msg'), 제공된 할인율('discount_rate') 그리고 관찰된 결과로 캠페인 시작 시점으로부터 측정된 구매까지 걸린 날짜('period_days'), 캠페인을 통해 구매를 하였는지 여부('is_buy')가 있습니다.

image.png?type=w773 실습 데이터 예시

콕스 비례 위험 모형은 어떻게 구매 시간이 분포되는지를 설명하는 비모수 베이스라인 생존 함수와 개인 리스크 비율에 대한 모수 선형 모델로 이뤄지는 세미 모수 모델(준모수적 방법)로 리스크 비율은 특정 고객이 구매할 리스크가 베이스라인보다 높은지, 낮은 지를 설명합니다.


Python을 이용하여 콕스 비례 위험 모델 Fitting 후 회귀 계수를 출력하면 다음 결과를 얻을 수 있습니다.

스크린샷 2025-02-15 오후 10.03.26.png
image.png?type=w3840 결과

위 결과를 해석해 보면 먼저, '이전 7일 이내 구매 여부(before_7_buy_yn)'은 coef 값은 0.22로 구매까지 걸리는 시간이 평균적으로 1.22배(22%) 증가하는 것을 알 수 있고, p-value도 0.02로 통계적 유의성이 있는 것을 알 수 있습니다. 위 데이터는 가상의 데이터이기 때문에 실제 비즈니스 관점에서 위 해석과 반대되는 결과가 나올 수 있으나, 일반적으로 상품 구매 간 구매 주기가 형성이 되어 있는 도메인(서비스)의 경우 위와 같은 해석을 할 수 있습니다.


캠페인 기간 마케팅 메시지 수('sent_mkt_msg')를 보면 coef 값은 0.16으로 구매까지 걸리는 시간이 평균적으로 1.16배(16%) 증가하는 것을 알 수 있고, p-value를 통해 통계적 유의성이 있다는 것을 알 수 있습니다. 즉, 오히려 많은 마케팅 접촉이 고객의 구매를 지연시킨다는 해석을 할 수 있는데요. 다음과 같은 이유로 이러한 부분이 충분히 발생할 수 있습니다.


메시지 수신과 소비자 관심의 불일치

소비자들은 더 많은 마케팅 메시지를 받을수록 이에 반응하지 않을 가능성이 높습니다. 즉, 광고에 지속적으로 노출될수록 소비자들은 마케팅 메시지에 대한 관심을 잃고 무시할 수 있습니다. 따라서 메시지의 증가가 구매까지의 시간을 늘릴 수 있습니다.


메시지 과다 및 피로도

너무 많은 마케팅 메시지가 소비자들에게 전송될 경우, 메시지에 대한 지루함과 피로감이 증가할 수 있습니다. 이로 인해 소비자들은 광고 메시지에 무감각해지거나 거부할 수 있으며, 이는 결국 구매까지의 시간을 늘릴 수 있습니다.


선택의 과다(정보 과부하)

다양한 마케팅 메시지가 소비자에게 제공될수록 선택의 폭이 넓어지고, 이는 결정을 내리는 데 더 많은 시간을 요구할 수 있습니다. 소비자들은 다양한 옵션을 비교하고 고려하는 데 시간을 투자해야 하기 때문에 구매까지의 시간이 늘어날 수 있습니다. 특히, 소비자는 우리 서비스 외 경쟁사 그리고 더 나아가 많은 서비스에서 메시지를 받게 되기 때문에 상대적으로 정보 과부하에 빠지기 쉽습니다.

IMG_3482.jpg?type=w3840 소비자는 1시간 사이에도 많은 메시지를 수신한다

이러한 이유들로 인해 마케팅 채널 메시지의 증가는 소비자의 구매까지의 시간을 늘리는 결과로 이어질 수 있습니다. 따라서 기업은 마케팅 전략을 계획할 때 소비자의 관심과 피로도를 고려하여 메시지의 양을 적절히 조절하는 것이 중요합니다.


참고로 실제 비즈니스에서도 많은 기업이 개인화(초개인화) 마케팅에 집중하고, 고객이 관심 있어할 콘텐츠(상품)를 추천하는 액션도 결국 위 문제를 해결하기 위한 방안이라고 할 수 있습니다.



할인율(discount_rate)은 coef 값이 -0.03으로 할인율이 1%가 증가할 때마다 구매까지 걸리는 시간이 평균적으로 0.97배(-3%) 감소를 한다고 해석할 수 있습니다. 즉, 할인율이 높을수록 고객은 더 빨리 구매를 완료하는 경향이 있습니다.


할인율이 구매까지의 시간을 더 짧게 해주는 비즈니스적 관점에서의 원인은 다음과 같을 수 있습니다.


가격 감소로 인한 구매 유인

할인율은 소비자에게 더 큰 가치를 제공하고 구매를 유도하는 데 도움이 될 수 있습니다. 제품이나 서비스의 가격이 낮아지면 소비자는 더 빨리 구매를 결정할 가능성이 높아집니다. 이는 소비자들이 제품이나 서비스를 더 빠르게 구매하도록 유도하는 효과를 가져올 수 있습니다.


긴급성과 즉각성

할인율은 구매의 긴급성과 즉각성을 증가시킬 수 있습니다. 소비자들은 할인율이 적용된 제품이나 서비스를 놓치지 않고 구매하려는 경향이 있습니다. 따라서 할인율은 소비자의 결정을 가속화하고 구매까지의 시간을 짧게 만들 수 있습니다.


경쟁 우위 확보

할인율은 시장에서의 경쟁 우위를 확보하는 데 도움을 줄 수 있습니다. 경쟁사보다 저렴한 가격으로 제품이나 서비스를 제공하는 것은 소비자들에게 더 매력적으로 다가갈 수 있습니다. 따라서 할인율은 소비자의 관심을 끌고 더 빠르게 구매를 유도하는 데 기여할 수 있습니다.


재구매 및 고객 이탈 방지

할인율은 기존 고객들에게 재구매를 유도하고 새로운 고객을 유치하는 데 도움이 될 수 있습니다. 할인된 가격으로 제품이나 서비스를 제공함으로써 기존 고객들이 이탈하지 않고 더 많은 구매를 유도할 수 있습니다.




이밖에도 생존 분석은 다양한 마케팅 활동에 활용될 수 있습니다. 예를 들어, 캠페인 진행 중 메시지에 적합한 타이밍을 추정, 고객 유지(리텐션) 캠페인에서 이탈 시간을 추정, 고객 LTV 모델링에서 특정 기간 동안 구매 횟수를 추정할 수 있습니다.


실습에 활용한 데이터 생성 및 분석 코드는 아래 github에서 확인할 수 있습니다.

https://github.com/datamarketingstudy/survival-analysis


keyword
이전 08화여러 집단 간 차이를 검증하는 분산분석(ANOVA)