差分の差分法(DID)

今回は施策効果を正しく評価しするための分析方法の一つ、差分の差分法(DID)について説明させていただきます。

※このブログの内容は個人の意見・見解となります。また、記事の内容の正確性については保証いたしません。本ブログの目的は分析結果をアウトプットしていくことによる自身のデータ分析力向上を主としています。誤りや違うアプローチの方が良いという事も多分にあると思います。後学のため、「もっとこうしたらいい」や誤りを見つけた場合はコメント欄などでお知らせいただけると有難いです。

○正しく効果を測定するための障害
まずは、なぜ差分の差分法などの考え方が重要なのかをお話しさせていただきます。ある店舗で売上向上の施策を行なった場合に前年比や前月との比較結果を持って効果があった、なかったと判断した場合に考えられる懸念点はなんでしょうか?例えば、施策実施月が12月と毎年売上が高い月だった場合、前月との比較で売上実績が向上していても施策による効果によって売上が上がったとは考えにくいですよね。前年比の場合、コロナが流行する前と後の場合では施策のみではなくコロナの流行という外部要因が介入しており、コロナの影響により売上自体は下がっていても、もしかしたら施策を行なったことにより下げ幅が縮まっている可能性もあります。記載した例は一例ですが、上記例も配慮した上で効果を測定しないと誤った意思決定を行なってしまいそうな気がしませんか?そこで、施策の効果を正しく評価するための分析手法の一つとして登場するのが差分の差分法(DID)になります。

○差分の差分法

   青:介入なし オレンジ:介入あり
差分の差分法とは施策などの介入に対して、介入が行われた群の前後のデータに加えて、介入が行われていない群の前後のデータを利用することで、施策効果を正しく評価しようとする手法になります。
①介入前後の差分を介入が行われた群、介入が行われていない群でそれぞれ計算し、さらに②群間でその差を取るという2回の差分を取るため差分の差分ほうと言われています。
例えば、特定の店舗で広告を出向した場合、①で店舗のバイアスを取り除き、②で時間経過によるバイアスを取り除くことで施策効果のみが残ります。
①介入あり群
 施策後:施策後実績=時期(施策期間)+店舗+施策効果、施策前実績=時期(施策前)+店舗とします。施策後-施策前を行うと残りは時期(施策期間) – 時期(施策前) + 施策効果となります。
介入なし群の場合は時期(施策期間) – 時期(施策前)が残ります。
②では介入あり群の差分-介入なし群の差分を行います。
(時期(施策期間) – 時期(施策前)) + 施策効果 – (時期(施策期間) – 時期(施策前))これにより(時期(施策期間) – 時期(施策前))は平行トレンドの仮定によって取り除かれ施策効果のみが残ります。

○平行トレンド仮定
差分の差分法では前提条件として平行トレンドの仮定があります。これは、介入あり群となし群の2群を比較した場合にどちらも介入がない場合は同じ変化をするという意味です。

図のように同じように変化している比較対象を見つけることが差分の差分の差分法を行うには必要になります。
平行トレンドは過去のデータを用いて調べることで同じような変化をしている対象を探します。
また、施策開始以降の期間に一方の群のみに影響する出来事がないか確認することも重要です。もし、一方の群のみに影響する出来事があった場合は施策効果以外にその出来事による効果も残ってしまうため正しく施策効果を判断することが出来ません。
この平行トレンドの仮定を満たすことが現実ではなかなか難しいです。

○回帰分析の式に当てはめる
Yi:広告を出向した場合の売上、Di:広告を出向した店舗かどうかを表すダミー変数 /Di=1であれば出向した店舗、Di=0であれば出向していない店舗、At:時点を表すダミー変数Ai=1を処置後/Ai=0を処置前とすることで差分の差分法は回帰分析の式で表すことが出来ます。

上記は差分の差分法を回帰モデルで実行しています。didの6245が効果となります。

○まとめ
今回は差分の差分法についてお話しさせていただきました。施策を実行した際にはRCTが最も理想的な方法とされていますが、現実の業務上ではRCTを実施するのが難しい場面も多々あるかと思います。そういった場合にケースに応じて正しい評価手法で施策の効果を図ることが重要となります。今回の差分の差分法も前提条件など、正しく評価するにはクリアしないといけない問題があるためしっかり各種手法の前提条件・測れる効果を理解していきたいと思いました。

○最後に

このような形で分析した結果や試してみたことを週に1回(目標)ペースで掲載しています。
(前回から大分更新が途絶えていましたが…)
データ分析のキャリアを歩み始めたのですが、データの解釈、分析力が低いと感じ今回、このような形でアウトプットをしていくことにしたため、ぜひ、アドバイスやご指摘をいただけると幸いです。

※参考文献
効果検証入門:https://www.amazon.co.jp/%E5%8A%B9%E6%9E%9C%E6%A4%9C%E8%A8%BC%E5%85%A5%E9%96%80%E3%80%9C%E6%AD%A3%E3%81%97%E3%81%84%E6%AF%94%E8%BC%83%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E5%9B%A0%E6%9E%9C%E6%8E%A8%E8%AB%96-%E8%A8%88%E9%87%8F%E7%B5%8C%E6%B8%88%E5%AD%A6%E3%81%AE%E5%9F%BA%E7%A4%8E-%E5%AE%89%E4%BA%95-%E7%BF%94%E5%A4%AA/dp/4297111179