데이터분석&인과추론

DID (Difference in Difference)

seungbeomdo 2023. 11. 22. 20:52

DID 방법 (이중 차분 방법)

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

 

 

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

 

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

 

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

 

 

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

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

 

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

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

 

1. 문제

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

왜냐하면, $Y_{B}-Y_{A}$에는 커피쿠폰 정책의 효과(처치효과)뿐 아니라

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

 

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

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

 

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

$$Y_{B}-Y_{A} = \beta + \delta$$

where $\beta$ : 두 집단의 특성 차이, $\delta$ : 커피쿠폰 정책(처치)의 효과

 

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

 

 

1차적인 해결 방안

 

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

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

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

 

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

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

$$Y_{B,2} - Y_{B,1} = \gamma + \delta$$

where $\gamma$ : 시간에 따른 차이, $\delta$ : 처치의 효과

 

2. 해결 방안

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

처음 제시한 추정량은

$$Y_{B}-Y_{A} = \beta + \delta$$

where $\beta$ : 두 집단의 특성 차이, $\delta$ : 커피쿠폰 정책(처치)의 효과

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

$$Y_{B,2}-Y_{A,2} = \beta + \delta$$

 

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

$$Y_{B,1}-Y_{A,1} = \beta$$

 

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

$$[Y_{B,2}-Y_{A,2}] - [Y_{B,1}-Y_{A,1}] = \beta + \delta - \beta = \delta$$

 

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

 

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

$$[Y_{B,2}-Y_{A,2}] -[Y_{B,1}-Y_{A,1}] = [Y_{B,2}-Y_{B,1}] - [Y_{A,2}-Y_{A,1}] = \gamma + \delta - \gamma = \delta$$

 

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

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

 

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

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

 

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

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

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

$$[Y_{B,2}-Y_{A,2}] - [Y_{B,1}-Y_{A,1}] = \beta + \delta - \beta = \delta$$

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

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

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

$$[Y_{B,2}-Y_{A,2}] - [Y_{B,1}-Y_{A,1}] = \beta_{2} + \delta - \beta_{1} \neq \delta$$

 

$\beta_{1} = \beta_{2}$이라는 가정을 평행 추세 가정(parallel trend assumption)이라고 한다.

 

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

$$[Y_{B,2}-Y_{B,1}] - [Y_{A,2}-Y_{A,1}] =\gamma + \delta - \gamma = \delta$$

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

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

 

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

$$[Y_{B,2}-Y_{B,1}] - [Y_{A,2}-Y_{A,1}] =\gamma_{B} + \delta - \gamma_{A} \neq \delta$$

 

 

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

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

$$Y_{t} = \beta Group_{t} + \gamma Time_{t} + \delta Time_{t} \times Group_{t} + u_{t}$$

where

$Group_{t} = 1$ if $B$, $0$ if $A$

$Time_{t} = 1$ if after treatment, $0$ if before treatment

 

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

$E[Y_{t}|Group=1, Time=1] = \beta + \gamma + \delta = B_{2}$

$E[Y_{t}|Group=1, Time=0] = \beta = B_{1}$

$E[Y_{t}|Group=0, Time=1] = \gamma = A_{2}$

$E[Y_{t}|Group=0, Time=0] = 0 = A_{1}$

 

따라서, $(B_{2}-B_{1}) - (A_{2}-A_{1}) = \gamma + \delta - \gamma = \delta$