huny.log

기술 포스트 · 통계·ML

Geo-lift 실험으로 인과추론 — 광고 안 한 도시와 비교하기

TV·OOH·오프라인 매장처럼 A/B 테스트가 안 되는 채널의 진짜 효과를 어떻게 측정할까. 도시·지역 단위 실험과 합성 대조군(Synthetic Control)으로 인과 효과를 분리하는 법.

“TV 광고비가 분기당 5억인데, 정말 효과가 있는 거 맞아요?” — 임원이 회의에서 던지는 이 질문, 사실 답하기가 진짜 어렵습니다. 디지털처럼 사용자 단위 A/B를 못 돌리거든요. 그래서 마케터가 갖고 있는 가장 강력한 카드가 geo-lift 실험이에요. 도시 단위로 광고를 ON/OFF로 갈라서 진짜 인과 효과를 본다는 발상. 이 글은 그 실험의 직관과, 짝꿍처럼 따라오는 합성 대조군(Synthetic Control)의 핵심을 마케터 언어로 풀어봅니다.

광고 ON 도시와 합성 대조군 도시의 매출 곡선이 분기되는 다이어그램
광고를 켠 도시와, 그와 비슷하게 움직이던 다른 도시들의 가중평균(=가짜 대조군)의 차이가 곧 광고의 인과 효과다.

왜 인과추론이 필요한가 — 상관과 인과 사이

마케터 보고서에서 흔히 보는 그림: “TV 광고를 켠 주에 매출이 +12% 올랐어요.” 이 한 줄은 사실 상관일 뿐이에요. 같은 주에 시즌 효과가 겹쳤거나, 경쟁사가 캠페인을 줄였거나, 그냥 경기가 좋았을 수도 있어요.

인과 효과(causal effect)는 다음 질문의 답이에요. “같은 시점에, 그 광고가 없었다면 매출은 얼마였을까?” — 이걸 counterfactual(반사실)이라고 부릅니다. 이 답을 알아야 비로소 “광고 덕분에 +X억”이라고 말할 수 있어요.

문제는 한 도시에 광고를 켠 그 시점, 같은 도시에서 광고 안 켠 버전의 매출은 절대로 관측할 수 없다는 거예요(이걸 “인과추론의 근본 문제”라고 합니다). 그래서 우리는 다른 곳에서 비슷한 도시들을 끌어와 가짜 대조군을 만듭니다. 그게 geo-lift + synthetic control입니다.

Geo-lift 실험의 기본 구조

1) 도시 그룹 짜기

전국 17개 시도, 또는 250여 개 시군구를 후보로 두고 두 그룹으로 나눕니다.

  • Treatment 그룹: 실험 기간 동안 광고를 켜는 도시들 (예: 서울, 부산, 대구)
  • Control 그룹: 같은 기간 광고를 안 켜는 도시들 (예: 인천, 광주, 대전)

여기서 핵심: 두 그룹이 실험 시작 전 매출 추세가 비슷해야 합니다. 그래야 “원래 같이 움직였을 텐데, 광고 켠 쪽만 더 올랐다”는 비교가 가능해요.

2) 사전 기간(pre-period) — 추세 매칭

실험 시작 전 3~6개월의 도시별 일매출을 보면서, 추세가 비슷한 도시들끼리 묶습니다. 단순 매출 절대값이 아니라 추세(상승률, 시즌 패턴)가 매칭되어야 해요.

도시 간 매출 추세 유사도는 피어슨 상관계수로 봅니다. 사전 기간 일매출의 상관계수가 1에 가까울수록 추세가 잘 맞는다는 뜻.

도시서울과의 상관계수
서울1.000 (본인)
부산0.962
대구0.948
인천0.941
광주0.927
대전0.903

실무 임계: 상관 0.9 이상이면 매칭이 잘 된 편. 0.8~0.9는 보정해서 쓸 만, 0.8 미만이면 합성 대조군의 기반이 흔들리니 control 후보에서 제외하세요.

3) 실험 기간(treatment period)

보통 4~8주. 너무 짧으면 노이즈에 묻히고, 너무 길면 다른 외부 변수가 끼어듭니다. 광고는 treatment 그룹 도시에만 노출하고, control은 평소대로 둠.

4) 결과 측정

실험 끝나고 두 그룹의 매출 변화를 비교 — 다만 단순 차이가 아니라 합성 대조군(다음 절)을 써서 보정합니다.

합성 대조군(Synthetic Control) — 가짜 도시 만들기

geo-lift의 백미는 여기예요. “treatment 도시 = 서울”이라고 하면, 우리는 여러 control 도시의 가중평균으로 가짜 서울을 만듭니다.

  • = 도시 의 가중치 (모두 0 이상, 합 = 1)
  • 가중치는 사전 기간(pre-period)에서 가짜 서울 ≈ 진짜 서울이 되도록 학습

직관: “서울이 광고 안 켰다면 어떻게 움직였을까?”의 답을 다른 도시들의 조합으로 합성한다는 발상입니다.

이걸 자동화한 도구가 Google의 CausalImpact(R 원본 + Python 포팅)예요. 사전 기간·실험 기간·치료 도시·대조 도시를 넣으면 다음 같은 결과를 뱉습니다.

항목AverageCumulative
Actual (실제 서울 매출)143.28,592
Prediction (광고 안 켰다면)128.4 (s.d. 4.2)7,704 (s.d. 252)
95% CI of prediction[120.2, 136.5][7,212, 8,191]
Absolute effect (광고 효과)14.8 (s.d. 4.2)888 (s.d. 252)
Relative effect+11.5%+11.5%
95% CI of effect[+5.2%, +17.9%][+5.2%, +17.9%]
Posterior probability99.9%99.9%

이 표를 마케터 언어로 옮기면:

  • 실험 기간 서울 매출은 88.8억 (cumulative actual 단위 가정)
  • 광고 안 켰다면 모델 예측은 77억 (95% CI: 72.1 ~ 81.9억)
  • 차이 = 광고의 인과 효과 약 +11.5%, 95% 신뢰구간 [+5.2%, +17.9%]
  • 효과가 진짜 0보다 클 확률 99.9% → 통계적으로 유의

마케터가 자주 빠지는 함정

1) Spillover — 옆 도시로 광고가 새는 경우

서울에 광고를 켰는데, 인천에 사는 사람이 페이스북에서 그 광고를 보고 산다면? 이건 control 그룹이 오염된 거예요. 광고를 도시 단위로 정확히 끄는 게 가능한가부터 점검해야 합니다.

  • TV 지역방송, OOH(옥외), 지역 프로모션은 spillover 적음 (지역 단위 노출)
  • 디지털 광고는 IP/인구통계 타겟팅 정확도에 따라 spillover 큼 → 충분한 거리(예: 인접 시군구는 control에서 제외) 두기

2) Pre-trend가 안 맞을 때

합성 대조군이 사전 기간에 진짜 서울을 잘 못 따라가면, 실험 결과를 신뢰할 수 없어요. CausalImpact는 이걸 “fit”이라는 점수로 알려주는데, 사전 기간 RMSE가 큰 경우 결과 보고를 보류해야 합니다.

3) 실험 기간이 짧음

4주 미만은 위험합니다. 광고 효과가 누적되기 전이거나, 일주일짜리 노이즈가 결과를 흔들 수 있어요. 보통 6~8주 권장.

4) Power 부족

“매출 분산이 커서 효과가 있어도 못 잡는” 케이스. 실험 전에 power analysis를 해야 해요. 직관 공식:

  • = 사전 기간 주간 매출의 표준편차
  • = 잡고 싶은 최소 lift의 절대값

매출 변동이 크고 보고 싶은 lift가 작을수록 더 많은 주가 필요. 예시: 사전 기간 매출 표준편차가 평균의 6%이고 5% lift를 잡고 싶다면, , 약 6주 필요. 5% 미만의 작은 lift를 잡고 싶다면 8주 이상 권장입니다.

어떤 채널에 쓸까 — 실무 가이드

채널A/B 가능?Geo-lift 적합도비고
검색광고 (SA)✅ 사용자 단위△ 굳이 안 함키워드 ON/OFF로 충분
소셜 퍼포먼스✅ Lift study◯ 보완 가능Meta Lift Study 자체 도구도 있음
유튜브·디스플레이△ 부분적◎ 권장view-through 측정 한계 보완
TV 광고◎◎ 거의 유일한 답지역방송 단위 ON/OFF
OOH (옥외)◎◎ 거의 유일한 답지하철·버스·옥외
오프라인 매장 프로모션◎◎ 거의 유일한 답매장 단위 실험

MMM과의 관계 — 사전(prior)을 보정하는 법

지난 글에서 다룬 MMM은 채널 효과를 추정하지만, 그 추정이 진실에 얼마나 가까운지 확신할 길이 없어요. Geo-lift 결과를 MMM의 사전으로 깔면 두 방법이 서로의 약점을 보완합니다.

가령 TV의 incremental ROAS가 geo-lift 결과 95% CI [1.8, 2.6]으로 나왔다면, 이 구간을 MMM의 사전 분포로 그대로 옮길 수 있어요.

(평균은 구간 중앙, 표준편차는 구간 폭을 ±1.96으로 나눈 값.)

이렇게 하면 MMM이 TV 채널을 추정할 때 “geo-lift가 본 진실”에 가깝게 끌려갑니다. 도메인 지식보다 강한 데이터 기반 사전이라, 의사결정의 견고함이 한 단계 올라가요. 다른 채널은 약한 사전(weak prior)으로 두고 데이터가 결정하게 하면 됩니다.

마치며

A/B 테스트는 근본적으로 디지털 채널의 무기입니다. 그 외의 영역 — TV, OOH, 오프라인 — 에서 인과 효과를 보고 싶다면 결국 도시·지역을 단위로 한 실험이 답이에요. Geo-lift + synthetic control은 그 실험을 정량적으로 마무리하는 표준 도구이고, 마케터가 보고서에서 “incrementality 11.5%, 95% CI [5.2%, 17.9%]“같은 한 줄을 들고 가면 의사결정의 신뢰도가 다른 차원으로 올라갑니다.

다음 글에서는 LLM으로 광고 카피를 양산하고 임베딩으로 사전 스코어링하는 운영 워크플로우를 다뤄볼게요.

참고

통계·ML 카테고리의 다른 글

전체 보기 →