ABテストとは、例えばユーザをA群(処置群)とB群(統制群)に分け、どちらのほうが好成績を納めるのかをデータで確かめたりするアプローチです。
- A群(処置群):販促を受けた状態
- B群(統制群):通常の状態(販促を受けていない状態)
このようにABテストの目的が、例えば販促効果を推定することだったりする場合、厳密なABテストではなくDID(差の差、difference in differences)推定で十分な場合があります。DID推定の場合、ABテストの大前提となるランダムアサインメントによる均質性の前提が若干ゆるくなります。ランダムアサインメントとは、A群とB群にランダムに割り付けるということです。
DID推定の場合、A群とB群の間に「共通トレンド仮定」を起きます。共通トレンド仮定とは、A群とB群のトレンド(傾き)が同じという仮定です。今回は「ABテストからExcelでもできるDID(差の差)推定へ」というお話しをします。
【この連載の前回:ABテストの代替、統計的因果推論の反実仮想アプローチ データ分析講座(その300) へのリンク】
1. ATEおよびATT、ATUの復習
ある小売チェーンで、ある販促のABテストを実施することになりました。そこで、次の2つの状況を作りました。
- 状況A:販促を実施する
- 状況B:販促を実施しない
A群に割り当てられた店舗は状況Aを、B群に割り当てられた店舗は状況Bになります。ここで、以下の3つの処置効果(今回の例では販促効果)を得ることができます。
- ATE:平均処置効果(Average Treatment Effect)
- ATT:処置群における平均処置効果(Average Treatment effect on the Treated)
- ATU:統制群における平均処置効果(Average Treatment effect on the Untreated)
ATEは「A群(状況A)とB群(状況B)の差」です。A群とB群が均質な群であるならば、販促効果そのものになります。
ATTは、処置群であるA群の「状況Aと状況Bの差」つまり「A群(状況A)とA群(状況B)の差」です。A群(状況A)が実際に起こる事実で、A群(状況B)は実際に起こらない反実仮想です。
ATUは、統制群であるB群の「状況Aと状況Bの差」つまり「B群(状況A)とB群(状況B)の差」です。B群(状況B)が実際に起こる事実で、B群(状況A)は実際に起こらない反実仮想です。
A群とB群が均質な場合、ATE=ATT=ATUになります。現実は、そうならないことが多いです。そして、実務で販促効果を見たいとき、販促を実施したA群の効果、つまりATTを知りたいケースが多いです。ここれから紹介するDID推定は、ATTを推定するための手法です。このATTを推定する上で問題になるのは、反実仮想であるA群(状況B)の数値をどう求めるのか、です。
2. ATTを推定するDIDはA群とB群が均質でなくてもいい
リアルビジネスや政策、人生を左右する状況などに近いほど、A群とB群を均質化するのが難しくなります。均質化するとは、処置したかどうか(例では販促を実施したかどうか)以外の条件がすべて同じ、ということだからです。DIDのいいところは、この均質仮定を満たさなくてもATTを推定できるところにあります。
3. DIDでは先ずBefore&Afterの差を計算する
DIDは、処置前後(Before&After)のデータを用います。A群だけでなく、B群の処置前後(Before&After)のデータを用います。そのため、先ずは各群で処置前後(今回の例では、販促前後)の売上の差を計算します。
- A群の販促前後の売上の差
- B群の販促前後の売上の差
なんとなく、販促を実施したA群の「販促前後の売上の差」だけでもいいのでは、と思われがちですが、販促効果を見積もりたいのなら、それはNGです。なぜならば「A群の販促前後の売上の差」がプラスであっても、例えば市場そのものが拡大していたら、そのプラスの値は販促によるものではなく市場拡大によるものとも考えられます。
4. 共通トレンド仮定を置くとATTが求まる
先程、次の2つの差を計算すると言いました。
- A群の...