広告を増やした月に売上も伸びた。その報告を受けて、来月も広告費を増やしてよいのか。判断するには、広告を増やさなかった場合の売上と比べる必要があります。
因果推論は、介入した場合と、しなかった場合の結果の違いを、データと明示した仮定から考える方法です。観測された数字に計算を加えるだけで、真の原因が自動的に分かるわけではありません。
30秒で要点
- 「誰に何を変え、何と比べ、いつの結果を知りたいか」を先に決めます。
- 一緒に動く関係と、変更によって生じる効果を分けます。
- 実験でも観測データでも、比較が成り立つ理由と壊れる条件を示します。
- 効果の推定値には不確実性があり、因果の説明にも未検証の仮定が残ります。
見えない比較対象を、まず言葉にする
ある利用者にクーポンを送ったときの購入額をY(1)、送らなかったときの購入額をY(0)とします。その人への効果はY(1)−Y(0)です。しかし、同じ人の同じ機会について両方を同時に観測することはできません。実際には起きなかった方の結果を反実仮想と呼びます。
送付前の購入額を代わりに置いても、時間が変わっています。前年同期を使えば、景気や商品が違うかもしれません。別の利用者を使えば、元々の購入意欲が違うかもしれません。この「代わりの比較対象をどう作るか」が分析の中心です。Cunninghamの潜在結果の解説は、個人の二つの結果を見られない問題と、平均効果を推定する考え方を扱っています。
実務では、例えば次のように問いを限定します。
表が収まらない場合は、横にスクロールできます
| 決めること | クーポン施策の問いの例 |
|---|---|
| 対象 | 月初時点で登録済みの対象利用者 |
| 介入 | 同じ条件・金額・期限のクーポンを送付する |
| 比較 | クーポンを送付しない |
| 結果と期間 | 割付後14日間の、利用者1人あたり購入額 |
| 知りたい量 | 対象全体での平均購入額の差 |
これは説明用の設計例で、14日が適切な観測期間という推奨ではありません。購入までの時間や商品の周期に合わせて決めます。「購入した人の平均購入額」に変えると、施策によって購入者の顔ぶれも変わるため、別の問いになります。
相関を生む、施策以外の経路を見る
相関は、二つの値が一緒に動く傾向です。正の関係だけでなく、一方が増えると他方が減る関係もあります。因果効果は「片方へ介入したら、他方がどう変わるか」という問いなので、相関だけでは答えられません。
売れそうな繁忙期に広告費を増やしているなら、需要の高まりは広告費と売上の両方に関係します。こうした共通原因が比較に混ざることは、交絡の典型です。逆に、売上の見込みを見て広告を増やす意思決定も、単純な比較を難しくします。
このような、因果の向きを矢印で表し、矢印をたどって元の点に戻らない図をDAG(有向非巡回グラフ)と呼びます。図の役割は、仮定を見える形にして検討することです。矢印を描いたこと自体は証拠になりません。Pearlの論文も、関連の分布だけでは介入後の変化を決められず、因果についての仮定が必要だと整理しています。
変数は、多く調整すればよいわけではない
回帰分析で需要の指標を加えたり、似た購入歴の人を比べたりすると、測定した条件の違いを考慮できます。ただし、買いたい気持ちなど測っていない要因が残る可能性はあります。似た条件の人が一方の施策にしかいなければ、観測されていない比較をモデルに強く頼ることにもなります。
さらに、調整する変数の位置が大切です。因果図と変数選択の解説を、広告の仮想例に置き換えると次のようになります。
表が収まらない場合は、横にスクロールできます
| 変数の位置 | 仮想の関係 | 調整するときの注意 |
|---|---|---|
| 共通原因 | 施策前の需要が広告費と売上を左右する | 効果と混ざる経路を考慮する候補。ただし測定と図の妥当性が必要 |
| 効果を伝える途中 | 広告が訪問を増やし、その訪問が購入につながる | 訪問で調整すると、訪問を通る効果まで除く場合がある |
| 矢印の合流点 | 広告と購入意欲の両方が訪問を増やす | 訪問者だけを選ぶと、広告と購入意欲の関連を新たに作る場合がある |
同じ「訪問」という変数でも、どの問いと因果構造を考えるかで役割が違います。総効果を知りたいのか、特定の経路を除いた効果を知りたいのかも分けます。線形回帰の記事にある通り、回帰係数が得られたことと、その係数を施策の効果として読めることは別です。
ランダム割付は、比較を作る一つの方法
対象を同じ時期にランダムに二群へ分け、一方だけに施策を行うと、購入意欲を見て送付先を選ぶような偏りを避ける設計ができます。これがランダム化比較実験です。A/Bテストも、この設計を満たす形で実施できます。
ただし、有限の標本で全属性が完全に同じになる保証はありません。ランダム割付は、背景要因と割付を系統的に結び付けない仕組みです。推定には標本のばらつきが残るため、件数、効果量、区間を報告します。
割付後にクーポンを使った人だけを送付群として集計すると、せっかくの比較を崩します。まず「送付する施策へ割り付けた効果」を、元の割付に沿って評価する設計を考えます。実際に利用した効果を知りたい場合は、別の条件や方法が必要です。
また、クーポンが家族へ共有されれば、一方の施策が他方へ届くかもしれません。同じ利用者が群を行き来する、片方だけ購入を記録できない、期限や金額が群内で混ざる場合も解釈が変わります。具体的な割付・計測の決め方は実験計画法で扱います。
差の差では「施策がなくても起きた変化」を差し引く
すべてをランダム化できるとは限りません。次は、店舗施策の導入群と未導入群について、1店あたり週間注文数の平均を比較した独自の仮想例です。各期間は同じ長さとします。
表が収まらない場合は、横にスクロールできます
| 店舗群 | 導入前 | 導入後 | 前後の変化 |
|---|---|---|---|
| 導入群 | 100件 | 130件 | +30件 |
| 未導入群 | 80件 | 90件 | +10件 |
単純な前後差は30件ですが、未導入群も10件増えています。差の差(Difference-in-Differences)は、(130−100)−(90−80)=20件と計算します。
ここで必要なのは「導入群も、施策がなければ10件増えていた」という仮定です。その場合、導入群の導入後の反実仮想は100+10=110件となり、130−110=20件が施策の効果に対応します。これは平行トレンド、つまり介入がなければ両群の平均が同じだけ変化した、という条件です。開始時点の水準が等しいという条件ではありません。
Cunninghamの差の差の解説は、この反実仮想の条件に加え、導入前に効果が始まっていないことなどを扱っています。導入群だけが同時に値下げしたなら、20件にはその影響も混ざり得ます。予告を受けた買い控え、店舗の入れ替わり、群をまたぐ顧客移動も確認します。導入前の推移を複数時点で見ることは有用ですが、導入後の反実仮想を直接確かめられるわけではありません。また、この四つの平均だけでは標準誤差や区間は出せません。店舗数、店舗ごとの変動、時点間の相関などが必要です。導入時期が店舗ごとに違う場合は、すでに導入済みの店舗を単純な対照にする問題もあるため、この2群2時点の計算をそのまま広げないようにします。
結果より先に、比較が崩れる理由を一つ書く
分析を始めるときは、対象・介入・比較・期間を一文にし、図や時系列で「施策以外に何が違うか」を確認します。その上で、次の問いを記録すると、追加で集める情報がはっきりします。
- 施策を受ける人や店舗は、誰がどんな理由で選んだか。
- 調整したい条件は施策前に分かるか。結果の途中や選別条件を混ぜていないか。
- 同時施策、群間への波及、欠測で比較が崩れないか。
- 仮定が外れたら、結論はどの方向にどれくらい変わりそうか。
推定値の区間が狭くても、比較の仮定が正しいとは限りません。「この条件なら、この対象の平均効果をこう推定できる」と報告することで、次に何を確かめるかを選びやすくなります。問い全体の整理には統計の判断ガイド、実験結果の差と区間の読み方にはA/Bテストの統計学がつながります。