Slide 1

Slide 1 text

A/Bテスト周辺と
 Diagnosing Sample Ratio Mismatch in Online Controlled Experiments
 2019-10-16 / KDD2019 読み会 
 紹介者:LINE Data Labs - Motoyuki OKI


Slide 2

Slide 2 text

だれよ?
 ● 大木基至 (@okiyuki99)
 ● 博士(工学)
 ● LINE Data Labs (2019/01 -)
 ○ LINE(Messenger)を担当 
 ● 趣味
 ○ ボードゲーム制作
 ○ 息子と遊ぶ
 
 2 (宣伝1)ピクテル


Slide 3

Slide 3 text

A/Bテストを1枚で
 3 KDD2019 Tutorial Challenges, Best Practices and Pitfalls in Evaluating Results of Online Controlled Experiments - p.13 


Slide 4

Slide 4 text

つまり、
 4
 「ユーザを評価したいプロダクトに正しく(*) 無作為に割り付けで きれば、アウトカム(評価したいメトリック)の差はNew Featureに よるもの」と結論付けれる
 プロダクト改善において、A/Bテストは強力な武器
 *SUTVA + Mean Exchangeability が成り立つ仮定のもとで
 


Slide 5

Slide 5 text

KDD2019 - A/Bテストに関する論文など
 ● Tutorial : Challenge, Best Practices and Pitfalls in Evaluating Results of Online Controlled Experiments
 ● Tutorial : Fundamentals of large-scale sequential experimentation
 ● Shrinkage Estimators in Online Experiments 
 ● The Identification and Estimation of Direct and Indirect Effects in A/B Tests through Causal Mediation Analysis
 ● Diagnosing Sample Ratio Mismatch in Online Controlled Experiments
 5
 *オレンジを1スライド / 青をメインで紹介


Slide 6

Slide 6 text

Tutorial : Challenge, Best Practices and Pitfalls in Evaluating Results of Online Controlled Experiments
 参考 : A/Bテストのベストプラクティスと落とし穴 ~KDD2019 レポート~ - Gunosyデータ分析ブログ
 6 ● なぜA/Bテストは必要?
 ● A/Bテストを実施時に活用で きるフォーマット
 実践的なA/Bテストのノウハウが 公開されています
 GunosyのBlog を
 要チェック!


Slide 7

Slide 7 text

The Identification and Estimation of Direct and Indirect Effects in A/B Tests through Causal Mediation Analysis (Etsy, Inc.)
 Treatment Effect = Indirect Effect + Direct Effect で分解して、New Featureに よる効果を知りたい
 7 T Y :Treatment(Recommend Moduleがある)かどう か(0 or 1)
 事例:Recommend ModuleのA/Bテストで有 意差が検出されなかった
 M Direct Effect
 :アウトカム(CV)
 :Organic Searchのクリック数
 ユーザiのTreatment Effect 
 = + Indirect Effect = 
 Direct Effect = 
 Recommend Moduleの効果 を確認
 Indirect Effect
 Baron-Kenny法の発展 - 一般化回帰モデル 
 Treatment ではないなら Treatment であるなら

Slide 8

Slide 8 text

紹介する論文
 ● A/BテストにおけるSRMの原因総まとめ論文
 ● MSとBooking.comとOutreach.io
 8 3社のコミュニティによ り形成されてる


Slide 9

Slide 9 text

Sample Ratio Mismatch
 サンプルちゃんとランダムに割付できてますか?
 Control(C) : Treatment(T) = 50 : 50 で割当した
 しかし、実際集まったのは、50.2 : 49.8 の割合になっていた
 
 9 49.8%
 50.2%


Slide 10

Slide 10 text

Tが少ないから問題になるの?
 10 シミュレーション1
 C : 1000人 (= 250 * 4 levels)
 T : 1000人 (= 250 * 4 levels)
 
 
 ライト ~ ヘビーの4 Level
 +2.041
 どんなユーザにも魅力的な機 能で + 2 の効果
 Sample Ratio Mismatch


Slide 11

Slide 11 text

11 シミュレーション2
 C : 1000人 (= 250 * 4 levels)
 T : 800人 (= 200 * 4 levels)
 
 +1.965
 Tが少ないから問題になるの?
 ライト ~ ヘビーの4 Level
 どんなユーザにも魅力的な機 能で + 2 の効果
 Sample Ratio Mismatch


Slide 12

Slide 12 text

12 シミュレーション3
 C : 1000人 (= 250 * 4 levels)
 T : 800人 
 (= 50 * 1 level + 250 * 3 levels)
 
 +2.411 !
 Tが少ないから問題になるの?
 ライト ~ ヘビーの4 Level
 どんなユーザにも魅力的な機 能で + 2 の効果
 Sample Ratio Mismatch


Slide 13

Slide 13 text

13 つまり、
 ● シミュレーション2のように異質なユーザが均等に減る分にはメ トリックによっては問題はない(気づかない)
 ○ もちろん度数自体に興味のある場合を除いて
 ● しかし、SRMの発生の多くはシミュレーション3のように均等で はない( = サンプリングバイアスの一種)
 
 Sample Ratio Mismatch


Slide 14

Slide 14 text

14 https://twitter.com/ronnyk/status/932798952679776256 SRMが発生したままだと、各種メトリッ クで有意な差を検出
 データをきれいにした後、各種メト リックはFlatに
 MicrosoftのKohavi氏のTweetより
 とあるA/Bテストで....


Slide 15

Slide 15 text

SRMを検出するには?
 ● 期待割当 = 50:50の割付になってるかを、カイ二乗検定で判定
 15

Slide 16

Slide 16 text

SRM検出されたらどうしたらいいの?
 ● なんで発生したかを明らかにするのはかなり難しい(らしい)
 ○ MSでは、分析者が数日 ~ 数ヶ月かかることも...
 つまり、この論文の貢献は
 ● 複数の実列を交えてSRMが発生したA/Bテストを紹介
 ● SRMの発生原因を分類し、原因調査の勘所とそれらの防止策をまとめた
 16

Slide 17

Slide 17 text

A/Bテストの4STEP
 (1) 実験の割当 
 ● ユーザを2つの実験グループ(C or T)に割り当てる
 (2) 実験の実行
 ● テストのためのコンテンツを配信し、実験に参加できる状態にする
 (3) ログの処理
 ● ユーザの行動ログ等のデータが収集・処理され、集約する
 (4) 分析
 ● 集約したデータを分析する
 
 17 つまり、これらの各ステップに対応

Slide 18

Slide 18 text

SRMの調査
 ● 論文の著者の過去のケースやA/Bテストを行っている分析者 のインタビューも含めた定量&定性調査
 ○ 集めたA/Bテストの数は10,000個…!
 18 MSでのA/Bテストのうち 6% のテストでSRMを検出
 https://www.dropbox.com/s/h0291u1fcqg0eze/SRM%20Int erview%20Guide.pdf?dl=0. インタビュー内容(のキャプチャ) 


Slide 19

Slide 19 text

その1 : Experiment Assign SRM
 
 19 A/Bテスト概要
 msn.com のA/Bテストの前に、A/Aテス トを実施。その中で検知された。なぜ?
 原因
 テスト割当サーバーのバグ。ユーザをラ ンダムに格納されてるバケットの数がC だけ0.1%少なかった
 つまり、C:T = 49.9 : 50
 キーメッセージ 
 テスト割当サーバは、
 (1) 50:50の比率でユーザを割り当てる
 (2) 同じA/Bテストでユーザは常に同じGroupを割り当てる(途中でCからTはだめ)
 (3) 複数A/Bテストが同時にあるとき互いに関連のないテストにのみ割当
 *ランダム割当でそれが守られてないなら、実験が開始されないように制御するべき


Slide 20

Slide 20 text

その2 : Experiment Execution SRM
 
 キーメッセージ
 ● 実験対象になるときの定義(何が起こったらTになるのか)を確認
 ● ただのロギングにも警戒
 ○ New Featureによりログが追加される場合、その分だけStepが増えるためユーザが離脱する可 能性は高まる
 ○ 速度等の性能が悪いと、ロギングの前にユーザが離脱し正しいログが欠損し得る 
 20 A/Bテスト概要
 Skypeの改善に関するテスト。 TはMLを使ってパラ メータをオンライン更新し、通話品質を高める。しか し、全く反対の結果(音声の歪みや遅延が増加)が 示され、さらにセッション数(コール数)がControlと 比べて30%も少なかった。なぜ? 
 原因
 通話セッションの途中で実験のための設定が非 同期にリフレッシュされ、バグにより Tセッション終 了後にCのログに変更された


Slide 21

Slide 21 text

その3 : Experiment Log Processing SRM
 
 21 A/Bテスト概要
 MSNのカルーセルを12→16枚に変更す るテスト。多くのカルーセルを見たほう が、クリック数とTのユーザ数も減少。な ぜ?
 原因
 データ処理の中の別のアルゴリズムの せいで、Tのユーザの一部がbotと分類 され分析対象外になっていた
 
 キーメッセージ ● データ収集のところのSRMを避けるのが難しい(分析者が気づけない)。システムアー キテクチャに依存する ● ログ処理の各要素で除かれてしまったユーザ数もモニタリング

Slide 22

Slide 22 text

その4 : Experiment Analysis SRM
 
 22 A/Bテスト概要
 あるプロダクトのページXに初めて訪れ たユーザに見せる特別ページYをTの ユーザでは省略するテスト。ページYを 見た(Tはしたと想定される)ユーザに絞 り分析したところ、Tのユーザ数が多かっ た。なぜ?
 原因
 ページYのロード時間が長かったことに より、Cでは離脱してるユーザが増えて しまった
 
 キーメッセージ
 ● ユーザを絞る前でSRMが起こってないなら、絞る条件を疑う
 ● 絞る条件が厳しいほどバイアスが発生しがち。条件を緩めて分析したほうが吉
 ○ 例 : あるアクションXをした < アクションXができるページを見た


Slide 23

Slide 23 text

その5 : Experiment Interference SRM
 
 23 A/Bテスト概要
 MS Storeのページデザイン変更のテス ト。Cのユーザが増加。なぜ?
 原因
 検索エンジンのキャンペーン?により、予 期しないURLに強制的にリダイレクトされ てしまった
 キーメッセージ
 ● 影響を受けなかったユーザで分析(しかし、多くの場合テストの再実施が必要)
 ● テストユーザが見るはずだった画面が変更されてないかモニタリング


Slide 24

Slide 24 text

まとめ:SRM原因調査の10のルール 24 1. 分析時のユーザの絞り方を調べよう 
 2. あるユーザセグメントだけに起こってないか 
 3. ある時間セグメントだけに起こってないか 
 4. ログのパフォーマンスメトリクスも確認 
 5. Engagement高い場合は、Engagementが低い ユーザを調べよう(逆も) 
 6. SRMが複数発生してるなら割当システムを疑う 
 7. A/Aテストで発生してるなら割当システムを疑う 
 8. TとCのサンプル比率が大きく異なるなら、ログ処理 時にユーザが除外されている可能性を疑う 
 9. データ収集から集約までのパイプラインを確認 
 10.パイプラインが複数あるなら比較しよう 


Slide 25

Slide 25 text

全体を振り返っての所感
 ● KDDは毎年非常に実践的なA/Bテストの論文が多い
 ● MS中心のコミュニティで規模と量が圧倒的
 ● 不当なA/Bテスト(〇〇バイアス)の検知に関する研究が盛んで ある
 ● A/Bテストはプロダクト改善において非常に重要。各社がA/Bテ スト専用プラットフォームを揃えている
 ● (個人的にも) A/Bテストの分析は予想外の結果が多く、かつプ ロダクト改善に繋がるので楽しい
 25

Slide 26

Slide 26 text

ご清聴ありがとうございました
 2019-10-16 / KDD2019 読み会 
 紹介者:LINE Data Labs - Motoyuki OKI


Slide 27

Slide 27 text

Reference
 ● SRMのシミュレーション例 http://okiyuki99.github.io/HowToR/ex_srm.html
 27