Processing math: 100%

데이터분석&인과추론

DID (Difference in Difference)

seungbeomdo 2023. 11. 22. 20:52

DID 방법 (이중 차분 방법)

- 처치집단과 통제집단 간의 차이 중 처치에 의한 효과(인과효과)를 식별하는 방법

 

 

카페에 들어가서 커피를 시켰는데, 사장님이 쿠폰을 받겠냐고 물어본다. 도장을 10개 찍으면 아메리카노 한 잔을 공짜로 받는 쿠폰이다. 

 

고객 입장에서는 커피 1잔을 살 때마다 미래의 커피 1/10잔을 더 받게 되는 셈이므로 맛과 가격이 동일하다면 이 카페를 이용하는 것이 이득이 된다. 또한, 쿠폰을 기왕 받은 이상에 이 카페를 여러번 이용해야 이득을 실현할 수 있기 때문에 재방문 의향이 높아진다.

 

사장님은 이러한 고객의 의사결정 논리를 이해하고 재방문율(retention)을 높이기 위해 쿠폰 정책을 실시한다. 이 정책을 합리화하려면 다음의 AB 테스트가 필요하다.

 

 

커피쿠폰을 받지 않은 고객집단(통제집단)을 A집단, 커피쿠폰을 받은 집단(처치집단)을 B집단이라고 하자. 

그리고 1주일 동안 A집단과 B집단의 재방문율이 각각 YA,YB라고 하자.

 

간단하게 생각하면, YBYA의 크기를 커피쿠폰 정책의 효과에 대한 추정값이라고 할 수 있다.

고객당 평균 매출 * (YBYA)이 커피쿠폰 정책을 실시하기 위한 고객당 평균 비용보다 크다면, 이 정책은 합리적이다.

 

1. 문제

그런데 이러한 실험 설계에는 함정이 숨어있다.

왜냐하면, YBYA에는 커피쿠폰 정책의 효과(처치효과)뿐 아니라

두 집단의 기본 특성에 기인한 차이가 포함되어있기 때문이다.

 

만약 내가 서울에 사는데, 여수에 놀러가서 카페에 들어갔다고 하자. 이때 사장님이 커피쿠폰을 받겠냐고 물어보시면, 커피가 아무리 맛있어도 나는 받지 않는다.

재방문을 9번 더 해야 커피쿠폰이 나에게 쓸모 있어지는 것인데, 예상 가능한 미래 범위 내에서 내가 여수에 그렇게나 자주 갈 일은 없다. 커피쿠폰은 무의미한 종이조각일 뿐이고, 이걸 주머니에 넣어놓는 번거로움이 예상되는 이익보다 훨씬 크다.

 

다시 말해서, 커피쿠폰을 받은 B집단은 이미 그 카페 근처에서 활동 시간이 길거나 또는 그 커피의 맛이나 인테리어 등이 마음에 들어서 재방문할 의향이 높은 고객집단이다. 지금 추정값에는 이러한 고객집단의 특성 효과가 포함돼있다.

YBYA=β+δ

where β : 두 집단의 특성 차이, δ : 커피쿠폰 정책(처치)의 효과

 

만약 우리가 추정한 집단 간 차이에서 β의 비중이 매우 크다면, 굳이 커피쿠폰 정책을 실시하지 않아도 올 고객은 알아서 온다는 뜻이다. 그런 고객들한테 고마움을 표시하려는 의도라면 상관 없지만, 이을 늘리기 위해서라면 굳이 커피 1잔을 공짜로 줄 필요는 없다.

 

 

1차적인 해결 방안

 

집단의 특성을 통제하기 위해, 시간에 따른 차이를 사용하는 방법도 있다.

커피쿠폰을 받기 전과 후의 B집단의 재방문율이 각각  YB,1,YB,2라고 하자.

그럼 YB,2YB,1는 동일한 집단에 대해서 관측된 것이므로, 집단 특성을 통제한 상태에서 순수한 처치의 효과를 식별할 수 있을까? 현실에서는 이런 생각도 쉽게 적용되지 않는다.

 

왜냐하면 재방문율이라고 하는 것은 기본적으로 시간에 대해 감소하는 경향이 있다. 무언가를 꾸준히 하는 것은 어려운 일이기 때문이다.

그러므로 이렇게 측정된 통계량도 완전하지는 않다.

YB,2YB,1=γ+δ

where γ : 시간에 따른 차이, δ : 처치의 효과

 

2. 해결 방안

해결 방안은 우리가 제시한 두 가지 접근을 섞는 것이다.

처음 제시한 추정량은

YBYA=β+δ

where β : 두 집단의 특성 차이, δ : 커피쿠폰 정책(처치)의 효과

인데, 이 추정량은 사실 커피쿠폰 정책이 실시된 이후의 얻어진 것이므로 시점 2에 해당하는 통계량이다.

YB,2YA,2=β+δ

 

시점 1에서는 이 값이 어떻게 구성될까? 시점 1에서는 커피쿠폰 정책이 실시되지 않았기 때문에 처치 효과가 0이다.

YB,1YA,1=β

 

시점 2의 차이에서 시점 1의 차이를 빼면 순수한 처치의 효과 δ만을 식별해낼 수 있다.

[YB,2YA,2][YB,1YA,1]=β+δβ=δ

 

차이의 차이를 구하는 방법이라고 해서 DID(Difference In Difference) 방법이라고 한다.

 

위 식을 변형하면 이렇게도 된다.

[YB,2YA,2][YB,1YA,1]=[YB,2YB,1][YA,2YA,1]=γ+δγ=δ

 

첫번째 DID 방법은 두 집단 간의 차이가 두 시점에서 발생하는 차이를 구하는 것이고

두번째 DID 방법은 두 시점에서 발생하는 차이가 두 집단 간에 어떤 차이가 있는지를 보는 것이다.

 

두번째 방법은 AB 테스트와 AA 테스트를 혼합한 것이라고 생각할 수도 있겠다.

  • AA 테스트: 정책 변경이 없었다면 어떤 변화가 있었을까를 측정하는 가설 검정으로, 시간에 따라 발생할 수 있는 차이를 서비스 정책 변경의 효과에서 분리해내기 위해 진행하는 예비적 테스트 

 

3. DID 모델의 한계(가정)

DID 모델도 사실 한 가지 (비현실적일 수 있는)가정을 사용하고 있다.

첫번째 방법의 경우 두 집단 간의 차이(β)가 시간에 대해 불변한다고 가정하고 있기 때문에 성립한다.

[YB,2YA,2][YB,1YA,1]=β+δβ=δ

이때 두 집단 간의 특성 차이도 시간에 따라 변화할 수 있는데, DID 방법에서는 그렇지 않다고 가정한다.

예를 들어 커피 쿠폰을 받은 집단은 시간이 지날수록 그 카페를 더 좋아하게 되고, 안 받은 집단은 더 안 좋아하게 되어서 두 집단 간의 특성 차이(β)가 시점 1과 시점 2에서 다를 수도 있다.

그럼 수식이 다음과 같이 된다.

[YB,2YA,2][YB,1YA,1]=β2+δβ1δ

 

β1=β2이라는 가정을 평행 추세 가정(parallel trend assumption)이라고 한다.

 

두번째 방법이 성립하려면 시간에 따른 차이가 두 집단 간에 동일해야 한다(γ가 i에 대해 상수).

[YB,2YB,1][YA,2YA,1]=γ+δγ=δ

이때 두 집단이 시간에 따라 겪는 변화가 두 집단에서 동일하다고 가정해야 한다.

예를 들어 커피 쿠폰을 받은 집단의 재방문율 변화 기울기는 안 받은 집단의 변화 기울기보다 높을 수 있다.

 

그럼 수식이 다음과 같이 된다.

[YB,2YB,1][YA,2YA,1]=γB+δγAδ

 

 

4. (optional) 회귀방정식을 사용한 DID

DID 방법을 회귀방정식의 구조로 구현할 수도 있다. 다음의 회귀 모델을 가정하자. 

Yt=βGroupt+γTimet+δTimet×Groupt+ut

where

Groupt=1 if B, 0 if A

Timet=1 if after treatment, 0 if before treatment

 

이때 회귀계수 간에는 다음과 같은 관계가 있다.

E[Yt|Group=1,Time=1]=β+γ+δ=B2

E[Yt|Group=1,Time=0]=β=B1

E[Yt|Group=0,Time=1]=γ=A2

E[Yt|Group=0,Time=0]=0=A1

 

따라서, (B2B1)(A2A1)=γ+δγ=δ