PDCAサイクルにおいて、バイアスを除去した効果検証(Check)を行うためにはどのようなPlanningを行う必要があるかをまとめる。

要約

以下のいずれかに該当するようにテストを設計する

施策の対象者の選択(介入)ロジック指標の予測可否介入条件の予測可否介入群と同様なトレンドの群がある介入を連続値の閾値で決定している効果検証手法
完全ランダム----無作為化比較試験
人為的---回帰分析
人為的不可--傾向スコアマッチング
人為的不可不可はい-Causal Impact
人為的不可不可いいえはい回帰不連続デザイン

a. 無作為化比較試験(A/Bテスト)

適用ケース

  • 無作為に適用される施策であること
    ex.トップページのデザイン変更
  • ユーザーアカウントがテスト/コントロール群のどちらに割り振られたかがデータからわかること

特定の条件を満たしたユーザーにのみ影響する施策は選択バイアスを考慮する必要があるためこの手法は使えない。
ex. アンケートに回答したユーザーにクーポンを送付、クーポンの売上への貢献度を調べたい場合など。
アンケートに回答している時点で購入意欲が高く、クーポン有/無のグループの性質が異なっているため比較ができない。

このケースでA/Bテストを適用したければ アンケートに回答したユーザーからランダムでクーポン配布 とすれば選択バイアスを打ち消せるが、サンプル数確保、ユーザー体験、ビジネス機会損失などを考慮する必要がある。

検証手順

  1. 施策によって改善される指標を決定 (PdM) ex. 訪問頻度、滞在時間

  2. テスト群の割合、テスト期間の決定(PdM, DS) 施策が適用される人数 (ex. テスト期間中における新トップページのアクセスUU数) が1000人を超えるように見積もる

  3. A/Bテストの実施 (Dev) LaunchDarklyなどを用いる

  4. 統計的仮説検定 (DS)

p-hacking回避のため、2で決めたテスト期間の終了時に一度だけ検定を行う。

再テストを行う際はボンフェローニ法を適用する

p値が所定の値 (ex. 0.05) よりも小さければ施策の効果ありと判定する。
所定の値よりも大きい場合は非劣勢検定を行い、こちらで有意差ありの場合は施策の効果なしと判定する。 有意差有りと判定された場合、コントロール群とテスト郡の指標の平均の差をこの施策の効果とみなす


b. 回帰分析

適用ケース

  • 施策によって改善したい指標が、他のどのようなパラメータ(共変量)と相関があるかが判明していること
    ex. アンケート回答者にクーポンを配布することで再購入率を上げたい。再購入率は年齢・性別・平均購入金額・購入回数から高い精度で予測できることがわかっている
  • 施策が適用されたユーザーと適用されていないユーザー両方の共変量データがあること

検証手順

  1. 施策によって改善される指標を決定 (PdM)
    ex. 再購入率

  2. 共変量の探索とモデル作成(DS)
    介入以前のデータを用いて、共変量から指標を予測するモデルを機械学習などで作成する。
    ex. 再購入率を目的変数、年齢・性別・平均購入金額・購入回数を特徴量としたRandomForestRegression

  3. 施策の実施

クーポンを配布したユーザーを介入群、していないユーザーを対照群と呼ぶ

  1. 回帰分析 (DS) 介入群と対照群それぞれに2のモデルを適用し、予測結果の差をこの施策(介入)の効果とみなす。

c. 傾向スコアマッチング

適用ケース

  • 介入が行われるかどうかを予測するモデルが作れること
    ex. アンケート回答者にクーポンを配布することで再購入率を上げたい。アンケートに回答するかどうかはログイン頻度と購入回数から高い精度で予測できることがわかっている。

検証手順

  1. 施策によって改善される指標を決定 (PdM)
    ex. 再購入率

  2. 施策の実施

クーポンを配布したユーザーを介入群、していないユーザーを対照群と呼ぶ

  1. 傾向スコアの算出(DS)
    介入を予測するモデルを機械学習などで作成する。
    ex. アンケート回答(0/1) を目的変数、ログイン頻度・購入回数を特徴量としたRandomForestRegression

  2. 傾向スコアマッチング (DS)
    介入群と対照群から傾向スコアが等しい(極めて近い)ユーザーを抽出してペアを作り、そのペアにおける指標の差の平均を施策の効果とみなす。


d. DID法/Causal Impact

適用ケース

  • 改善したい指標の長期時期列データがあること
  • 介入群と同様のトレンドの対照群があること
    ex. 過去10年間、X市はY市の2倍の出生数となっている。昨年からX市において少子化対策に大幅な予算投下を行った。

検証手順

  1. 施策によって改善される指標を決定 (PdM)
    ex. 出生数

  2. 施策の実施

  3. Causal Impact
    対称群から介入群のトレンドへの変換式を作り、介入が行われなかった場合の予測値を算出する。
    例の場合、X市で施策を行わなかった場合はこれまで通りY市の2倍の出生数であったと仮定できるため

{今年のX市の出生数} - {今年のY市の出生数} x 2 を施策の効果とみなす。


e. 回帰不連続デザイン

適用ケース

  • 介入の有無を閾値で決定していること
    ex. 年間購入金額1万円以上のユーザーにクーポンを配布することで再購入率を上げたい。

年間購入金額や再購入率を予測できる場合はこちらではなく回帰分析や傾向スコアマッチングを使う

検証手順

  1. 施策によって改善される指標を決定 (PdM)
    ex. 再購入率

  2. 施策の実施

  3. 回帰不連続デザイン (DS)

年間購入金額 9500~10000円のユーザーと10000円~10500円のユーザーはほぼ同質であると仮定し、それぞれをコントロール群/テスト群とみなして無作為化比較試験と同様にp値の算出を行う。

注:閾値から遠いユーザーの場合はこの分析の結果が当てはまらない場合がある