$30 off During Our Annual Pro Sale. View Details »

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

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

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

Recruit
PRO

August 19, 2021
Tweet

More Decks by Recruit

Other Decks in Technology

Transcript

  1. Copyright(C)2021 Recruit Co.,Ltd All rights reserved
    A/Bテスト 概論
    大杉直也
    2021/4/7

    View Slide

  2. 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になったら

    View Slide

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

    View Slide

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

    View Slide

  5. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    4
    基本的にはA/Bテスト本を参考に進めます
    https://www.kadokawa.co.jp/product/302101000901/
    スライド中のFigureはこの本を参照しております

    View Slide

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

    View Slide

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

    View Slide

  8. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    7
    相関≠因果関係①
    小さい手のひらは寿命の原因か?
    手のひらの大きさと寿命には相関関係がある

    View Slide

  9. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    8
    相関≠因果関係①
    両者の共通原因に性別がある
    手のひらを小さくしても長生きするわけではない
    手のひらの大きさと寿命には相関関係がある

    View Slide

  10. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    9
    相関≠因果関係②
    エナジードリンク摂取量とパフォーマンスには相関関係がある
    意図的な共通原因があるパターン

    View Slide

  11. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    10
    相関≠因果関係③
    小さい手のひらは寿命の原因か?
    毒グモによる死者数と強い相関係数がある因子を発見

    View Slide

  12. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    11
    相関≠因果関係③
    まったく関係がなく、ただの偶然
    毒グモによる死者数と強い相関係数がある因子を発見

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  18. 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テストはアイデアの価値評価だけでなく
    因果関係についての知識獲得にも有用

    View Slide

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

    View Slide

  20. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    19
    A/B テストの流れの具体的に追体験
    実装コストを抑えるために画面だけ変更してA/Bテスト

    View Slide

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

    View Slide

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

    変更の影響を受けないユーザーが混ざる
    →介入効果の推定のノイズになる

    購入額の影響しか見えない
    →推定したい悪影響は購入の中断率

    View Slide

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

    View Slide

  24. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    23
    A/B テストに必要な統計学
    仮説検定の考え方を
    イラストで解説

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  28. 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 テスト
    外的妥当性 長期影響 市場やユーザーの変化
    機械学習モデルの劣化
    長期実験

    View Slide

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

    View Slide

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

    View Slide

  31. 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. 目標指標に有意差が出ないことを確かめる
    システム部分のエラー(割当が独立でないなど)や残留効果が検知できる
    一方、実施に時間がかかり試行数をかせぎにくいため
    偽陽性や偽陰性のリスクを定量的に評価しにくい
    →微妙な統計的取り扱いのミスなどが検知しづらい

    View Slide

  32. 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割当と違う割当方法になりがちなので
    システム部分のエラーは検知できない。残留効果も検知できない
    一方、実施に時間がかからず試行数をかせげるため
    偽陽性や偽陰性のリスクを定量的に評価できる
    →微妙な統計的取り扱いのミスなどが検知しやすい

    View Slide

  33. 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テストは実施コストが高いので、割当割合ミス検知を強く推奨

    View Slide

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

    View Slide

  35. 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は実験群の割当比率の監視で検知可能

    View Slide

  36. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    35
    A/B テストの適用先
    A/BテストはUIにのみ有用か?

    View Slide

  37. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    36
    A/B テストの適用先
    A/BテストはUIにのみ有用か?
    NO!

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  46. 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がユーザーを“モル
    モットにした”ことなのだが、この点については謝罪していない。」

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  50. Copyright(C)2014 Recruit Technologies Co.,Ltd All rights reserved
    49
    A/B テストをより活用するためには(6/6)
    良い参考書があるので読む
    https://experimentguide.com/

    View Slide