appricot’s diary

日々の勉強のメモ

NetflixにおけるQuasi Experimentation (準実験) ==> 読後メモ

元の記事

Netflixにおける準実験について書かれた記事を、要約。

Quasi Experimentation at Netflix. Colin McFarland, Michael Pow, Julia… | by Netflix Technology Blog | Netflix TechBlog

Key Challenges with Quasi Experiments at Netflix | by Netflix Technology Blog | Netflix TechBlog

 

問題

  • ABテストは便利だが、場合によっては、ランダムに個人を選ぶようなABテストができない場合がある。
  • ランダムにユーザを選んだとしても、ユーザ毎の噂話やマスメディアの影響、Netflix自体が出すランキングの影響というのは、排除できない。
  • 例えば、特定の作品について、(1) Netflix内部で宣伝した場合と、(2) 屋外で宣伝した場合、両方を実施した場合の効果はどうなるのか? (1)(2)の効果の和が宣伝効果になるのか、それとも(1)(2)双方の宣伝効果は打ち消しあうのか?
  • ランダムに選んだユーザのみに屋外宣伝する・・というのは不可能。ABテストは利用できない。

 

準実験 (Quasi Experimentation)

  • ABテスト(RCT)が実施できない場合に、介入効果を計測するのに利用する様々な方法を、まとめて準実験と呼ぶ。
  • 上記の例の場合、特定の時期のControl地域と、Test地域の差を見ることで、効果を特定する。これを準実験と呼ぶ。
    • Control地域では屋外宣伝を常にしない。Test地域では、特定期間のみ屋外宣伝を実施。
    • 特定期間以外での、Control地域での作品の人気度と、Test地域での作品の人気度を比較することで、地域差を理解できる。
    • 特定期間に、地域差以上に、人気度合いに差がでていれば、これが、屋外宣伝の効果ということになる。
  • このような準実験を容易にするために、Quasimodeというプラットフォームを作成して運用。

 

準実験における課題

  • 都市の数は限りがある。その中から、同じような複数の都市を選び、Test  GroupとControl Groupに分けたい。しかし、そのような「同じような都市」を定義するのが難しい。
  • 例:  あるSF映画のイギリスでの宣伝効果を知りたい。
    • 仮に、イギリス内の各都市をランダムに分けて、準実験を実施したとする。
    • しかし、ロンドンという都市は、他の都市と比べて、SFジャンルを好きな人が多い(交絡因子)。この事実を無視して、ロンドンが、Test groupに割り当てられたとしたら、あるSF映画の宣伝効果が高く見積もられすぎてしまう恐れがある。
    • このような交絡因子を、テスト設計段階で把握することは困難。

 

解決策1:  Repeated randomizations (Or re-randomization)

  • 同じような分布をもつ都市間での比較になるまで、ランダムに都市選択を繰り返す。
  • しかし、各都市で、分布が同じになるように調整できる属性・変数の数は、限りがある。あらゆる属性の分布を、2都市間で同じにする・・というのは困難。
  • 加えて、 サンプルサイズ(都市そのものの数)が小さいので、テスト結果に、相応のバラツキが生じうる。

 

解決策2: DID (Diff-in-Diff, 差分の差分法)

  • 介入前にControl groupとTest groupの広告効果を比較。Baselineとなる差を捉える。
    • Control groupでは、広告なし。Test groupでは、広告あり。
  • 介入後にControl groupとTest groupの広告効果を比較。Baselineを超えるような差が、介入の効果。
  • このような比較であれば、パリとリヨンのように、人口が異なる2都市を、Test group, Control groupに選んでも、広告効果を比較することが可能。

 

解決策3: Multiple interventions

  • テスト期間を、可能な限り長くとる。
  • その間に、複数回の介入を、それぞれのグループに実施。
    • 例えば、広告の効果を知るために、広告のOn/Offを、繰り返し実施。
  • 結果に対し、動的線形モデル、状態空間モデルなどをFittingさせて、介入効果を見る。
    • (補足) おそらく、Test group都市とControl group都市で、ユーザ属性分布が異なったり、タイミングによって広告効果に影響を与えるような外部要因があったとしても、それら自体を、動的線形モデルの1変数に組み込んでモデル化すれば、広告効果の比較ができる・・という意図ではないかと推測。
  • この方法は、テスト対象の都市数が少なくても、うまくいく。

 

解決策4: 過去の類似作品のデータを利用する方法

  • 仮に、Netflixで放映する作品の新作の広告効果を、リリース前に知りたい場合、どうするか?解決策2,3のようなHistricalデータを用いた方法が使えず。
  • この場合、放映する新作と類似の過去作品のデータを利用する。
    • もしくは、同じジャンルの過去作品など。

 

Impression

  • DIDは、現実的に利用できそう。
  • 過去の類似作品のデータを用いる場合、類似度をどのように定義するのか・・は、議論がありそう。