DEV Community

Cover image for Prophet과 CausalImpact — 시계열 예측과 캠페인 인과 효과
HyunSeok Jeong
HyunSeok Jeong

Posted on • Originally published at blog.trysitely.com

Prophet과 CausalImpact — 시계열 예측과 캠페인 인과 효과

캠페인 시작 후 매출이 +20% 올랐다면 그게 캠페인 효과인지 시즌·트렌드 효과인지 구분이 어렵습니다. CausalImpact는 캠페인이 없었을 때의 매출 예측(counterfactual)을 baseline으로 잡고, 실제 매출과의 차이를 캠페인 효과로 추정합니다. baseline 예측에 Prophet 같은 state-space 모델이 자주 들어갑니다. 두 도구의 결합이 마케팅 인과 분석의 표준 패턴 중 하나입니다.

마케터가 이 글을 읽어야 하는 이유: 분기 캠페인의 효과를 보고할 때 "전년 동기 대비 +20%"는 시즌·트렌드 효과가 섞여 있어 정직하지 않습니다. CausalImpact가 시즌·트렌드를 분리한 baseline을 만들어주면, 캠페인의 진짜 효과를 회의에서 데이터로 답할 수 있습니다.

Prophet baseline 예측선 위에 캠페인 시작 시점부터 실제값이 갈라지는 그래프
baseline = 캠페인이 없었을 때의 예측. 실제와의 차이가 캠페인 효과의 정직한 추정.

1. Prophet의 한 줄 직관

Facebook이 만든 시계열 예측 라이브러리. 매끄러운 트렌드 + 주기적 시즌 + 휴일 효과로 시계열을 분해.

y(t)=g(t)+s(t)+h(t)+εt y(t) = g(t) + s(t) + h(t) + \varepsilon_t
  • g(t)g(t) : 트렌드 (선형 또는 logistic)
  • s(t)s(t) : 시즌 (주기적 푸리에 항)
  • h(t)h(t) : 휴일 효과
  • εt\varepsilon_t : 잔차 노이즈

자동으로 트렌드·시즌·휴일을 분리해 예측. 마케팅 시계열(매출·전환·CTR) 자리에 자연스럽게 적용.

📌 이 글의 전제

독자가 시계열 예측이라는 단어는 들어본 적 있고, 회귀의 직관 정도는 받아들인다고 가정합니다. 코드를 직접 짠 적은 없어도 됩니다.

2. CausalImpact의 한 줄 직관

Google이 만든 인과 분석 라이브러리. Bayesian state-space 모델로 처리 전 데이터를 학습한 뒤 처리 후 시점의 baseline을 예측. 실제값과 baseline의 차이가 인과 효과.

처리 후 시점의 "캠페인이 없었다면 어땠을까"를 데이터로 추정.

단계 작업
1. 학습 처리 전 데이터로 baseline 모델 학습
2. 예측 처리 후 baseline 예측 (counterfactual)
3. 차이 실제값 - baseline = 인과 효과
4. 신뢰구간 Bayesian posterior에서 직접

처리 전 충분한 데이터(보통 6주+)가 있으면 정직한 baseline 가능.

3. 두 도구의 결합 — Prophet → CausalImpact 백엔드

CausalImpact의 기본 baseline 모델은 BSTS(Bayesian Structural Time Series). Prophet으로 baseline 예측한 뒤 CausalImpact 식으로 처리 효과 추정하는 패턴이 유연.

처리 전 시계열
     │
     ▼
Prophet (트렌드 + 시즌 분리)
     │
     ▼
처리 후 baseline 예측 (Prophet의 yhat)
     │
     ▼
실제 처리 후 - baseline = 캠페인 효과
     │
     ▼
Bootstrap 95% CI
Enter fullscreen mode Exit fullscreen mode

Prophet의 강점(트렌드·시즌 자동 분리) + CausalImpact의 강점(인과 효과 추정 + 신뢰구간)을 결합.

4. 마케팅 자리의 적용

4-1. 분기 캠페인 효과

분기 시작에 큰 캠페인 시작. 그 시점 이후 매출의 캠페인 기여를 baseline 차이로 추정.

4-2. 신규 광고 채널 도입

새 채널 광고 시작한 시점부터의 매출 lift 추정. 채널 도입이 무작위 배정이 아니라 RDD·DiD 적용 어려움. CausalImpact가 표준.

4-3. 가격 변경의 영향

상품 가격 인상·할인 시작 후 판매량 변화. 자연 실험으로 효과 추정.

4-4. 이벤트·시즌 이상치 탐지

블랙프라이데이 같은 이벤트의 매출 lift를 baseline 대비로 측정.

자리 처리 시점 baseline 데이터
분기 캠페인 캠페인 시작일 처리 전 8-12주
신규 채널 채널 도입일 처리 전 6주+
가격 변경 변경일 처리 전 8주+
이벤트 lift 이벤트일 작년 동기간

5. 코드 한 묶음 — Prophet + CausalImpact

이게 글에 박는 유일한 코드입니다.


python
Enter fullscreen mode Exit fullscreen mode

Top comments (0)