2021年度・2022年度 リクルート エンジニアコース新人研修の講義資料です
Copyright(C)2021 Recruit Co.,Ltd All rights reservedA/Bテスト 概論大杉直也2021/4/7
View Slide
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved1bコースとcコースの合同研修です 4/7 ~ 4/9 の2日半、大杉直也(@Osugi_Naoya)が実施します 4/7はA/Bテストについて学びます 座学形式ですお互いしんどいと思うので、こまめに休憩取りますSlackに質問は随時なげてほしいです。休憩後にまとめて回答します 公的にはインタラクションは講師と新人の間がメインになるはずです普通に新人同士で雑談しながら聞いてください そっちのほうが記憶に残ると思うので(エピソード記憶) 全体の底上げが目的なのでゆっくり進行します 4/8~4/9はデータ分析をハッカソン形式で学びます 実践です インタラクションはチーム内の新人との間がメインになるはずです旧人のメンターもチームに1名います 体で覚えろ系のハードな進行です詳細は4/8になったら
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved2自己紹介 大杉直也 (@Osugi_Naoya, #times_oosugi) 新卒8年目 私の自慢昔、週刊誌の巻頭カラーにのった→シン・ゴジラのNGカット集にうつった 検索ソリューションGのGMです 検索エンジンの研修は来週に実施 検索は「良くすること」と「良くなったことを確かめる」の両方で考えることが多い 今日は「良くなったことを確かめる」の話 その代表的手法がA/Bテスト著作権的なアレで削除
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved3A/Bテスト概要 の狙い本研修では、「A/Bテストを正しく実施する」に焦点を当てます後半ではA/Bテストをスケールするためのコツもふれますが、量産する前に品質を担保する必要があります「バグったA/Bテスト」を各自が検知できるようになることが目標です
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved4基本的にはA/Bテスト本を参考に進めますhttps://www.kadokawa.co.jp/product/302101000901/スライド中のFigureはこの本を参照しております
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved5「何が良いか」を事前に知ることは困難 Bing史上最高収益(当時)のアイデア 年間1億ドルの価値(らしい) アイデアが実装されるまで、半年以上バックログに積まれていた このアイデアの価値は、A/Bテストによって見積もられた
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved6A/B テストとはここ→A/Bテストは因果関係を立証するための黄金律である我々の介入が良い結果の原因になるかを知りたい→意思決定のために必要
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved7相関≠因果関係①小さい手のひらは寿命の原因か?手のひらの大きさと寿命には相関関係がある
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved8相関≠因果関係①両者の共通原因に性別がある手のひらを小さくしても長生きするわけではない手のひらの大きさと寿命には相関関係がある
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved9相関≠因果関係②エナジードリンク摂取量とパフォーマンスには相関関係がある意図的な共通原因があるパターン
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved10相関≠因果関係③小さい手のひらは寿命の原因か?毒グモによる死者数と強い相関係数がある因子を発見
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved11相関≠因果関係③まったく関係がなく、ただの偶然毒グモによる死者数と強い相関係数がある因子を発見
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved12A/B テストが因果関係を立証できる理由「Aさんに介入した場合」「Aさんに介入しない場合」の2つの結果を直接比較できれば良い問題点は3つ「同じAさんは存在しない」「Aさんの事例が一般化できるのか」「介入が100%結果につながらない」
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved13A/B テストが因果関係を立証できる理由「同じAさんは存在しない」→人を集めて同じような集団を作る→この集団を近似的に同じ人とみなす同じような集団をどう作るのか?→ランダムに割り当てる→任意のユーザー属性と独立に割れる
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved14A/B テストが因果関係を立証できる理由「Aさんの事例が一般化できるのか」→一般化したい対象を集めて介入(→心理実験が大学生に偏り問題)Webサービスの場合の対象は?→サービス利用者を対象にしたい場合、実際にサービスに来た人に介入する
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved15A/B テストが因果関係を立証できる理由「介入が100%結果につながらない」→統計処理を行って、結論づけるどのような統計処理か?→仮説検定のフレームワークが主流→それ以外の手法が用いられることも
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved16A/B テストが因果関係を立証できる理由「Aさんに介入した場合」「Aさんに介入しない場合」の2つの結果を直接比較できれば良い問題点は3つ「同じAさんは存在しない」「Aさんの事例が一般化できるのか」「介入が100%結果につながらない」統計学のテクニック+大量のユーザーで問題は解決可能
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved17ログデータ分析とA/Bテストの違い実験手法 手順例 クオリティ コストログデータ分析 CS行動ログから、特定条件へのCVとCSセグメントの共起を見るただの相関かもしれない ログさえあればすぐできるA/B テスト 特定条件の表出を増やすA/Bテストをし、CSセグメント間のCVR変化を見る因果の可能性大 A/Bテストには準備が必要で、テストには一定以上の期間が必要特定条件にCVしやすいCSセグメントを知りたい場合A/Bテストはアイデアの価値評価だけでなく因果関係についての知識獲得にも有用
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved18A/B テストの流れの具体的に追体験ここから、架空のシナリオでA/Bテストの流れを追体験してみる架空シナリオECサイトに「クーポンコード」を導入して収益UPの企画評価したい悪影響「クーポンコードがない」ユーザーが購入を中止してしまうこと
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved19A/B テストの流れの具体的に追体験実装コストを抑えるために画面だけ変更してA/Bテスト
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved20A/B テストの流れの具体的に追体験調査したい影響は、収益への悪影響→ユーザーあたりの収益を比較するサイトを訪問したすべてのユーザー購入プロセスを完了したユーザーのみ購入プロセスを開始したユーザーのみ適切な比較対象はどれか?
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved21A/B テストの流れの具体的に追体験調査したい影響は、収益への悪影響→ユーザーあたりの収益を比較するサイトを訪問したすべてのユーザー購入プロセスを完了したユーザーのみ購入プロセスを開始したユーザーのみ△変更の影響を受けないユーザーが混ざる→介入効果の推定のノイズになる☓購入額の影響しか見えない→推定したい悪影響は購入の中断率◯
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved22A/B テストに必要な統計学ここから統計学の話なので用語の整理計算はツールでできるが、基本的な概念を知らずにツールを適切に使えない用語 解説サンプルサイズ ユニークユーザー数などの分析単位の数。慣習的に変数Nが使われる介入効果 文字通りの介入の効果。介入群とコントロール群の効果の差で推定仮説検定 統計学のフレームワークの一種。帰無仮説を棄却することで主張する帰無仮説 否定したい仮説。「介入効果がゼロ」を帰無仮説にすることが多い棄却 帰無仮説を考えにくいので正しくないとすること偽陽性 帰無仮説が正しいのに棄却してしまうエラーのこと。別名、第Ⅰ種の過誤偽陰性 帰無仮説が間違ってるのに棄却できないエラーのこと。別名、第Ⅱ種の過誤p値 帰無仮説を真と仮定して、実験結果と同等以上に極端な結果が得られる確率有意水準 p値から棄却の判断をするさいの閾値。よく5%が使われる。ゆるいと偽陽性が増える信頼区間 介入効果のブレを推定したもの。p値と有意水準との関係は後述検出力 帰無仮説を棄却できる力。本当の差やサンプルサイズが小さいと低くなる最小検出可能効果 今回の実験で検出できる最小の介入効果。実用上意味ある差以上が望ましい
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved23A/B テストに必要な統計学仮説検定の考え方をイラストで解説
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved24A/B テストに必要な統計学統計学について解説したが、非常に重要かつ統計学で決められない概念があるそれは、どのくらいの差が実用上重要であるか?である有意差はあくまで「差がないとは考えにくい」としか主張しない
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved25A/B テストのよくある落とし穴A/B テストを正しく実施するための妥当性確認の話「アイデアを正しく評価する方法」を正しく実施できないと本末転倒である妥当性は内的妥当性と外的妥当性の2つに分けられる
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved26A/B テストのよくある落とし穴内的妥当性他の集団や期間に一般化しない場合データの統計的扱いのミスサンプル比率のミスマッチ残留効果など外的妥当性他の集団や期間に一般化する場合慣れや新規性の影響セグメントの違い長期影響など
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved27A/B テストのよくある落とし穴妥当性の種類 名称 具体例 検知方法の例内的妥当性 データの統計的取り扱いミス 介入群だけ5PV以上のユーザーで分析実験期間中にアクティブであったユーザーだけ分析p-hackingしてしまっているA/Aテスト(後ろ向き)サンプルサイズの比較専門家レビュー内的妥当性 実験割当比率のエラー Cookieで割当を制御し、Cookieの値を使いまわしたが、Cookieの書き換えの制御は完全にはできない効果の高いユーザーをBot扱い実験群の割当比率を監視内的妥当性 残留効果 過去の割当を使いまわし A/Aテスト(前向き)外的妥当性 慣れや新規性の影響 慣れた画面でないから使いにくい物珍しいからクリック実験期間中の最初の方と後半を分けて分析開始時期をずらした複数A/Bテスト外的妥当性 セグメントの違い 東京で効果あったアイデアが大坂でうまくいくかどうか夏に効果あったアイデアが冬でうまくいくかどうか都度A/B テスト外的妥当性 長期影響 市場やユーザーの変化機械学習モデルの劣化長期実験
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved28A/B テストのよくある落とし穴内的妥当性の問題の多くはA/Aテストで検知可能←ここに何も変更を加えない状態でテストする
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved29A/AテストについてA/A テストは大きく2種類の方法がある実際に実験をする「前向き」の方法ログデータをもとに擬似的に実施する「後ろ向き」の方法それぞれ検知できるミスが異なる次スライドから具体的な手順を確認する
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved30A/Aテストについて「前向き」のA/A テスト1. 実際のA/Bテストと同じシステムで実験群に割り当てる2. 各実験群は同じ状態(通常のA/Bテストとの違いはここだけ)3. 実際のA/Bテストと同じ分析を実施する4. 目標指標に有意差が出ないことを確かめるシステム部分のエラー(割当が独立でないなど)や残留効果が検知できる一方、実施に時間がかかり試行数をかせぎにくいため偽陽性や偽陰性のリスクを定量的に評価しにくい→微妙な統計的取り扱いのミスなどが検知しづらい
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved31A/Aテストについて「後ろ向き」のA/A テスト1. 過去のログデータをランダムに分割する2. 当然、各実験群は同じ状態(過去のA/Bテストも等しく影響)3. 実際のA/Bテストと同じ分析を実施する4. 1~3を繰り替えし、p値が一様(偏らない)であることを確認する通常のA/B割当と違う割当方法になりがちなのでシステム部分のエラーは検知できない。残留効果も検知できない一方、実施に時間がかからず試行数をかせげるため偽陽性や偽陰性のリスクを定量的に評価できる→微妙な統計的取り扱いのミスなどが検知しやすい
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved32A/AテストについてA/Aテストの代表的な実施方法種別 やり方 長所 短所前向き 実際のA/Bテストと同じ方法でユーザーを割当て、ログをためA/Bテストと同じ分析を実施する- システム由来のエラーも検知可能- 新規の開発が不要- 残留効果も検知可能- (割当の実装方式にもよるが)試せる割当パターンが少なく一部の統計的ミスが検知不能- 結果が出るまで時間がかかる後ろ向き ランダムな割当を過去のユーザーのログにかけて、A/Bテストと同じ分析を実施する- 大量の割当を試せるので、統計的ミスを検知可能- 結果がすぐわかる- スクリプトを作る必要がある- 割当関連のシステムや残留効果は検知不能前向きと後ろ向きのA/Aテストで検知可能なミスが異なる両A/Aテストの併用を推奨前向きのA/Aテストは実施コストが高いので、割当割合ミス検知を強く推奨
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved33システム由来の失敗事例の紹介A/Bテスト勝ちまくってるのにトレンドが改善しないこと、から検知検知が遅れたため数カ月分のA/Bテストがやり直しにFirebaseのremote config でテストパターンを取得Firebaseからの取得失敗した場合、既存条件に割当その結果、通信状態の悪いユーザーが既存条件に多く割り当て結果、ほとんどのA/Bテストで勝利割当割合ミスを監視していればもっと早期に検知可能だった
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved34A/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は実験群の割当比率の監視で検知可能
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved35A/B テストの適用先A/BテストはUIにのみ有用か?
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved36A/B テストの適用先A/BテストはUIにのみ有用か?NO!
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved37A/B テストの適用先A/Bテストの適用先は多岐にわたる集客のためのWeb広告の良い文言の探索新導線の評価(リコメンドなど)ランキングアルゴリズムの改良(検索おすすめ順など)ページ表示速度のユーザー影響の推定新機能の評価(キーワード入力補完など)
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved38A/B テストをより活用するためにはアイデアの価値は試さないとわからない良いアイデアをいかに安全に・安く・早く試すか、が重要ここでは、6種類の手引を紹介
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved39A/B テストをより活用するためには(1/6)変更範囲の局所化開発効率だけでなく、障害時の切り戻しや保守性も重要もし実験のパターンが固まっていたら、設定(configure)の変更だけでできると便利現実的にはすべて設定変更だけ済ませられるとは限らない一種の理想の形
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved40A/B テストをより活用するためには(1/6)変更範囲の局所化、Qassの場合変更範囲をクエリだけに限定することでほとんどの改修が設定変更だけで済む
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved41A/B テストをより活用するためには(1/6)変更範囲の局所化、Qassの場合変更範囲をクエリだけに限定することで状態を持たず、障害時の切り戻しが容易
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved42A/B テストをより活用するためには(1/6)変更範囲の局所化、Qassの場合機械学習モデル部分に問題が発生しても実績ある基本モデルに安全に切り替えられる→機械学習モデルを試しやすい環境
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved43A/B テストをより活用するためには(2/6)段階的な実験対象の拡大(ランピング)の戦略知識獲得だけならMaximum Power Ramp(MPR)≒50%割当で良い安全のために介入群の割当を段階的に増やすことはよくある例:システム影響を事前に想定しきれないとき
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved44A/B テストをより活用するためには(2/6)ランピングの注意点シンプソンのパラドックスがおこりうる部分の結果が、全体の結果と異なることが数学的にありえる部分と全体の両方の傾向が一致する時だけ結果を信じることを推奨
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved45A/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がユーザーを“モルモットにした”ことなのだが、この点については謝罪していない。」
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved46A/B テストをより活用するためには(4/6)メトリクスを整理し、統計処理の確からしさを向上する例えば、ユーザーあたり平均単価3,000円のECサイトで「売上」を目標としたとき、あるユーザーが100万円の商品を購入したら、A/Bテストの結果はそのユーザーの割り当てに大きく依存する→介入効果よりも偶然の影響のほうが大きい(偽陽性リスク)→分散が大きくなり検出力が下がる(偽陰性リスク)メトリクスを工夫することでこの問題は回避できる
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved47A/B テストをより活用するためには(4/6)メトリクスを整理し、統計処理の確からしさを向上する3番目が最も検出力が高く、金額への介入効果が重要でない場合は有用1番目の手法+外れ値の割合も検定、が無難(だと思ってる)加工方法 デメリット値が多すぎるユーザーを外れ値として除外する 介入によって値が多すぎるユーザーが増えた場合、それを除外してしまうと意思決定を誤りかねないx以上の値はxに丸め込む 介入効果の円換算などの解釈時に工夫が必要金額を見ずに購入率だけ着目する 金額への介入効果がわからなくなる
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved48A/B テストをより活用するためには(5/6)メトリクスを整理し、誤った意思決定を避けるBing検索の例Bing検索では収益とクエリシェア率が目標指標だったあるアルゴリズム変更をA/Bテストしたところ、目標指標は大きく改善したしかし、このアルゴリズムはBingにとって望ましくないものだった問題: この矛盾はなぜ起きたのかを明らかにしてください私は「はい」「いいえ」「わからない」だけで答えるので質問をどうぞ(突然のウミガメのスープによる時間調整)
Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved49A/B テストをより活用するためには(6/6)良い参考書があるので読むhttps://experimentguide.com/