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

A/Bテスト概論 / Introduction of ABTesting

Recruit
August 19, 2021

A/Bテスト概論 / Introduction of ABTesting

2021年度・2022年度 リクルート エンジニアコース新人研修の講義資料です

Recruit

August 19, 2021
Tweet

More Decks by Recruit

Other Decks in Technology

Transcript

  1. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 1 bコースとcコースの合同研修です 

    4/7 ~ 4/9 の2日半、大杉直也(@Osugi_Naoya)が実施します  4/7はA/Bテストについて学びます  座学形式です お互いしんどいと思うので、こまめに休憩取ります Slackに質問は随時なげてほしいです。休憩後にまとめて回答します  公的にはインタラクションは講師と新人の間がメインになるはずです 普通に新人同士で雑談しながら聞いてください  そっちのほうが記憶に残ると思うので(エピソード記憶)  全体の底上げが目的なのでゆっくり進行します  4/8~4/9はデータ分析をハッカソン形式で学びます  実践です  インタラクションはチーム内の新人との間がメインになるはずです 旧人のメンターもチームに1名います  体で覚えろ系のハードな進行です 詳細は4/8になったら
  2. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 2 自己紹介 

    大杉直也 (@Osugi_Naoya, #times_oosugi)  新卒8年目  私の自慢 昔、週刊誌の巻頭カラーにのった→ シン・ゴジラのNGカット集にうつった  検索ソリューションGのGMです  検索エンジンの研修は来週に実施  検索は「良くすること」と「良くなっ たことを確かめる」の両方で考えるこ とが多い  今日は「良くなったことを確かめる」の話  その代表的手法がA/Bテスト 著作権的なアレで削除
  3. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 3 A/Bテスト概要 の狙い

    本研修では、「A/Bテストを正しく実施する」に焦点を当てます 後半ではA/Bテストをスケールするためのコツもふれますが、 量産する前に品質を担保する必要があります 「バグったA/Bテスト」を各自が検知できるようになることが目標です
  4. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 5 「何が良いか」を事前に知ることは困難 

    Bing史上最高収益(当時)のアイデア  年間1億ドルの価値(らしい)  アイデアが実装されるまで、半年以上 バックログに積まれていた  このアイデアの価値は、A/Bテストに よって見積もられた
  5. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 6 A/B テストとは

    ここ→ A/Bテストは因果関係を立証するための黄金律である 我々の介入が良い結果の原因になるかを知りたい →意思決定のために必要
  6. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 8 相関≠因果関係① 両者の共通原因に性別がある

    手のひらを小さくしても長生きするわけではない 手のひらの大きさと寿命には相関関係がある
  7. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 12 A/B テストが因果関係を立証できる理由

    「Aさんに介入した場合」 「Aさんに介入しない場合」 の2つの結果を直接比較できれば良い 問題点は3つ 「同じAさんは存在しない」 「Aさんの事例が一般化できるのか」 「介入が100%結果につながらない」
  8. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 13 A/B テストが因果関係を立証できる理由

    「同じAさんは存在しない」 →人を集めて同じような集団を作る →この集団を近似的に同じ人とみなす 同じような集団をどう作るのか? →ランダムに割り当てる →任意のユーザー属性と独立に割れる
  9. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 14 A/B テストが因果関係を立証できる理由

    「Aさんの事例が一般化できるのか」 →一般化したい対象を集めて介入 (→心理実験が大学生に偏り問題) Webサービスの場合の対象は? →サービス利用者を対象にしたい場合、 実際にサービスに来た人に介入する
  10. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 15 A/B テストが因果関係を立証できる理由

    「介入が100%結果につながらない」 →統計処理を行って、結論づける どのような統計処理か? →仮説検定のフレームワークが主流 →それ以外の手法が用いられることも
  11. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 16 A/B テストが因果関係を立証できる理由

    「Aさんに介入した場合」 「Aさんに介入しない場合」 の2つの結果を直接比較できれば良い 問題点は3つ 「同じAさんは存在しない」 「Aさんの事例が一般化できるのか」 「介入が100%結果につながらない」 統計学のテクニック+大量のユーザーで問題は解決可能
  12. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 17 ログデータ分析とA/Bテストの違い 実験手法

    手順例 クオリティ コスト ログデータ分析 CS行動ログから、特定条件へのCV とCSセグメントの共起を見る ただの相関かもしれない ログさえあればすぐできる A/B テスト 特定条件の表出を増やすA/Bテス トをし、CSセグメント間のCVR変化を 見る 因果の可能性大 A/Bテストには準備が必要 で、テストには一定以上の 期間が必要 特定条件にCVしやすいCSセグメントを知りたい場合 A/Bテストはアイデアの価値評価だけでなく 因果関係についての知識獲得にも有用
  13. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 18 A/B テストの流れの具体的に追体験

    ここから、架空のシナリオでA/Bテストの流れを追体験してみる 架空シナリオ ECサイトに「クーポンコード」を導入して収益UPの企画 評価したい悪影響 「クーポンコードがない」ユーザーが購入を中止してしまうこと
  14. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 20 A/B テストの流れの具体的に追体験

    調査したい影響は、収益への悪影響 →ユーザーあたりの収益を比較する サイトを訪問したすべてのユーザー 購入プロセスを完了したユーザーのみ 購入プロセスを開始したユーザーのみ 適切な比較対象はどれか?
  15. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 21 A/B テストの流れの具体的に追体験

    調査したい影響は、収益への悪影響 →ユーザーあたりの収益を比較する サイトを訪問したすべてのユーザー 購入プロセスを完了したユーザーのみ 購入プロセスを開始したユーザーのみ △ 変更の影響を受けないユーザーが混ざる →介入効果の推定のノイズになる ☓ 購入額の影響しか見えない →推定したい悪影響は購入の中断率 ◯
  16. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 22 A/B テストに必要な統計学

    ここから統計学の話なので用語の整理 計算はツールでできるが、基本的な概念を知らずにツールを適切に使えない 用語 解説 サンプルサイズ ユニークユーザー数などの分析単位の数。慣習的に変数Nが使われる 介入効果 文字通りの介入の効果。介入群とコントロール群の効果の差で推定 仮説検定 統計学のフレームワークの一種。帰無仮説を棄却することで主張する 帰無仮説 否定したい仮説。「介入効果がゼロ」を帰無仮説にすることが多い 棄却 帰無仮説を考えにくいので正しくないとすること 偽陽性 帰無仮説が正しいのに棄却してしまうエラーのこと。別名、第Ⅰ種の過誤 偽陰性 帰無仮説が間違ってるのに棄却できないエラーのこと。別名、第Ⅱ種の過誤 p値 帰無仮説を真と仮定して、実験結果と同等以上に極端な結果が得られる確率 有意水準 p値から棄却の判断をするさいの閾値。よく5%が使われる。ゆるいと偽陽性が増える 信頼区間 介入効果のブレを推定したもの。p値と有意水準との関係は後述 検出力 帰無仮説を棄却できる力。本当の差やサンプルサイズが小さいと低くなる 最小検出可能効果 今回の実験で検出できる最小の介入効果。実用上意味ある差以上が望ましい
  17. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 24 A/B テストに必要な統計学

    統計学について解説したが、 非常に重要かつ統計学で決められない概念がある それは、どのくらいの差が実用上重要であるか?である 有意差はあくまで「差がないとは考えにくい」としか主張しない
  18. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 25 A/B テストのよくある落とし穴

    A/B テストを正しく実施するための妥当性確認の話 「アイデアを正しく評価する方法」を正しく実施できないと 本末転倒である 妥当性は内的妥当性と外的妥当性の2つに分けられる
  19. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 26 A/B テストのよくある落とし穴

    内的妥当性 他の集団や期間に一般化しない場合 データの統計的扱いのミス サンプル比率のミスマッチ 残留効果 など 外的妥当性 他の集団や期間に一般化する場合 慣れや新規性の影響 セグメントの違い 長期影響 など
  20. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 27 A/B テストのよくある落とし穴

    妥当性の種類 名称 具体例 検知方法の例 内的妥当性 データの統計的取り扱いミス 介入群だけ5PV以上のユーザーで分析 実験期間中にアクティブであったユー ザーだけ分析 p-hackingしてしまっている A/Aテスト(後ろ向き) サンプルサイズの比較 専門家レビュー 内的妥当性 実験割当比率のエラー Cookieで割当を制御し、Cookieの値を使 いまわしたが、Cookieの書き換えの制御 は完全にはできない 効果の高いユーザーをBot扱い 実験群の割当比率を監視 内的妥当性 残留効果 過去の割当を使いまわし A/Aテスト(前向き) 外的妥当性 慣れや新規性の影響 慣れた画面でないから使いにくい 物珍しいからクリック 実験期間中の最初の方と 後半を分けて分析 開始時期をずらした複数 A/Bテスト 外的妥当性 セグメントの違い 東京で効果あったアイデアが大坂でうまく いくかどうか 夏に効果あったアイデアが冬でうまくいく かどうか 都度A/B テスト 外的妥当性 長期影響 市場やユーザーの変化 機械学習モデルの劣化 長期実験
  21. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 28 A/B テストのよくある落とし穴

    内的妥当性の問題の多くはA/Aテストで検知可能 ←ここに何も変更を加えない状態でテストする
  22. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 29 A/Aテストについて A/A

    テストは大きく2種類の方法がある 実際に実験をする「前向き」の方法 ログデータをもとに擬似的に実施する「後ろ向き」の方法 それぞれ検知できるミスが異なる 次スライドから具体的な手順を確認する
  23. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 30 A/Aテストについて 「前向き」のA/A

    テスト 1. 実際のA/Bテストと同じシステムで実験群に割り当てる 2. 各実験群は同じ状態(通常のA/Bテストとの違いはここだけ) 3. 実際のA/Bテストと同じ分析を実施する 4. 目標指標に有意差が出ないことを確かめる システム部分のエラー(割当が独立でないなど)や残留効果が検知できる 一方、実施に時間がかかり試行数をかせぎにくいため 偽陽性や偽陰性のリスクを定量的に評価しにくい →微妙な統計的取り扱いのミスなどが検知しづらい
  24. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 31 A/Aテストについて 「後ろ向き」のA/A

    テスト 1. 過去のログデータをランダムに分割する 2. 当然、各実験群は同じ状態(過去のA/Bテストも等しく影響) 3. 実際のA/Bテストと同じ分析を実施する 4. 1~3を繰り替えし、p値が一様(偏らない)であることを確認する 通常のA/B割当と違う割当方法になりがちなので システム部分のエラーは検知できない。残留効果も検知できない 一方、実施に時間がかからず試行数をかせげるため 偽陽性や偽陰性のリスクを定量的に評価できる →微妙な統計的取り扱いのミスなどが検知しやすい
  25. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 32 A/Aテストについて A/Aテストの代表的な実施方法

    種別 やり方 長所 短所 前向き 実際のA/Bテストと同じ方法でユーザーを割当て、 ログをためA/Bテストと同じ分析を実施する - システム由来のエラーも 検知可能 - 新規の開発が不要 - 残留効果も検知可能 - (割当の実装方式にもよるが) 試せる割当パターンが少なく一 部の統計的ミスが検知不能 - 結果が出るまで時間がかかる 後ろ向き ランダムな割当を過去のユーザーのログにかけて、 A/Bテストと同じ分析を実施する - 大量の割当を試せるので、 統計的ミスを検知可能 - 結果がすぐわかる - スクリプトを作る必要がある - 割当関連のシステムや残留効 果は検知不能 前向きと後ろ向きのA/Aテストで検知可能なミスが異なる 両A/Aテストの併用を推奨 前向きのA/Aテストは実施コストが高いので、割当割合ミス検知を強く推奨
  26. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 33 システム由来の失敗事例の紹介 A/Bテスト勝ちまくってるのにトレンドが改善しないこと、から検知

    検知が遅れたため数カ月分のA/Bテストがやり直しに Firebaseのremote config でテストパターンを取得 Firebaseからの取得失敗した場合、既存条件に割当 その結果、通信状態の悪いユーザーが既存条件に多く割り当て 結果、ほとんどのA/Bテストで勝利 割当割合ミスを監視していればもっと早期に検知可能だった
  27. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 34 A/B テストのよくある落とし穴

    【発展】A/B テストの統計的取り扱いミスのよくあるものについて 1. p値を何度も確認して有意差が出たら実験終了 1. 例:毎日p値を確認し、5%有意勝ちがでたら実験打ち切り 2. 何がまずいのか:5%でも20回やったらまぁでる。偽陽性率が上がる 2. 分析単位が実験単位より細かい 1. 例:実験割当はユーザー単位だがセッションCVRで比較 2. 何がまずいのか:分散が過小評価され偽陽性率が上がる 3. 介入群とコントロール群で分析方法が違う 1. 例:過去CVしたユーザーのみ介入される。介入群ではCVしたユーザー を対象に分析したが、コントロール群では全ユーザーを対象にした 2. 何がまずいのか:同じユーザー群での比較になってない 4. ユーザーが分析対象になるか否かに介入が影響を与えている 1. 例:実験終了時にアクティブだったユーザーだけで比較 2. 何がまずいのか:アクティブになるか否かに介入が影響した場合、同 じユーザー群での比較にならない 1~3 はA/Aテスト(後ろ向き)で検知可能 4は実験群の割当比率の監視で検知可能
  28. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 37 A/B テストの適用先

    A/Bテストの適用先は多岐にわたる 集客のためのWeb広告の良い文言の探索 新導線の評価(リコメンドなど) ランキングアルゴリズムの改良(検索おすすめ順など) ページ表示速度のユーザー影響の推定 新機能の評価(キーワード入力補完など)
  29. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 38 A/B テストをより活用するためには

    アイデアの価値は試さないとわからない 良いアイデアをいかに安全に・安く・早く試すか、が重要 ここでは、6種類の手引を紹介
  30. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 39 A/B テストをより活用するためには(1/6)

    変更範囲の局所化 開発効率だけでなく、障害時の切り戻しや保守性も重要 もし実験のパターンが固まっていたら、 設定(configure)の変更だけでできると便利 現実的にはすべて設定変更だけ済ませられるとは限らない 一種の理想の形
  31. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 40 A/B テストをより活用するためには(1/6)

    変更範囲の局所化、Qassの場合 変更範囲をクエリだけに限定することで ほとんどの改修が設定変更だけで済む
  32. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 41 A/B テストをより活用するためには(1/6)

    変更範囲の局所化、Qassの場合 変更範囲をクエリだけに限定することで 状態を持たず、障害時の切り戻しが容易
  33. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 42 A/B テストをより活用するためには(1/6)

    変更範囲の局所化、Qassの場合 機械学習モデル部分に問題が発生しても 実績ある基本モデルに安全に切り替えられる →機械学習モデルを試しやすい環境
  34. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 43 A/B テストをより活用するためには(2/6)

    段階的な実験対象の拡大(ランピング)の戦略 知識獲得だけならMaximum Power Ramp(MPR)≒50%割当で良い 安全のために介入群の割当を段階的に増やすことはよくある 例:システム影響を事前に想定しきれないとき
  35. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 44 A/B テストをより活用するためには(2/6)

    ランピングの注意点 シンプソンのパラドックスがおこりうる 部分の結果が、全体の結果と異なることが数学的にありえる 部分と全体の両方の傾向が一致する時だけ結果を信じることを推奨
  36. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 45 A/B テストをより活用するためには(3/6)

    倫理的な問題 A/Bテストに限らず、介入は倫理的な問題を起こしてはならない リクルートでは標準審査プロセスでチェックされるが 各人で「何が好ましくないか」を意識することが重要 出典:ITmedia NEWS「Facebook、無断で行った情動感染実験について謝罪・釈明」(2014年6月30日) https://www.itmedia.co.jp/news/articles/1406/30/news044.html 「 米Facebookで約70万人のユーザーのニュースフィードを操作して実施した実験論文が物議を醸し たことを受け、この論文の著者で同社のデータサイエンティスト、アダム・クレイマー氏が6月29 日(現地時間)、自身のFacebookで“公式な説明”を行った。 (中略) ユーザーや多数のメディアがこの実験について問題にしているのは、被験者の人数や実験期間では なく、インフォームドコンセントの手順をとらず、ユーザーに無断でFacebookがユーザーを“モル モットにした”ことなのだが、この点については謝罪していない。」
  37. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 46 A/B テストをより活用するためには(4/6)

    メトリクスを整理し、統計処理の確からしさを向上する 例えば、ユーザーあたり平均単価3,000円の ECサイトで「売上」を目標としたとき、 あるユーザーが100万円の商品を購入したら、 A/Bテストの結果はそのユーザーの割り当てに大きく依存する →介入効果よりも偶然の影響のほうが大きい(偽陽性リスク) →分散が大きくなり検出力が下がる(偽陰性リスク) メトリクスを工夫することでこの問題は回避できる
  38. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 47 A/B テストをより活用するためには(4/6)

    メトリクスを整理し、統計処理の確からしさを向上する 3番目が最も検出力が高く、金額への介入効果が重要でない場合は有用 1番目の手法+外れ値の割合も検定、が無難(だと思ってる) 加工方法 デメリット 値が多すぎるユーザーを外れ値として除外する 介入によって値が多すぎるユーザーが増えた場合、そ れを除外してしまうと意思決定を誤りかねない x以上の値はxに丸め込む 介入効果の円換算などの解釈時に工夫が必要 金額を見ずに購入率だけ着目する 金額への介入効果がわからなくなる
  39. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved 48 A/B テストをより活用するためには(5/6)

    メトリクスを整理し、誤った意思決定を避ける Bing検索の例 Bing検索では収益とクエリシェア率が目標指標だった あるアルゴリズム変更をA/Bテストしたところ、目標指標は大きく改善した しかし、このアルゴリズムはBingにとって望ましくないものだった 問題: この矛盾はなぜ起きたのかを明らかにしてください 私は「はい」「いいえ」「わからない」だけで答えるので質問をどうぞ (突然のウミガメのスープによる時間調整)