Tae Hyun Kim (Lowell)
← 모든 프로젝트
Causal InferenceDecision-Making under Uncertainty

인과 기반 멀티터치 어트리뷰션

단일 Inhomogeneous Poisson Process 위에 Incremental·Shapley 채널 기여도와 path-level 분해를 통합해, 채널 예산·여정 설계·모집단 인과효과를 하나의 효율성 항등식으로 답한 시뮬레이션 연구(18-method 벤치마크, ground-truth MAE 0.016

2026 · 단독 · 엔드투엔드 (DGP → 모델 → 평가·의사결정)
PythonstatsmodelsNumPy/pandasPoisson GLM (IPP)Shapleymatplotlib
직접 해보기 — 게임 2개로 핵심을 만져보기

⏱️ TL;DR (30초)

단일 IPP 위에 credit·path 층을 얹어 채널 예산·여정 설계·모집단 효과를 하나의 효율성 항등식으로 통일 단일 Inhomogeneous Poisson Process(백본) 위에 credit 층과 path 층을 얹으면, 채널 예산·여정 설계·모집단 효과라는 세 관점이 하나의 효율성 항등식(상대오차 0.00%) 으로 묶인다. 이것이 이 방법론의 핵심 주장이다.


🎯 핵심 결과 한눈에

지표비고
채널 기여도 오차MAE 0.01618개 방법 중 1위 (ground truth 대비)
예산배분 정확도MAE 0.0192위 (1위 Du Incremental Shapley 0.013)
효율성 항등식상대오차 0.00%채널·여정·모집단 세 관점 일치
부트스트랩 안정성mean CV 0.13동급 Incremental·Total Shapley는 0.60·0.99로 불안정
순위 일치도Kendall τ = 0.905ground truth 순위와 robust 정합
두 estimandConditional MAE 0.012 · Marginal MAE 0.020사후 audit / 전향 A/B 정렬
데이터100K users · 7 channels · ~2.3% 전환합성 DGP (ground truth 보유)

모든 수치는 시뮬레이션 ground truth 기준이다. 합성 DGP에서 나온 illustrative 값이며, 실데이터에는 ground truth가 없다(§한계 참조).

🔬 핵심 실험 두 가지

이 방법론이 내놓는 두 산출물이자, 프로젝트에서 가장 중요하게 본 두 실험이다.

① Incremental vs Total — 왜 ‘incremental’이 필수인가. base 전환율을 ~3%에서 ~20%까지 올리며 두 ground truth와 세 연산자를 한 그림에 겹쳤다. 두 ground truth는 묻는 질문이 다르다. GT_A“전환에 누가 있었나” 를 보는 사후 정산(conditional)의 진실이고, GT_B“이 채널이 없었다면 무엇을 잃나” 를 보는, A/B 테스트가 재는 incremental(marginal)의 진실이다. 둘은 채널 순위는 같지만 크기가 갈린다(Paid Search는 GT_A 0.315 > GT_B 0.299, Display는 반대로 GT_B 0.084 > GT_A 0.061). 세 연산자(Incremental·Total·BackElim) 중 Total Shapley는 “광고가 없어도 일어났을” baseline까지 크레딧에 넣기 때문에, base rate가 오르면 upper-funnel(Display·Social)을 0으로 무너뜨리고 Paid Search를 두 진실보다도 과대평가한다. 반면 Incremental Shapley는 baseline을 빼서 두 진실 사이 밴드 안에 머문다. base rate가 아무리 높아져도 흔들리지 않는다.

구독 갱신이나 브랜드처럼 자연 전환이 높은 비즈니스에서 Total Shapley를 쓰면, 진짜 가치 동력이 아닌 Paid Search에 예산을 과투자하게 된다. incremental이 선택이 아니라 필수인 이유다.

두 ground truth(GT_A·GT_B)와 세 연산자(Incremental·Total·BackElim) 채널 크레딧을 base-rate별로 — Incremental은 진실 밴드 안, Total은 upper-funnel을 0으로 붕괴 막대 다섯 개 — 두 ground truth(GT_A 회색·conditional, GT_B 초록·incremental, 둘 다 검은 테두리)와 세 연산자다. Incremental(분홍)은 두 진실 밴드 안에 머물지만, Total(하늘)은 둘 모두에서 벗어난다. Paid Search를 과대평가하고(high base 0.400 vs GT ~0.29) Display·Social은 0으로 무너뜨린다(GT 0.080·0.059인데 Total은 0.00). BackElim(주황)은 last-touch에 크레딧이 쏠린다. 진짜 incremental credit이 왜 필요한지 보여주는 그림이다.

② Multi-path — 채널이 아니라 ‘여정’을 평가. 같은 IPP를 채널이 아니라 여정 템플릿(ordered channel tuple) 단위로 분해한다. 1,786개 여정 가운데 count ≥ 5를 넘는 35개 robust 템플릿(전환자의 15.5%)만 남기면, 재현 가능한 캠페인 후보가 추려진다. total contribution 상위(Email→Paid Search 등)는 “지금 매출을 떠받치는” 여정이고, mean Δ 상위(드문 3-step)는 “의도적으로 설계해볼” 후보다.

“어느 채널에 돈을 쓸까”(예산)와 “어떤 여정을 키울까”(캠페인 설계)는 보통 따로 분석한다. 하지만 여기서는 같은 효율성 항등식에서 함께 나오므로, 두 결정이 서로 어긋나지 않는다.

multi-path 기여도 — 35개 robust 여정 Top-K path-level Incremental Shapley로 순위를 매긴 35개 robust 여정. (좌) total contribution은 지금 매출을 떠받치는 짧고 빈번한 2-step, (우) mean Δ는 드물지만 한 명당 임팩트가 큰 3-step 설계 후보다. 색은 여정 길이를 나타낸다.

🧱 방법 — 단일 IPP 위 3층

이 방법론의 척추는 하나의 fitted Inhomogeneous Poisson Process(IPP) 위에 세 층을 쌓은 구조다. 모델은 한 번만 적합하고, 그 위에서 채널 기여도·여정 분해·모집단 효과를 모두 같은 게임으로 끌어낸다.

세 관점은 하나의 효율성 항등식으로 묶이며, 검증 결과 상대오차는 0.00%였다:

pathsΔpath여정 설계  =  cϕc채널 예산  =  Eu[Δu]모집단 효과  =  6.99×102\underbrace{\textstyle\sum_{\text{paths}} \Delta_{\text{path}}}_{\text{여정 설계}} \;=\; \underbrace{\textstyle\sum_{c} \phi_c}_{\text{채널 예산}} \;=\; \underbrace{\mathbb{E}_u[\Delta_u]}_{\text{모집단 효과}} \;=\; 6.99\times 10^{-2}

IPP가 학습한 채널별 감쇠 곡선 — Paid Search는 빠르게, Display는 느리게 감쇠 IPP가 데이터에서 학습한 채널별 감쇠(β, log-intensity 기여). Paid Search는 0–1일에 가장 강하다가 빠르게 식고(효과 수명 ~1일), Display는 2주까지 남는다. lookback window를 가정하지 않고 시간 구조를 직접 추정한 결과다.

수식 유도(intensity·credit·estimand)와 11개 실험 전체 갤러리는 GitHub 저장소와 Methodology_05 문서에 있다. 이 페이지는 핵심 서사만 담는다.

📊 임팩트 — 정직한 결과

ground truth(알려진 DGP 파라미터) 대비 18개 방법을 평가했다. 메인 방법론은 정확도·안정성·의사결정 정확도를 합친 종합에서 앞서지, 어느 한 지표만의 만능 해법은 아니다.

방법채널 MAE ↓Kendall τ ↑예산배분 MAE ↓부트스트랩 mean CV ↓계열
Survival/Poisson (Shapley)0.016 (1위)0.9050.019 (2위)0.13Causal (incremental)
Incremental Shapley (Du)0.0290.9050.013 (1위)0.60 ⚠️Causal (incremental)
CAMTA (Causal Attention)0.0230.9050.0360.10Causal DL
Shapley (model-based, Total)0.0350.9050.117 ⚠️0.99 ⚠️Game-theoretic
Last Click0.0380.8100.0540.31Rule-based
DML / IPW0.050 / 0.0740.524 / 0.3330.045 / 0.0900.93 / 0.66Causal (debiased)
Transformer (2L/2H)0.100 ❌−0.333 ❌0.59Deep Learning
First Click0.158 ❌−0.293 ❌0.14Rule-based

(출처: results/part1/{01_method_accuracy,07_budget_optimization,10_bootstrap_stability}.csv. 부트스트랩 CV = 채널별 CV의 method-level 평균. 는 해당 변형이 부트스트랩 대상 아님.)

정직하게 짚어둘 점 네 가지.

  1. “최고”라는 말은 정확히 — Survival/Poisson Shapley는 오차 1위(0.016) 이면서 변동성도 낮은(mean CV 0.13) 드문 방법이다. 정확도가 비슷한 Incremental(0.60)·Total Shapley(0.99)는 불안정하고, 가장 안정적인 Markov(~0.04)는 부정확하다. 결국 조합에서 앞설 뿐 한 축만의 만능 해법은 아니다(CAMTA가 0.023/0.10으로 가장 가까운 경쟁자다).
  2. 인과 기법이라고 자동으로 이기진 않는다 — debiased 추정기(DML 0.050, IPW 0.074)는 이 DGP에서 최고 규칙기반(Last Click 0.038)조차 못 이긴다. 교란이 중간 수준이라 무거운 debiasing이 별 이득을 못 본 것이다. 승부처는 IPP와 incremental 모델링 그 자체이지 propensity 보정이 아니었다.
  3. Total Shapley는 깨지기 쉬운 승자 — 채널 MAE 0.035는 괜찮아 보이지만, 예산 배분 0.117과 mean CV 0.99(거의 최악)로 불안정하다.
  4. 최고 규칙기반도 의외로 만만치 않다 — Last Click의 MAE 0.038은 나쁘지 않다. 인과 계열의 진짜 강점은 순위·배분·안정성을 한꺼번에 만족시키면서 해석 가능한 산출물(감쇠 곡선, 시너지, incremental vs total)을 함께 준다는 데 있다.

18개 방법의 정확도(MAE) × 순위 일치도(Kendall τ) 지형도 ground-truth 오차(MAE, 낮을수록 좋음)와 순위 일치도(Kendall τ, 높을수록 좋음). 인과·incremental 계열(좌상단)이 휴리스틱·예측 전용 방법(우하단, 음의 τ)과 뚜렷이 갈린다.

🏭 산업에서 어떻게 쓰는가 — “Effect ≠ Efficiency”

효과가 가장 강한 채널이 돈당 효율은 최악일 수 있다. attribution을 비용 구조와 결합해야 비로소 배분 결정으로 이어진다.

채널효과 (β)효과 순위비용/터치효율 (전환/$)GT 최적 예산
Paid Search1.21위$2.50 (CPC)0.19 (꼴찌)0.09% ($181)
Email0.82위$0.003152.7 (1위)73.7% ($147,345)
Social0.46위$0.008 (CPM)16.17.8% ($15,505)
Display0.37위$0.005 (CPM)38.318.5% ($36,969)

(출처: ground_truth.json — total budget $200K, revenue/conversion $100. 효과 순위는 7개 채널 β 전체 기준; 표는 4개 paid 채널 발췌. 합성 DGP 값 — illustrative.)

방법별 예산 배분 vs ground truth 최적 배분 — Effect ≠ Efficiency Paid Search는 효과 1위지만 CPC가 비싸 최적 예산은 0.09%에 그치고, 진짜 가치 동력은 Email(73.7%)이다. Incremental Shapley와 Survival/Poisson Shapley가 GT 최적 배분에 가장 가깝다.

여정 설계 — 두 렌즈 (예산이 아니라 캠페인 질문). path-level Incremental Shapley는 35개 robust 템플릿(전환자의 15.5%)을 두 각도로 읽어 바로 실행할 수 있는 플레이북으로 바꾼다:

렌즈top 템플릿 (실측)액션
현 매출 주축 (total contribution)Email→Paid Search (n=37) · Direct→Paid Search (n=24)방어·증폭 — 예산 유지·입찰 강화
의도 설계 후보 (mean Δ/유저)Direct→Paid Search→Paid Search (n=5) · Email→Email→Paid Search (n=5)실험·확장 — A/B로 nurture 설계

예산은 mainstay를 지키고, 실험은 드물지만 Δ가 큰 여정을 키운다. 두 결정이 같은 효율성 항등식에서 나오므로 서로 어긋나지 않는다.

왜 이 업그레이드가 산업에 맞나 (관리자 관점). 이 전환은 모델 자랑이 아니라 예산 결정의 위험을 줄이는 변화다.

이 산출물은 결국 네 가지 결정으로 이어진다 — 예산 재배분, 여정 설계, 의사결정 규칙(과거는 Conditional·미래는 Marginal), 그리고 불확실성(부트스트랩 CI 게이트)이다. 핵심은 하나의 fitted IPP가 이 네 질문에 모두 답한다는 점이다.

⚠️ 한계와 정직한 스코핑


모든 수치는 committed 결과물(results/part1/*.csv, ground_truth.json)의 정본 값이며, 시뮬레이션 ground truth 기준이라 illustrative다. 실패하거나 약한 결과(First Click·Transformer의 음의 τ, debiased의 비우위, Total Shapley의 불안정성, Markov-DGP 붕괴)도 그대로 보고했다. 수식 유도와 11개 실험 갤러리, Quick Start는 GitHub 저장소와 Methodology 문서를 참조.

직접 해보기 1

효과 ≠ 효율: 예산을 어디에?

각 채널은 효과(β)만 보입니다. 예산 칩을 배분하고 실행하면 숨은 효율(전환/$)이 공개됩니다.

사용 칩
0 / 10 · 남은 칩 10
  • 유료 검색 $2.50 / 클릭
    효과 β 1.2
    효율 (전환/$) ?
    0
  • 이메일 $0.003 / 클릭
    효과 β 0.8
    효율 (전환/$) ?
    0
  • 디스플레이 $0.005 / 클릭
    효과 β 0.3
    효율 (전환/$) ?
    0
  • 소셜 $0.008 / 클릭
    효과 β 0.4
    효율 (전환/$) ?
    0

직접 해보기 2

Total vs Incremental: 어떤 크레딧을 믿을까?

비즈니스의 base 전환율을 고르고, 예산에 쓸 attribution 방법을 선택하세요. 공개하면 각 방법의 채널 크레딧이 ground truth와 나란히 비교됩니다.

자연 전환율 (base)
우리 비즈니스의 자연 전환율
attribution 방법

산출물