👏

ABテストのメトリクス解釈で陥りがちな12の落とし穴

に公開

はじめに

本記事では、Microsoftが数千の実験から学んだメトリクス解釈の12の落とし穴をまとめた論文「A Dirty Dozen: Twelve Common Metric Interpretation Pitfalls in Online Controlled Experiments」の内容を紹介します。

前提知識:4種類のメトリクスの役割

論文では、ABテストにおける役割に応じてメトリクスを4つに分類しています。

1. Data Quality Metrics

実験が正しく実行されたことを信頼できるかどうかを確認する指標です。最も重要なのはSRM(Sample Ratio Mismatch)です。SRM(Sample Ratio Mismatch:サンプル比率不一致)は、A/Bテストにおいて「本来意図したサンプルの割り当て比率」と「実際に収集されたデータの割り当て比率」が統計的に有意に異なる状態のことを意味します。

2. Overall Evaluation Criteria (OEC) Metrics

処置が成功したかどうかを判定するメトリクスです。

3. Guardrail Metrics

テストされている機能の成功を明確に示すわけではないが、リリース決定を行う際に大きく害を与えたくないメトリクスです。BingやMSNのようなウェブサイトでは、ページロード時間(PLT)は通常Guardrail Metricsとなります。

4. Local Feature and Diagnostic Metrics

OECの動きがどこから来ているかを理解するためのメトリクス。ローカルメトリクスの改善は通常良いことですが、他の関連するローカルメトリクスの劣化を伴うことがよくあると紹介されています。

12の落とし穴

落とし穴1:メトリクスサンプル比率の不一致

概要

メトリクスサンプル比率の不一致とはA/Bテストであるメトリクスの計算対象となるデータセットが処理群と対照群で異なってしまい、そのメトリクスによる公平な比較ができなくなる問題です。

実際の事例

MSN.comホームページでユーザーがリンクをクリックしたときの動作を変更する実験が行われました。対照群では従来通り同じタブでリンク先ページを開き、処置群では新しいブラウザタブでリンク先ページを開くように変更されました。

実験結果の詳細

実験結果では、ページ読み込み時間(PLT)が8.32%悪化していました。
詳細分析により、処置群のホームページ読み込み数が対照群より7.8%少ないことが判明しました。つまり、処置群と対照群で測定対象となるページ読み込みの数自体が異なっていたのです。

問題の本質

対照群では、ユーザーがリンク先から戻る際にブラウザの戻るボタンを使用するため、ホームページの再読み込みが発生していました。この再読み込みはブラウザのキャッシュにより非常に高速でした。

一方、処置群では新しいタブでリンクを開くため、戻るボタンを使用する必要がなく再読み込みが発生しませんでした。

結果として、処置群では高速なキャッシュ読み込みが除外され、相対的に遅い初回読み込みの比率が高くなったため、平均PLTが悪化して見えたのです。

対策と予防法

論文では、この問題を防ぐために実験システムでサンプル比率不一致を自動検出し警告する機能を実装することを推奨しています。問題が発生した場合は、メトリクスを分解して影響を受けない部分を特定し分析する必要があるとされています。

落とし穴2:比率メトリクスの誤解釈

概要

比率メトリクスの誤解釈とは、分母が変化したときに比率メトリクスの従来の解釈が成り立たなくなる問題です。

実際の事例

MSN.comのメインページは、エンターテインメント、スポーツなど各トピック領域のページへのリンクを含む一連のモジュールで構成されています。この実験では、従来ページ下部近くに配置されていたモジュールを、ユーザーのスクロール量を削減するためにより上位の位置に移動させました。

実験結果の詳細

実験結果では、モジュールのCTRが40%減少していました。

しかし、詳細調査により、実際にはクリック数は74%増加し、インプレッション数は200%増加していることが判明しました。さらに、ページ全体のCTRは横ばいで、収益は増加していました。

問題の本質

モジュールの表示回数(分母)が位置変更により大幅に増加したことが原因でした。モジュールがより目立つ位置に移動したため、より多くのユーザーに表示されるようになりました。その結果、相対的にCTRが下がって見えたのです。

CTRは通常コンテンツ品質の指標として解釈されますが、分母(表示回数)や表示ユーザー層の変化により、従来の解釈が無効になることがあります。

対策と予防法

論文では、分母の不一致を検出するために、比率メトリクスと並行して分子と分母のカウントメトリクスを常に定義し、結果に含めることを推奨しています。

落とし穴3:テレメトリ損失バイアス

概要

処置群と対照群でデータ収集の成功率が異なることで、実験結果の解釈を誤ってしまう問題です。

実際の事例

SkypeのiPhoneアプリで、プッシュ通知を配信するためのプロトコルを変更し、通知配信の信頼性を高める実験が行われました。新しいプロトコル(処置群)と従来のプロトコル(対照群)を比較しました。

実験結果の詳細

実験者はメッセージ関連のメトリクスへの影響は予測していましたが、通話関連のメトリクスには何の影響もないと考えていました。しかし、実際には通話関連のメトリクスに統計的に有意な変化が見られました。さらに奇妙なことに、一部のメトリクスは大きく改善または悪化している一方で、関連する他のメトリクスは全く動かないという、一貫性のないパターンを示しました。

問題の本質

この問題の根本原因は、モバイルアプリのデータ送信の仕組みにありました。

モバイルアプリでは、データ通信量を節約するために、多くのデータ(テレメトリ)を一旦端末内に保存し、Wi-Fi接続時にまとめて送信します。しかし、長時間Wi-Fiに接続されないと、保存領域がいっぱいになり、古いデータから削除されてしまいます。

この実験では、新プロトコルによりアプリが数秒長く起動するようになり、その間にWi-Fi経由でより多くのデータを送信できました。結果として、群ごとにデータ損失率に差が生まれました。

  • 処置群: データ損失率が減少(より多くのデータを収集できた)
  • 対照群: データ損失率は従来通り(一部のデータが失われたまま)

Skypeでは同じ「通話」イベントに対して、クライアント側(アプリ)とサーバー側の2種類の記録があります。サーバー側の記録はほぼ確実に届きますが、クライアント側の記録は上記の理由で失われることがあります。このため、クライアント側のデータを使ったメトリクスだけが影響を受け、一見すると不可解なパターンが生じたのです。

対策と予防法

このようなバイアスを防ぎ、信頼性の高い実験を行うために、論文では各データイベントの損失率をData Quality Metricsとして常に追跡することを推奨しています。

落とし穴4:検出力不足のメトリクスを変化なしと見なす

概要

この落とし穴は、統計的に有意でない結果を「効果なし」と誤解釈してしまう問題です。

実際の事例

MSN.comの実験で、ユーザーあたりの総ページビュー数という重要な指標を測定しました。成熟したオンラインビジネスであるMSN.comにとって、0.5%の変化でもビジネスに意味のある影響として解釈されることが多いです。

実験結果の詳細

実験結果では、ユーザーあたり総ページビュー数が0.5%増加していましたが、p値は統計的に有意ではありませんでした。

詳細調査により、信頼区間は約±5%と非常に広く、実験設定では80%検出力で検出可能な最小変化は7.8%であることが判明しました。

問題の本質

この問題の原因は、実験が十分な検出力を持たずに設定されていたことです。統計的に有意でないことを「効果がない」と解釈することはできず、実際には効果を検出するために必要な検出力が不足していただけでした。

対策と予防法

論文では、少なくともOECとガードレールメトリクスについて事前検出力分析を実施し、ビジネスにとって小さいが意味のある変化を統計的に有意として検出できるよう、十分なサンプルサイズを確保することを推奨しています。

落とし穴5:境界線のP値で成功と主張する

p値周りの解説は避けたいので割愛。論文を読んでください。

落とし穴6:継続的監視と早期停止

概要

この落とし穴は、事前に決めた期間を守らず、途中結果を見て実験を早期停止・延長してしまう問題です。

実際の事例

事例1:Bing実験

Bingで新しいランキングアルゴリズムを評価する2週間の実験が実施されました。1週間後に主要成功メトリクスで統計的に有意な改善が観察されたため、実験所有者は早期停止を検討しました。

事例2:Xbox実験

Xboxでマルチプレイヤーゲームから一時停止されたユーザーへの教育的ヒントを評価する2週間の実験が実施されました。期間終了時に変化が見られなかったため、実験所有者は期間延長を検討しました。

問題の本質

どちらの実験の対応も不適切です。継続的にチェックして統計的有意性が達成されたらすぐに停止することは、第1種の過誤(偽陽性の確率)の増加につながります。

一方で、継続的な実験監視自体はユーザー体験が悪化した際に実験を迅速に停止できるようにするために必要です。

対策と予防法

論文では、この落とし穴を回避するためのアプローチとして、実験者にこの落とし穴を認識させ、事前に定義された時点でのみリリース決定を行うガイドラインを確立することなどを提案しています。

落とし穴7:メトリクス動きが均一であると仮定する

概要

この落とし穴は、全体の結果だけを見て、ユーザーグループ間での効果の違いを見逃してしまう問題です。

実際の事例

Bingで新しい広告オークションと配置アルゴリズムを評価する実験が行われました。この実験では、広告品質を向上させながら表示される広告数をほぼ同じレベルに保つことで、収益を増加させることを目指していました。

実験結果の詳細

全体の実験結果として収益が2.3%増加し、ページあたり広告数が0.6%減少しました。

しかし、検索ページをオリジナルページ(クエリ入力後の最初のページ)と戻るボタンで再読み込みされたページに分けて分析したところ、オリジナルページでは広告数が0.3%増加していた一方、戻るボタンページでは2.3%減少していました。

問題の本質

オリジナルページの重要性を考慮すると、実験は実際には広告負荷を同じに保つという目標を達成していませんでした。

論文によると、処置効果はすべてのユーザーとクエリで均一であると仮定することを避けるべきだとされています。

落とし穴8:セグメント解釈

概要

この落とし穴は、セグメント条件が実験により影響を受け、セグメント分析結果が無効になってしまう問題です。

実際の事例

Bingで新しいランキングアルゴリズムをテストする実験で、ディープリンク(ナビゲーショナルクエリで表示される追加リンク)の表示有無でユーザーを分類してセグメント分析を実施しました。

論文の図1の例では、「seattle seahawks」で検索すると、公式サイトの検索結果の下に「News」「Schedule」などがディープリンクとして表示されます。

実験結果の詳細

ディープリンクありグループ(U1)とディープリンクなしグループ(U2)の両方でユーザーあたりセッション数が統計的に有意に増加しましたが、全体(U1+U2)では統計的に有意な変化が見られませんでした。

問題の本質

これは典型的なシンプソンのパラドックスです。実験は実際にはセッション数に影響を与えていませんでしたが、処置群でU1グループ(ディープリンクを見たユーザー)の割合が減少していました。

U1から「脱落」したユーザーはそのグループ内では活動度が平均より低く、結果として処置群のU1の平均セッション数が上昇しました。これらのユーザーがU2グループに加わると、そこでは平均より活動的だったため、処置群のU2の平均セッション数も上昇しました。

対策と予防法

論文では、セグメント定義に使用する条件が処置により影響されないことを確認することが重要だとされています。これは各セグメントグループでSRMテストを実施することで検証できます。実際、この実験では両セグメントのサンプル比率が統計的に有意に異なっていました。

落とし穴9:外れ値の影響

概要

この落とし穴は、外れ値フィルタリングが処置群と対照群で異なる影響を与えてしまう問題です。

実際の事例

MSN.comホームページ上部のInfopane(大きな画像のスライドショーモジュール)でスライド数を12枚から16枚に増やす実験が行われました。

実験結果の詳細

スライド数増加にも関わらずエンゲージメントが有意に悪化し、さらに処置群のユーザー数が予想より少ないSRM(サンプル比率不一致)も発生しました。

問題の本質

調査により、問題の原因がボットにあることが判明しました。スライド数増加により一部のユーザーのエンゲージメントが大幅に改善し、これらのユーザーがボットによって、実験分析から除外されていました。

ボットを調整した後、SRMは消失し、実験結果はユーザーエンゲージメントの大幅な増加を示しました。

対策と予防法

論文では、外れ値処理を行った際に、その処理の影響を受けたデータがどれくらいあったかを追跡するメトリクスを、Data Quality Metricsに必ず含めることを推奨しています。これにより、処置群と対照群で外れ値処理の影響に差がないかを常に監視できます。

落とし穴10:新規性効果と初回効果

概要

この落とし穴は、短期的な実験結果を長期的な効果と誤解してしまう問題です。

実際の事例

Edgeブラウザの新しいタブページには、上部に「トップサイト」(頻繁に訪問するサイト)を表示する機能があります。ユーザーは自分でサイトをこのリストに追加できるみたいです。(使ったことがないのでわからない)

しかし、多くのユーザーはこの機能を活用しておらず、トップサイトのリストが空のままで、一度もサイトを追加したことがなかったみたいです。

そこで、以下の条件を満たすユーザーを対象に実験を行いました:

  • トップサイトのリストが空
  • 過去に一度もトップサイトを追加したことがない

これらのユーザーに対して、コーチマーク(操作を促すヒント表示)を一度だけ表示し、その効果を4週間測定しました。

実験結果の詳細

実験結果として、ページ全体のクリック数が0.96%増加し、トップサイトのクリック数が2.07%増加しました。

しかし、日別セグメントの分析により、処置群と対照群間のトップサイトクリック数のパーセント差が急速に減少していることが判明しました。

問題の本質

コーチマークが表示された訪問中は効果がありましたが、その後の訪問では統計的に有意な動きが見られず、処置効果が最初の訪問を超えて持続しませんでした。

これは典型的な新規性効果であり、変化は短期的には正に見えたが長期的には横ばいでした。

対策と予防法

論文では、処置効果を実験の異なる日や異なるユーザー訪問でセグメント化し、処置効果が時間とともに変化するかどうかを確認することを推奨しています。

落とし穴11:不完全なファネルメトリクス

概要

この落とし穴は、ファネル型のユーザー体験において、プロセスの一部のみを測定し、最終目標までの全体を適切に評価できていない問題です。

実際の事例

Xboxでセール中の製品の様々な販促戦略をテストし、画像とメッセージを変更して収益を増加させることを目的とした実験が行われました。

実験結果の詳細

セールをクリックするユーザー数に大きなポジティブな影響を与えましたが、十分な検出力があったにも関わらず対応する収益増加が見られませんでした。

問題の本質

特定の場所でクリック数を増やすことは簡単ですが、それが必ずしも収益増加という主要目標に直接関係しません。この実験では、クリック数は増加したが実際の購入には結びつかず、ユーザーに無駄な時間と労力をかけさせる結果となりました。

対策と予防法

論文では、ファネル型のユーザー体験では、途中の一部だけでなくプロセス全体を測定することが重要だとされています。各ステップでは以下の2種類の成功率を測定する必要があります:

  • 条件付き成功率:そのステップまで到達したユーザーのうち、次に進んだユーザーの割合
  • 無条件成功率:最初にファネルに入った全ユーザーのうち、そのステップを完了したユーザーの割合

これにより、どこで離脱が起きているか、全体としての改善効果はどうかを正確に把握できます。

落とし穴12:トワイマンの法則の適用失敗

概要

この落とし穴は、「良すぎる」結果を疑わずに受け入れてしまう問題です。トワイマンの法則は「興味深いまたは異なって見える数字は通常間違っている」というものです。

実際の事例

MSN.comホームページでOutlook.comボタンをメールアプリボタンに置き換える実験が行われました。対照群ではボタンクリックでoutlook.comに移動し、処置群ではデスクトップメールアプリが開くように変更されました。

実験結果の詳細

ページ全体のナビゲーションクリック数が4.7%増加し、対象ボタンのクリック数が28%増加、隣接ボタンのクリック数も27%増加しました。

しかし、ユーザー維持と満足度に関連するメトリクスでは統計的に有意な変化が見られず、各日セグメントの分析でメールアプリボタンのクリック数が日々急速に減少していることが判明しました。

問題の本質

処置がユーザーに混乱を引き起こしていたことが原因でした。MSNホームページからoutlook.comに移動することに慣れていたユーザーが、ボタンが代わりにメールアプリを開くようになったとき、以前のように動作することを期待して繰り返しクリックし、他のボタンが正常に動作するか確認するために隣接ボタンもクリックした可能性があります。

対策と予防法

論文によると、オンライン実験の結果を分析する際のトワイマンの法則は「予想外のメトリクスの動き(ポジティブまたはネガティブ)は通常問題があることを意味する」と言い換えることができるとされています。

まとめ

本記事では、4つの指標と12の落とし穴についてまとめました。

これらの落とし穴は理解しているつもりでも、実際の実験では気づかずに陥ってしまうことが多く、結果として貴重な時間を無駄にしたり、最悪の場合は実験全体をダメにしてしまう可能性があると思います。そのため、AAテストの段階からこれらの落とし穴を意識し、適切な対策をとることが重要だと思いました。

DMM Data Blog

Discussion