CausalImpactについては、過去にこのブログでも何度か話題にしてきたかと思います。端的に言えば、seasonalityによるバイアスを補正するための実験計画であるDID(Difference in Differences:差分の差分法)によって得られたtest/controlグループの時系列データセットに対して、介入後期間において反実仮想(counterfactual)ベースラインを予測値として与えた上で、これと実測値との差を分析することで介入の因果効果を推定するというものです。以前このブログで取り上げた記事と、ill-identifiedさんの詳細な解説記事とを以下に挙げておきます。
実際の使い方については、このブログで取り組んだ事例の記事を以下に挙げておきます。これはコロナ禍における政府の人流抑制策が、現実としてどれくらいの効果があったかを検証しようとしたものです。
業界全体を見渡してみても、CausalImpactはここ数年広告・マーケティング業界で急速に広まりつつあるみたいなんですね。理由は簡単で、マーケティング分野のデータは時系列で尚且つseasonalityが筆頭に上がるバイアスであり、DID & CausalImpactのコンビネーションはそのようなデータにおいて因果推論する上で最適だからです。特に広告やマーケティング施策などで何かしらの刺激を市場に与えた際のKPIへのアップリフトを、seasonalityを排除しつつ推定したいというケースではDID & CausalImpactほど便利なフレームワークはないと言っても過言ではないでしょう。
……ところが、最近になって思わぬ問題を業界内で耳にするようになりました。それは「使うCausalImpactのパッケージ次第で分析結果が変わる」というもので、しかも場合によっては介入効果の正負自体が変わってしまうという極端な差異が生じることもある、というのです。今回の記事は、そのような事態が起きる要因を推定した上で、同様の問題がOSSでは普遍的に起こり得るという点に注意を促すものです。
続きを読む