差分の差分法(Difference-in-Differences、以降DiD)とは、施策を実施したグループ(実施群)と、実施していない類似のグループ(対照群)を用意し、施策前後の変化量の差を取ることで、季節要因や外部環境の影響を打ち消しながら効果を測る手法です。単純な前後比較と違い、実施群だけの変化を見るのではなく、同じ期間に施策を受けなかった集団の変化と比べる点が特徴です。店舗施策やエリア限定のキャンペーン、一部地域だけの値下げなど、同時期に比較対象を用意できる場面で使います。
なぜ前後の差だけでは判断できないのか
実施店舗の売上が施策後に伸びていても、それだけでは施策の効果と言い切れません。次のような要因が同時に働いている可能性があるからです。
- 季節要因(ちょうど繁忙期にあたっていた)
- 業界全体の需要の伸び(施策と無関係な追い風)
- 競合の動き(近隣で競合が閉店した、値上げしたなど)
これらは実施店舗だけでなく、施策をしていない店舗にも同じように影響します。そこで、施策をしていない店舗(対照群)の変化量を「施策がなかったら実施群がどう動いていたか」の参考値として使い、実施群の変化量から差し引くのがDiDの考え方です。
計算の仕組みと具体例
DiDの計算式は次のとおりです。
DiD効果 = 実施群の変化量 − 対照群の変化量
ここでいう変化量は、実施群・対照群それぞれの「施策後−施策前」の差です。数値例で確認します。ある小売チェーンが一部店舗だけでキャンペーンを実施したケースです。
| 施策前の月商 | 施策後の月商 | 変化量 | |
|---|---|---|---|
| 実施店舗 | 1,000万円 | 1,200万円 | +200万円 |
| 対照店舗 | 950万円 | 1,000万円 | +50万円 |
実施店舗の変化量は+200万円ですが、この期間は業界全体が伸びていた可能性があるため、施策をしていない対照店舗の変化量+50万円を差し引きます。
DiD効果 = 200万円 − 50万円 = 150万円
このケースでは、施策そのものの効果は150万円と推定できます。前後比較の+200万円をそのまま効果と見なすと、業界の追い風ぶんの50万円を過大評価してしまうことがわかります。
DiDが成り立つための前提条件
DiDは万能ではなく、いくつかの前提が崩れていると結果を信用できません。
- 平行トレンドの仮定:施策がなかったとしたら、実施群と対照群は施策前と同じように並行して推移していたはず、という仮定です。施策前の複数期間で両群の動きが似ているかを確認してから使います。
- 対照群への波及がないこと:対照群の顧客が実施店舗に流れて売上が奪われている場合(カニバリゼーション)、対照群の変化量が本来より小さく出て、効果を過大評価します。
- 同時期に片方だけへ影響する出来事がないこと:対照群の店舗だけ近隣で工事があった、実施群だけ人員体制を変えた、といった別要因が混ざっていないかを確認します。
平行トレンドが崩れているかどうかは、施策開始前の数期間をグラフにして目で確認するのが基本です。厳密な検定方法もありますが、まずは折れ線グラフで施策前の両群が同じような形で動いているかを見るだけでも、大きな崩れには気づけます。
施策前後比較との使い分け
似た手法に、対照群を使わない施策前後比較があります。使い分けの目安は次のとおりです。
- 同時期に比較できる対照群がある(店舗の一部だけ、エリアの一部だけで施策をした)→ DiD
- 比較対象が存在しない、または全社・全店で一斉に施策をした → 施策前後比較(反実仮想の推定)
対照群を用意できるならDiDのほうが季節要因や外部環境を強く打ち消せます。対照群がない場合の考え方は統計じょうずの施策前後比較の記事で扱っています。
統計じょうずでDiDを試す
DiDの計算は、実施群と対照群それぞれの施策前後の数値を集計するだけなら手元の表計算でも可能ですが、平行トレンドの確認や信頼区間の算出まで含めると手間がかかります。統計じょうずの地域比較(DiD)機能では、実施エリアと対照エリアの日次・週次の実績を入力すると、施策前トレンドの並行性の目安と、DiD効果の信頼区間を自動で計算します。計算はブラウザ内で完結し、入力したデータは送信も保存もされません。
効果の大きさだけでなく「幅」も見る
DiDの計算結果は1つの数値(点推定)として出てきますが、店舗数やエリア数が少ないと、その数値には偶然のばらつきが混ざります。対照群が2〜3店舗しかない場合、たまたまその店舗の売上が伸びていた・落ちていただけで、DiD効果の値が大きく変わってしまうことがあります。
そこで実務では、点推定と合わせて信頼区間(効果がどの範囲に収まっていそうかの幅)を確認します。信頼区間が0をまたいでいる場合は、施策に効果があったと言い切るには材料が不足している状態です。逆に信頼区間が0から離れているほど、偶然のばらつきでは説明しにくい差だと判断できます。
対照群の数を増やす、施策前の観測期間を長くとる、といった工夫で信頼区間は狭くなりやすくなります。1店舗対1店舗のような小規模な比較をするときほど、点推定の数値だけを見て判断しないよう注意してください。
よくある質問
Q. 対照群はどう選べばよいですか。 A. 施策の影響を受けておらず、施策前のトレンド・水準ができるだけ似ている集団を選びます。地理的に近すぎると顧客の奪い合い(カニバリゼーション)が起きやすく、逆に条件が違いすぎると平行トレンドの前提が崩れやすくなります。施策前の数期間の推移を比べて、動きが似ている集団を選ぶのが基本です。
Q. 対照群は1つでなければいけませんか。 A. 複数店舗・複数エリアの平均を対照群として使うこともできます。むしろ1店舗だけを対照群にすると、その店舗固有の事情(一時的な欠品、近隣工事など)に結果が引っ張られやすくなるため、複数の平均を使うほうが安定します。
Q. 何期間分のデータがあればDiDができますか。 A. 施策前のトレンドが平行かどうかを確認する必要があるため、最低でも施策前に数期間分(月次なら数か月、週次なら数週間)のデータがあることが望ましいです。施策前が1期間しかないと、たまたま近い数字だっただけなのか、傾向として似ているのかを判断できません。
DiDは、同時期に比較できる対照群があるときに、季節要因や外部環境の影響を打ち消しながら施策の効果を測れる手法です。統計じょうずなら、実施エリアと対照エリアの実績を入力するだけで、平行トレンドの目安とDiD効果の信頼区間を確認できます。まずは対象と対照の組み合わせを1つ決めて試してみてください。