ひとことで言うと#
ある**介入(施策・政策変更・イベント)**の前後で、時系列データのトレンド(レベルと傾き)にどんな変化が起きたかを統計的に評価する因果推論手法。A/Bテストが実施できない状況でも、介入の効果を準実験的に推定できる。
押さえておきたい用語#
- 介入(Intervention)
- 分析対象となる施策・政策変更・プロダクト変更など。この介入が時系列トレンドに影響を与えたかどうかを検証する。
- レベル変化(Level Change)
- 介入直後に起きる、時系列データの水準の急激なシフト。即時効果とも呼ばれる。
- 傾き変化(Slope Change)
- 介入後に起きる、時系列データのトレンド(増減の速度)の変化。持続効果や累積効果を表す。
- 反事実(Counterfactual)
- 「もし介入がなかったら、データはどうなっていたか」という仮想的なトレンドライン。介入効果は観測値と反事実の差として推定される。
- セグメント化回帰(Segmented Regression)
- 介入前と介入後でそれぞれ別の回帰直線を当てはめ、レベル変化と傾き変化を推定する統計モデル。ITSの最も基本的な分析手法。
分断時系列分析の全体像#
こんな悩みに効く#
- 全ユーザーに同時に施策を適用したため、A/Bテストでは効果を測れない
- 法律や制度の変更が業績にどう影響したかを定量的に評価したい
- 「施策を打った後に改善した」のが、施策のおかげか時間のおかげか区別できない
- 観測データしかない状況で、できる限り因果に近い推定をしたい
基本の使い方#
介入の前後で、アウトカム指標の時系列データを十分な期間・十分な頻度で収集する。
- 介入前のデータ点は最低8〜12ポイントが望ましい(月次なら8〜12か月、週次なら8〜12週)
- 介入後も同程度のデータ点を確保する
- データの頻度(日次・週次・月次)は、介入効果が現れるまでの時間スケールに合わせる
- 季節性がある場合は、1年以上のデータを確保するか、季節調整を行う
介入前と介入後で別々の回帰直線を当てはめ、レベル変化と傾き変化を推定する。
基本モデル: Y = β₀ + β₁(時間) + β₂(介入ダミー) + β₃(介入後の時間) + ε
- β₂: レベル変化(介入直後の即時効果)
- β₃: 傾き変化(介入後のトレンド変化、持続効果)
- 自己相関に注意する。時系列データでは隣接する値が相関するため、Newey-West標準誤差やARIMAモデルの使用を検討する
推定されたレベル変化と傾き変化の統計的有意性と実質的意味を評価する。
- レベル変化のみ有意: 介入で一時的にジャンプしたが、その後のトレンドは変わっていない
- 傾き変化のみ有意: 即時効果はないが、徐々に効果が累積している
- 両方有意: 即時効果があり、かつ持続的に改善(または悪化)している
- 効果量の実質的意味も考える。統計的に有意でも、ビジネスインパクトが小さければ意味がない
ITSの結果が因果推論として妥当かどうかを、複数の方法でチェックする。
- 平行トレンド仮定: 介入前のトレンドが安定していたか確認する。介入前からトレンドが変化していた場合、介入効果と区別できない
- 同時期の他のイベント: 介入と同時期に別の大きな変化(競合参入、季節要因、法改正など)がなかったか確認する
- 対照群の活用: 介入を受けていないグループのデータがあれば、比較することで結果の頑健性が増す(CITS: Controlled ITS)
- プラセボテスト: 介入のなかった時点を「偽の介入時点」としてモデルを回し、有意な効果が出ないことを確認する
具体例#
サブスクリプション型SaaS(月額課金)が料金プランを改定し、最安プランを月額980円→1,480円に値上げした。全ユーザーに同時適用されたためA/Bテストは不可能。値上げが解約率に悪影響を与えたか、それとも許容範囲だったかを評価したい。
データ: 月次の解約率を値上げ前18か月、値上げ後12か月分収集。
セグメント化回帰の結果:
| パラメータ | 推定値 | p値 | 解釈 |
|---|---|---|---|
| 介入前トレンド(β₁) | -0.08%/月 | 0.02 | 値上げ前から解約率は微減傾向 |
| レベル変化(β₂) | +1.2% | 0.01 | 値上げ直後に解約率が1.2%上昇 |
| 傾き変化(β₃) | -0.15%/月 | 0.04 | 値上げ後、解約率の低下速度が加速 |
解釈: 値上げ直後に1.2%の一時的な解約率上昇があったが、その後は解約率が以前より速いペースで低下。値上げ後8か月で反事実(値上げしなかった場合の予測値)を下回った。
ビジネス判断: 一時的な解約増加による損失は約420万円。一方、値上げによる年間増収は約3,800万円。ROIは十分にプラス。値上げに耐えた顧客は価格感度が低い優良顧客であり、LTVも向上していた。
ある自治体が通学路の制限速度を40km/h→30km/hに引き下げた。この施策が交通事故件数にどの程度影響したかを評価するよう、議会から求められた。
データ: 月次の通学路における交通事故件数を、施策前24か月、施策後18か月分収集。
分析結果:
| パラメータ | 推定値 | 95%信頼区間 | 解釈 |
|---|---|---|---|
| 介入前トレンド | -0.05件/月 | [-0.12, 0.02] | 施策前は横ばい傾向 |
| レベル変化 | -2.8件 | [-4.1, -1.5] | 施策直後に月あたり約3件減少 |
| 傾き変化 | -0.18件/月 | [-0.32, -0.04] | 施策後も継続的に減少 |
妥当性の検証:
- プラセボテスト: 施策の6か月前を偽の介入時点としてモデルを回したところ、有意な効果は検出されなかった(p=0.72)
- 対照群: 制限速度を変更していない隣接自治体の事故件数は同期間で横ばい → 季節要因や全国的トレンドではないことを確認
- 同時期イベント: 大規模な道路改修や信号設置は行われていなかった
結論: 制限速度の引き下げにより、事故件数が即時に約2.8件/月減少し、さらに月あたり0.18件ずつ追加で減少する持続効果が確認された。18か月間の累積で推定約72件の事故が回避された。
BtoB SaaS企業が、ブログのコンテンツ戦略を**「SEO量産型」から「深堀り専門記事型」に転換した。記事公開頻度を週5本→週2本に減らし、1本あたりの文字数を1,500字→4,000字**に増やした。この戦略転換がオーガニック流入にどう影響したかを評価したい。
データ: 週次のオーガニックセッション数を、戦略転換前20週、転換後16週分収集。
セグメント化回帰の結果:
| パラメータ | 推定値 | p値 |
|---|---|---|
| 介入前トレンド | +120セッション/週 | 0.001 |
| レベル変化 | -850セッション | 0.03 |
| 傾き変化 | +95セッション/週 | 0.01 |
解釈: 戦略転換直後はオーガニック流入が約850セッション減少した(公開頻度が減ったため)。しかし、転換前のトレンド(+120セッション/週)に比べ、転換後のトレンド(+120+95=+215セッション/週)は約1.8倍のペースで成長。
損益分岐点の算出: 反事実を上回るまでの期間: レベル変化の-850セッションを、傾き変化の+95セッション/週で埋めるには約9週間。実際に9週目以降、転換後の実測値が反事実を上回り始めた。
ビジネスインパクト: 16週時点で、反事実と比較して約1,100セッション/週の増加。CV率は**1.8% → 2.4%**に改善(深堀り記事の方がリード獲得に効果的)。総合すると、戦略転換は短期的な一時損失を経て、中長期的に大きなリターンをもたらした。
やりがちな失敗パターン#
- 介入前のデータ点が少なすぎる — 介入前3ポイント程度では、介入前のトレンドを正確に推定できない。最低8ポイント、理想的には12ポイント以上を確保する
- 同時期の他のイベントを考慮しない — 介入と同時に別の変化があった場合、効果を分離できない。同時期のイベントを徹底的にリストアップし、対照群やプラセボテストで検証する
- 自己相関を無視する — 時系列データの標準的な回帰分析は、隣接する値の相関を考慮しないため、標準誤差を過小推定し偽の有意性が出やすい。自己相関に対処した推定方法を使う
- レベル変化だけ見て傾き変化を無視する — 介入直後の変化がなくても、その後のトレンドが変わっていることがある。逆に、直後の変化が大きくてもトレンドが元に戻っている可能性もある。両方を必ず評価する
まとめ#
分断時系列分析は、A/Bテストが実施できない状況で介入の因果効果を推定する強力な手法である。ポイントはレベル変化(即時効果)と傾き変化(持続効果)の両方を評価すること、そして反事実との比較で効果を定量化すること。介入前に十分なデータを確保し、同時期の他のイベントや自己相関に対処することで、観測データからでも因果に近い推定が可能になる。「施策を全員に適用してしまったからA/Bテストできない」で諦める前に、ITSを検討する価値は大きい。