Slide 1

Slide 1 text

A Dirty Dozen: Twelve Common Metric Interpretation Pitfalls in Online Controlled Experiments Kenta Murata Speee Inc. 2017.10.25 オンライン対照実験における尺度解釈の12の落とし穴 論文紹介

Slide 2

Slide 2 text

どんな論文? • Microsoft で実施された何千ものオンライ ン対照実験から得られた知見の共有 • やってしまいがちな尺度の誤解釈を12パ ターン紹介 • どうして起きるか、どうやって回避できる かを解説

Slide 3

Slide 3 text

https://twitter.com/TJO_datasci/status/919615942644023296

Slide 4

Slide 4 text

目次 • オンライン対照実験 • 尺度の分類 • 12の落とし穴 • まとめ

Slide 5

Slide 5 text

オンライン対照実験 • A/B テストと呼んでいるもの • オンライン製品の新機能の有効性を調 査する方法 • 「対照実験」という語は治験から来て いる

Slide 6

Slide 6 text

対照実験 • 試験対象の新しい治療方法について2つの群 A, B を用意する • A: 対照群 (control group) ‣ 新しい治療を受けない群 • B: 治療群 (treatment group) ‣ 新しい治療を受ける群

Slide 7

Slide 7 text

オンライン対照実験 • 試験対象の新機能について2群を用意 • A: 対照群 (control group) ‣ 新機能が入ってない現在の状態を見せるユーザ群 • B: 治療群 (treatment group) ‣ 新機能を加えた状態を見せるユーザ群

Slide 8

Slide 8 text

A と B の差異 • 実験が正しく設計され、正しく実施されれば、 A と B の違いは新機能の存在のみである • 外部要因 (季節性、最近増えた他の新機能の影 響、ライバル製品の動向など) ‣ A と B の観測が同時に実施されれば、両方にほと んど同じだけ影響を与えるので、実験結果に意味 のある影響はないだろう

Slide 9

Slide 9 text

A と B の尺度の差 • A と B の間に生じる尺度の差は、純粋 に新機能の存在に起因するはず • 製品に加えられた変更と、ユーザの行 動の変化の間の因果関係を確立する ⬇

Slide 10

Slide 10 text

尺度の分類 • Microsoft では数百もの尺度が算出されている ‣ デプロイの判断のために直接参照するのは一握り ‣ しかし、正しく判断するためには他の尺度が必要 • 尺度を分類することで、異なる種類の尺度間で 明確な役割分担ができ、実験結果を解釈すると きの使い方まで定まる

Slide 11

Slide 11 text

4種類に分けて考える • Data Quality Metrics • Overall Evaluation Criteria (OEC) Metrics • Guardrail Metrics • Local Feature and Diagnostic Metrics

Slide 12

Slide 12 text

Data Quality Metrics • 実験結果を信用して良いかどうか判断 するための尺度 • 新機能の実装バグなどの問題に対する 警報として機能する • 網羅的な Data Quality Metrics の集合 を持っていれば、後述する尺度解釈の 落とし穴を特定しやすくなる

Slide 13

Slide 13 text

Data Quality Metrics の例 • 対照群と治療群のユーザ数の比率 ‣ Sample Ratio Mismatch (SRM) を検出 する ‣ ほとんどの SRM は深刻な選択バイアス の存在を意味していて、その場合の実験 結果は無効である

Slide 14

Slide 14 text

Overall Evaluation Criteria (OEC) Metrics • 以下の問いに答えるための尺度集合 ‣ 新機能は成功したのか? ‣ 新機能のインパクトはどうだったか?

Slide 15

Slide 15 text

OEC 尺度の性質 • 短期間の実験で計測できる • 同時に、長期のビジネス価値とユーザの満足度を 暗示する • 1製品に1つの OEC 尺度を持つのが理想 ‣ 他の2-3の尺度による複合尺度でも良い • 良い OEC の設計は難しい

Slide 16

Slide 16 text

Guardrail Metrics • 成功を直接示さないが、リリース判断 の時に悪い値を示していてほしくない 尺度の集合 • 例: Page Load Time (PLT)

Slide 17

Slide 17 text

Local Feature and
 Diagnostic Metrics • Local Feature Metrics ‣ 特定の機能の使われ方や機能性を計測する尺度 - 例: 要素ごとの CTR、ファネルのステージを通過したユーザの割 合、など ‣ 治療群において、この尺度の予期せぬ向上は、治療群の変更に よる副作用が原因かもしれないので、解釈に注意を要する • OEC のための Diagnostic Metrics ‣ OEC の変化 (または不変) の原因の理解を助ける尺度

Slide 18

Slide 18 text

12の落とし穴 1. Metric Sample Ratio Mismatch 2. Misinterpretation of Ratio Metrics 3. Telemetry Loss Bias 4. Assuming Underpowered Metrics had no Change 5. Claiming Success with a Borderline P-value 6. Continuous Monitoring and Early Stopping 7. Assuming the Metric Movement is Homogeneous 8. Segment Interpretation 9. Impact of Outliers 10.Novelty and Primacy Effects 11.Incomplete Funnel Metrics 12.Failure to Apply Twyman's Law

Slide 19

Slide 19 text

Metric Sample Ratio Mismatch

Slide 20

Slide 20 text

Metric Sample Ratio Mismatch • 尺度サンプル比率の不一致 • 尺度を求める際に使えるサンプル比率 が対照群 A と治療群 B で一致しない

Slide 21

Slide 21 text

MSN における MSRM の例 • 新機能: リンク先を新規タブで開く • 実験結果: 治療群のページ読み込み時間 (Page Load Time: PLT) が 8.32% 増えた • なぜ? PLT = Sum of each page load time Total number of page loads

Slide 22

Slide 22 text

PLT 増加の原因 • 治療群のページ読み込み総数は対照群よりも 7.8% 少なかった • 「新規タブ」と「戻るボタン」の影響 ‣ 対照群では、戻るボタンで前のページに戻るとページ読み込みが 発生し、ブラウザのキャッシュを使うので小さい読み込み時間が 発生する ‣ 治療群では、戻るボタンを押さず前のページのタブを開くので、 前のページに戻るためのページ読み込みが発生しない ‣ 治療群では、戻るボタンによる小さなページ読み込みが存在しな いため、対照群よりも PLT が大きくなる

Slide 23

Slide 23 text

MSRM と SRM の違い • Sample Ratio Mismatch の発生は実 験全体を無効にする • Metric Sample Ratio Mismatch の発 生は通常は尺度のみ無効にする

Slide 24

Slide 24 text

MSRM の要因になるもの • ユーザの行動の変化 • An different loss ratio of telemetry between control and treatment • 新機能の間違った instrumentation • 以降で紹介する他の落とし穴

Slide 25

Slide 25 text

MSRM の不認識による問題 • 尺度がサンプル比率の不一致に影響されるこ とを認識していないと次の間違いを招く可能 性がある ‣ リリース判断の間違い ‣ 調査の方向性の間違い ‣ 実験の影響の誤推定

Slide 26

Slide 26 text

MSRM が起きたらどうする? • 次の2つを実現するために尺度を分解する (1)尺度のどの部分が異なっているか理解する (2)MSRM に影響されず信頼できる部分を分離する • 分解された尺度の詳細はケースバイケースで変 化する • 分子と分母を分けることから始めると良い

Slide 27

Slide 27 text

MSN の例の PLT を分解してみる • Homepage PLT 1. Average homepage PLT per user a. Average homepage PLT per user with 1 homepage visit b. Average homepage PLT per user with 2+ homepage visits 2. Number of homepage loads per user a. Number of back-button loads b. Number of non-back-button loads i. PLT for non-back-button loads

Slide 28

Slide 28 text

Misinterpretation of Ratio Metrics

Slide 29

Slide 29 text

Misinterpretation of Ratio Metrics • 比率尺度の誤解釈 • 比率尺度の変化と、実際の変化が一致 しない

Slide 30

Slide 30 text

MSN での例 • 治療群: メインコンテンツの下の方に あるモジュールを上の方に移動した • 治療群の CTR が 40% 落ちた!!1

Slide 31

Slide 31 text

尺度の定義 Avg CTR/user = P u2users CTR(u) #users CTR( u ) = #click on the module by the user u #impressions of the module

Slide 32

Slide 32 text

40% 減少の意味 • MSRM は起きていない • 尺度の変化は治療群に加えられた変化 に起因するものと検証された • 治療群が良くないことを表すのか?

Slide 33

Slide 33 text

分子と分母を分けて見る • CTR(u) の分子と分母を分けて調査 ‣ 分子と分母の両方が対照群より改善されていた ‣ しかし、分母の変化が分子より大きかった ‣ だから、比率で見たときに減ってしまった CTR( u ) = #click on the module by the user u #impressions of the module

Slide 34

Slide 34 text

この例の正しい解釈 • ページ全体の CTR に変化はない • モジュールのクリック数は増えている • 実験は成功 → 治療群の方が良い

Slide 35

Slide 35 text

比率尺度の2種類の計算式 • 比率の平均 ‣ 例: 今見たやつ (ユーザ CTR の平均値) • 平均の比率 ‣ 例: #clicks from all users #page view from all users

Slide 36

Slide 36 text

(A) 比率の平均 の方が有利 • 変化に敏感である • 外れ値に強い ‣ 各ユーザの行動の重みが均等化されている • MSRM に悩まされにくい ‣ 分母のユーザ数が実験の制御量だから • 分散を計算できる

Slide 37

Slide 37 text

比率尺度の分母の不一致の検出 • 分母と分子それぞれの計数尺度を比率 尺度と同時にトラッキングすること

Slide 38

Slide 38 text

Telemetry Loss Bias

Slide 39

Slide 39 text

Telemetry Loss Bias • 遠隔測定ロスによるバイアス • モバイル端末上での計測結果の集計ロ スに起因して発生する

Slide 40

Slide 40 text

モバイル端末上での計測 • 通信帯域の利用を最適化するため、端末上で発生し た計測対象のイベントをバッファに溜め置いて、 WiFi 接続時にバッチ送信する • バッファの容量は有限なので、しばらく WiFi に接 続されずバッファが満杯になると古いものを捨てる • 捨てられたイベントは計測されず失われる
 → telemetry loss

Slide 41

Slide 41 text

Skype での例 • iPhone アプリにおける通知配信の信頼性向上を目的 とするプッシュ通知配信プロトコルを変更する実験 • メッセージ関連の尺度に影響があると予想していた が、電話関係の尺度に影響があるとは想定していな かった • しかし、いくつかの電話関係の尺度に統計的に有意 な変化が発生し、しかも典型的な「向上」もしくは 「悪化」のパターンには従わない変化だった

Slide 42

Slide 42 text

何が悪かったのか? • プッシュ通知によってアプリがバックグラウン ドで立ち上がり数秒間動き続ける • その間、端末が WiFi に接続されていると、蓄 積された計測イベントのバッチ送信が発生する • そのため、治療群における telemetry loss が 減少し、いくつかの尺度で MSRM が発生した

Slide 43

Slide 43 text

Telemetry loss bias の影響 • Telemetry loss が変化したイベント に依存する尺度が無効になる • Telemetry loss を見過ごすと、間違っ たリリース判断を招く可能性がある

Slide 44

Slide 44 text

Telemetry loss bias を防ぐ • 尺度のために計測される全てのイベン トについて、イベントの計測ロスを図 る Data Quality 尺度を作ること

Slide 45

Slide 45 text

計測ロスを図る方法 1. クライアント側のイベントに対応するサー バ側のイベントと比較する ‣ サーバ側に対応するイベントがある場合は確 実にこれを利用する 2. イベントにシーケンシャルな番号を付ける ‣ サーバ側に対応するイベントがない場合に こっちを採用する

Slide 46

Slide 46 text

Assuming Underpowered Metrics
 had no Change

Slide 47

Slide 47 text

Assuming Underpowered Metrics had no Change • 検出力が小さい尺度を変化なしと仮定 してしまう問題

Slide 48

Slide 48 text

MSN での実験の例 • 治療群におけるユーザ毎の総 PV が対照群よりも 0.5% 増えた • MSN のように成熟したサイトでは、総 PV の 0.5% の変化は十分意味のある影響だと考えられる • しかし p 値を見ると統計的に有意ではなかった • より詳しく調べると、実験は十分な検定力を持つ設 定になっていなかった

Slide 49

Slide 49 text

検定力 • 検定力 (statistical power): 帰無仮説を棄 却し、対立仮説が真であると言える確率 • 検定力が 80% より小さい場合、第2種の 過誤 (偽陰性) を犯す可能性が高くなる • 事前に検定力分析をして、十分なサンプル サイズを推定しておく必要がある

Slide 50

Slide 50 text

Claiming Success with
 a Borderline P-value

Slide 51

Slide 51 text

Claiming Success with a Borderline P-value • きわどい p 値で実験の成功を主張してしまうこと • 対照実験では、統計的に有意な結果が偶然得られるこ とがある ‣ A/A テストでも統計的に有意な変化が起きる場合がある ‣ 必ず再現性を確認すること • また、p 値は頻繁に御用、誤解釈されているので気を つけるべし

Slide 52

Slide 52 text

Continuous Monitoring and
 Early Stopping

Slide 53

Slide 53 text

Continuous Monitoring and Early Stopping • 継続監視と早期停止 • 継続監視: 予定期間、予定のサンプル 数を超えても実験を継続すること • 早期停止: 予定期間、予定のサンプル 数を満たす前に実験を中断すること

Slide 54

Slide 54 text

例1 • Being で実施された、新しいランキング アルゴリズムの2週間の評価実験 • 1週間後、鍵となる成功尺度が統計的に 有意な向上を見せた • さて、この時点で実験を止めて良いか?

Slide 55

Slide 55 text

例2 • Xbox における、マルチユーザゲームで悪い行いを してサスペンドされたユーザへの tips 教示の、2 週間に渡る評価実験 • 目的: カスタマーサポートの電話呼び出しを減らす こと • 2週間後、電話での呼び出し回数は変化しなかった • その後も実験を継続して良いだろうか?

Slide 56

Slide 56 text

どちらもダメ • 帰無仮説検定における標準的なシナリオにおい て、早期停止も継続監視もやってはならない • 早期停止と継続監視は、第1種の過誤 (偽陽性) を発生させてしまう • 偽陽性は、実際には効果がない変更を加えてリ リースしてしまう危険性がある

Slide 57

Slide 57 text

早期停止が許される場合 • 治療群がユーザの満足度を著しく低下 させていることが分かった時

Slide 58

Slide 58 text

Assuming the Metric Movement is Homogeneous

Slide 59

Slide 59 text

Assuming the Metric Movement is Homogeneous • 尺度の変化が均質的であると仮定して しまうこと • 実際には、同じページの尺度が、ペー ジが表示されるコンテキストに依存し て異なる振る舞いを見せることがある

Slide 60

Slide 60 text

Being での例 • 尺度: 広告の表示数 • ページ内の広告表示数が 0.6% 悪化していた が、調べてみると・・・ ‣ ページが最初に表示された場合の広告表示数は 0.3% 向上していた ‣ ページ内のリンクをクリックし、その後「戻る ボタン」によって元のページに戻った場合の広 告表示数は 2.3% も悪化していた

Slide 61

Slide 61 text

よくある不均質性 • 異なる国に属するユーザが異なる振る 舞いを見せる • 機能が特定のブラウザの特定のバー ジョンだけで異なる振る舞いを示す

Slide 62

Slide 62 text

Segment Interpretation

Slide 63

Slide 63 text

Segment Interpretation • ユーザのセグメンテーションに対する解釈の問題 • ユーザのセグメンテーションの例 ‣ 国 ‣ デバイスの種類 ‣ OS ‣ アプリのバージョン ‣ ユーザ登録からの日数

Slide 64

Slide 64 text

Being での例 • 検索結果順位づけの新しいアルゴリズムの試験におい て、対照群と治療群のそれぞれでユーザを2群に分けた ‣ U1: 検索結果にディープリンクを表示 ‣ U2: ディープリンクを表示しない • 治療群において、U1 と U2 の両方で sessions per user が向上したが、全ユーザ (U1 + U2) で見ると統 計的に有意な変化はなかった

Slide 65

Slide 65 text

Simpson’s Paradox • 母集団での相関と、母集団を分割した集 団それぞれにおける相関は異なっている 場合がある。 • 統計的に有意な変化が得られるまでユー ザのセグメンテーションを繰り返してい ると、このパラドックスに落ちる

Slide 66

Slide 66 text

多重比較問題 • これは多重比較問題の一種であり、偽陽性の可能性を増やす • 有意水準 (偽陽性率) を α = 0.05 (=1/20) とし、ユーザを 20セグメントに分けて、各セグメントが独立であるとする • 純粋な確率論として、1つのセグメントが統計的に有意な変 化を見せる可能性がある • Bonferroni 補正で有意水準を補正する ‣ セグメントが20個ある場合は、有意水準を20で割るか、p 値 を20倍する

Slide 67

Slide 67 text

Impact of Outliers

Slide 68

Slide 68 text

Impact of Outliers • 外れ値の影響 ‣ 尺度を歪める ‣ 分散を増加させる ‣ 結果として、統計的に有意な結果が得ら れなくなる

Slide 69

Slide 69 text

外れ値の取り除き方 • Trimming ‣ 外れ値を取り除く • Capping ‣ 固定値で置き換える • Winsorizing ‣ 特定のパーセンタイルの値で置き換える ‣ (Charles P. Winsor さんの名前から命名された)

Slide 70

Slide 70 text

外れ値に影響されにくい統計量 • 平均値 → 中央値 • 分散 / 標準偏差 → 四分位間隔 (IQR) • 最小値 → 5パーセンタイル • 最大値 → 95パーセンタイル

Slide 71

Slide 71 text

Novelty and Primacy Effects

Slide 72

Slide 72 text

Novelty and Primacy Effects • 新規性による効果と本質的な効果の区別 • 人は新しいものが好きなので、新機能はリリース当初 はよく試してもらいやすい • リリース初期に見られた効果がずっと継続するかどう かは、実験を継続しないとわからない • 逆に、リリース初期には全く影響は見えないが、時間 が経ってから少しずつ効果が現れてくるものもある

Slide 73

Slide 73 text

新奇効果の切り分け • 実験の全期間の観測を累積した尺度だけを見ていると 切り分けできない • 日時でセグメントを切って比較することで切り分けで きる可能性がある ‣ 例: 1日目は向上しているが、2日目以降は減少している • 短期ウィンドウと長期ウィンドウでの比較 ‣ 例: 短期では向上しているが長期では変化なし

Slide 74

Slide 74 text

Incomplete Funnel Metrics

Slide 75

Slide 75 text

Incomplete Funnel Metrics • 不完全なファネル • 最終ゴールでの尺度だけではなく、 ゴールに至るまでのステップを分解し てファネルを作り、各段階で尺度を追 跡する必要がある

Slide 76

Slide 76 text

Failure to Apply Twyman's Law

Slide 77

Slide 77 text

Failure to Apply Twyman's Law • Twyman’s Law の応用、つまり予期せ ぬ尺度の変化から問題を特定すること に失敗する • 致命的な問題を含んだバージョンをリ リースしてしまう危険性がある

Slide 78

Slide 78 text

どうやって防ぐか • 予期しない変化を検出する仕組みを作る ‣ 適切なセグメント分けの集合 ‣ 適切な OEC ‣ 変化を検出してアラートを出す仕組み ‣ アラートに応じて実験を中断する仕組み

Slide 79

Slide 79 text

まとめ • Microsoft でのオンライン対照実験で 観察された、尺度解釈における12の一 般的な落とし穴を紹介した

Slide 80

Slide 80 text

参考文献 • 原論文 ‣ http://www.kdd.org/kdd2017/papers/view/a-dirty-dozen-twelve-common-metric- interpretation-pitfalls-in-online-contro • 論文の解説ブログ記事 ‣ https://blog.acolyer.org/2017/09/25/a-dirty-dozen-twelve-common-metric- interpretation-pitfalls-in-online-controlled-experiments/ ‣ http://sucrose.hatenablog.com/entry/2017/10/15/234947 • Twyman’s Law ‣ http://www.exp-platform.com/Documents/TwymansLaw.pdf • オンライン対照実験について • https://hbr.org/2017/09/the-surprising-power-of-online-experiments