Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文紹介: オンライン対照実験における尺度解釈の12の落とし穴

論文紹介: オンライン対照実験における尺度解釈の12の落とし穴

社内 LT の資料

Kenta Murata

October 25, 2017
Tweet

More Decks by Kenta Murata

Other Decks in Technology

Transcript

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  17. Local Feature and

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

    View full-size slide

  18. 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

    View full-size slide

  19. Metric Sample Ratio Mismatch

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  27. 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

    View full-size slide

  28. Misinterpretation of Ratio Metrics

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  38. Telemetry Loss Bias

    View full-size slide

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

    View full-size slide

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

    → telemetry loss

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  46. Assuming Underpowered Metrics

    had no Change

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  50. Claiming Success with

    a Borderline P-value

    View full-size slide

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

    View full-size slide

  52. Continuous Monitoring and

    Early Stopping

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  58. Assuming the Metric Movement is
    Homogeneous

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  62. Segment Interpretation

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  67. Impact of Outliers

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  71. Novelty and Primacy Effects

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  74. Incomplete Funnel Metrics

    View full-size slide

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

    View full-size slide

  76. Failure to Apply Twyman's Law

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  80. 参考文献
    • 原論文
    ‣ 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

    View full-size slide