Slide 1

Slide 1 text

経験値ゼロから始める A/B テスト布教活動 と 意思決定に活かしやすい A/B テスト設計の一案 白金鉱業 Meetup Vol.15 @六本木(効果検証) 日本経済新聞社 データサイエンティスト 増田太郎,西川凌

Slide 2

Slide 2 text

経験値ゼロから始める A/B テスト布教活動

Slide 3

Slide 3 text

自己紹介:増田 太郎(ますだ たろう) 3 ● 日経で BtoB Web サービスの分析を担うデータサイエンティスト ● 施策の効果を数値化することに興味 ○ A/B テストやベイズ統計モデリング ● 取得称号・資格 ○ Kaggle Master,統計検定 1 級, Google Cloud PDE ● 趣味 兼 宣伝 ○ Kaggler などデータサイエンス界隈で楽しむ,ゆるフットサル⚽ ● 業務内容:チームリーダーとしてメンバーの分析結果のレビュー・      メンター・教育,他部署での A/B テスト設計のお手伝い

Slide 4

Slide 4 text

● 「Pythonで学ぶ 効果検証入門」 が愛読書! ● 実際に社内ミート アップで布教した スライドが こちら → アイスブレイク 4

Slide 5

Slide 5 text

● 日経では 各事業部=ユニット・室 にデータサイエンティスト (DS)が点在 → 👎 取り組み当初は縦割り感が強かった ● 私のチームは BtoB ユニット内の複数プロダクト横断でデータ施策を 担当 前提知識:組織体制 5 情報サービス (BtoB) ユニット 社長 デジタル編成  (電子版)ユニット プラットフォー ム推進室 D S S W E 営 業 ・・・ D S S W E 営 業 ・・・ D S S W E ・・・ ・・・

Slide 6

Slide 6 text

● A/B テスト導入以前 ○ 👎チームメンバーが少なく,複数プロダクトから 降ってくる分析依頼に応える受動的な分析が多め ● A/B テスト導入のきっかけ ○ 👍チームメンバー増:西川さん(新入社員)の入社 ■ 数理統計の素養もあり,入社してすぐ効果検証 の枠組み作りに協力いただくことに決定 ○ 能動的な分析をプロダクト側に提案したくなった 社内的経緯・内発的動機 6

Slide 7

Slide 7 text

A/B テスト布教活動の流れ 7 影響範囲 A/B テスト輪読会 社内ミートアップ 実験設計テンプレート制定 テスト実行 社外発信・PR 社外 自チーム +他部署有志 社内全体の DS + ユニット長・専務 Web プロダクトを扱う 全ての部署

Slide 8

Slide 8 text

● 知識ほぼゼロからスタート:まずはインプットから ● 2022 年当時は「カバ本」を選定 ○ 今なら「Python で学ぶ効果検証 入門」もオススメ ● 興味のある SWE / DS / PdM たちを 他部署でも巻き込んで開催 ● (余談) ○ 自主的な勉強も並行して実施 ■ 西川さんと違って増田は統計学の知識もほぼゼロ → 統計検定 1 級の取得を目安に独学 A/B テスト輪読会 8

Slide 9

Slide 9 text

● 👎 発表当番制 : 発表当番回と 非当番回の理解度にムラが出る ● 👍 全員でコメント自由記入制 ○ 読んでいて「勉強になったこと・分からなかったこと・ 納得できないこと」のメモを事前に記載 ○ 当日はメモを上から読んでいって議論 ○ 毎回当事者意識を全員が持って参加できる ○ 各自が疑問に思ったこと・引っかかったことの議論にフォーカス できるため時間の使い方が効率的 ■ 自明なことの説明に時間を食わない 輪読会の運営方針 9

Slide 10

Slide 10 text

A/B テスト布教活動の流れ 10 影響範囲 A/B テスト輪読会 社内ミートアップ 実験設計テンプレート制定 テスト実行 社外発信・PR 社外 自チーム +他部署有志 社内全体の DS + ユニット長・専務 Web プロダクトを扱う 全ての部署

Slide 11

Slide 11 text

● A/B テスト輪読会 → DS 関連の取り 組みが社内で点在しているのもった いなくない?という課題感から企画 ● 各部署のデータサイエンス関連の 取り組みを持ち回りで紹介 ● 懇親会の費用拠出を専務に直談判 ● 事業部長クラスも巻き込んでトーク ● 社内で顔が売れる →他部署の A/B テスト設計のお手  伝いをして経験値を一気に積めた 社内組織横断型のミートアップの開催 11

Slide 12

Slide 12 text

A/B テスト布教活動の流れ 12 影響範囲 A/B テスト輪読会 社内ミートアップ 実験設計テンプレート制定 テスト実行 社外発信・PR 社外 自チーム +他部署有志 社内全体の DS + ユニット長・専務 Web プロダクトを扱う 全ての部署

Slide 13

Slide 13 text

● メルカリさんのブログを大いに参照 ○ メルカリにおけるA/Bテスト標準 化への取り組み|Mercari Analytics Blog ● Notion テンプレートを作成して 部署を超えて配布,普及を促す ○ 分かりにくい・書きにくい項目に ついてフィードバックを貰い改訂 ■ 実行フェーズに改定例あり 実験設計テンプレートの制定 13

Slide 14

Slide 14 text

A/B テスト布教活動の流れ 14 影響範囲 A/B テスト輪読会 社内ミートアップ 実験設計テンプレート制定 テスト実行 社外発信・PR 社外 自チーム +他部署有志 社内全体の DS + ユニット長・専務 Web プロダクトを扱う 全ての部署

Slide 15

Slide 15 text

● 全社展開したテンプレートを元に効果検証の枠組みが普及 ○ 自部署でもテンプレートに忠実に従いテストを設計 ■ 初期の頃から大きな失敗はしなくなった ○ 後出しで「リリース済の新規機能の効果測定して」と 言われる悲しい事象が減った テスト実行 15

Slide 16

Slide 16 text

● 特に初期は DS が伴走する必要あり ● 👎 事前の意思決定ルールの詰めが甘い部分で反省・失敗も ○ 例:複数のドライバーメトリクスのうち一部だけが   有意に改善した時の OK / NG の判断が曖昧だった    → テンプレートに項目追加 実行フェーズで得られた教訓 16 ビジネス上の損失との トレードオフ →小さな案件の成功から そもそも指標が測定できるか 損失 効果

Slide 17

Slide 17 text

(参考) 事例: 記事推薦メールの文面変更 17 目的:記事推薦メールの CTR 向上 内容:メールのタイトル・本文の冒頭それぞれにおいて    記事タイトルを見せるなど複数の変更候補を一度に A/B テスト 効果:最も良い組み合わせにおいては CTR が 20% 向上 Before After

Slide 18

Slide 18 text

A/B テスト布教活動の流れ 18 影響範囲 A/B テスト輪読会 社内ミートアップ 実験設計テンプレート制定 テスト実行 社外発信・PR 社外 自チーム +他部署有志 社内全体の DS + ユニット長・専務 Web プロダクトを扱う 全ての部署

Slide 19

Slide 19 text

● ベイジアン A/B テスト(発表後半)の 内容でブログ執筆 ● 技術部門の紹介動画に出演 ● 結果 ○ 👍 採用に好影響:カジュアル面談 等で「ブログ読みました!」と 声をかけていただく場面が増えた ○ 👎 連合大会など統計系のコミュニ ティではまだまだ知名度が低い, 今後もPRを続けたい 社外発信・PR 19 We are hiring!

Slide 20

Slide 20 text

● 経験値ゼロから A/B テストを全社的に布教した事例を紹介 ● 月並みだがエッセンスは協力的な他者を巻き込むこと ○ 輪読会やミートアップで部署間の連携を高める ● 大失敗を回避するための設計テンプレートの布教が有効 ○ プロダクト側と伴走して記入 ↔ テンプレ改定 のループ ● まだ道半ばですが,A/B テストに限らず, 社内で布教活動をしたい全ての皆様の参考に 少しでもなっていたら嬉しいです. まとめ 20

Slide 21

Slide 21 text

意思決定に活かしやすい A/B テスト設計の一案

Slide 22

Slide 22 text

● データサイエンティスト 3 年目 ● モデリングなどを通じてデータから示唆を与えるお仕事 ● 学部は経済で企業財務のゼミ ● 修士は工学で、確率シミュレーション ● 働き始めてからは、ベイズ統計に主な興味 自己紹介: 西川 凌 (にしかわ りょう) 22

Slide 23

Slide 23 text

● 「利益の期待値の最大化(損失の最小化)」という 一貫したフレームワークで意思決定を行うことができる方 法を紹介 ● 今回は、このフレームワークで以下を行う ○ A 案,B 案どちらを採用するかという意思決定 ○ そもそもの実験計画の策定 A/B テストを「意思決定」に活かす 23

Slide 24

Slide 24 text

● 利益の期待値を比較したい ● 以下のステップに従って意思決定を行う (ベイズ推論) ① 利益/損失を定める   ② 尤度関数を決める ③ 事前分布を決める  ④ データから事後分布を計算、意思決定! A 群, B 群の「利益」の比較方法 24

Slide 25

Slide 25 text

● どちらの広告を出した方が より利益が取れるか? 問題設定の例 25

Slide 26

Slide 26 text

①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 26

Slide 27

Slide 27 text

①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 27 広告の場合 ● 広告 A:8 円/ 1 クリック  ● 広告 B:10 円/ 1 クリック

Slide 28

Slide 28 text

①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 28 尤度(クリック数が従う分布)の例 ● 二項分布 ○ n: 広告表示回数 ○ p: クリック率  

Slide 29

Slide 29 text

①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 29 事前分布(データを見る前のクリック率の分布)の例 ● ベータ分布 ○ ベータ分布の例として、広告 A, B 共に

Slide 30

Slide 30 text

①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 30 事後分布(クリック率が従う分布)の例 ● ベータ分布 ○ 広告 A: 100 回クリック/300 回表示   ○ 広告 B: 50 回クリック/250 回表示 n: クリックされた数 m: クリックされなかった数 a, b: 事前分布のパラメータ

Slide 31

Slide 31 text

①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 31     広告 A (8 円/1 クリック) 利益の期待値 約 53,000 円 広告 B (10 円/1 クリック) 利益の期待値 約 20,000 円 1 万回広告を表示すると 広告 A に 決定! クリック率

Slide 32

Slide 32 text

● 実験の途中までで集まったデータを使って中間的な分析を 行うとする ● そのとき、以下の判断が必要になる ○ このまま実験を継続するかどうかの判断 ○ 継続するとしたらいつまで続けるか ● これも、「利益の期待値の最大化(コストの最小化)」と いう一貫したフレームワークで意思決定することができる 実験計画の設計 32

Slide 33

Slide 33 text

● サンプルサイズは大きすぎても小さすぎてもデメリット ○ 大きすぎるとデータ取得のコストがかかる ■ 例)A/B テストを実施している日数分、実施コスト ○ 小さすぎると推定を誤るリスクがある ■ 例)間違えてクリック率の低い方の広告を採用してし まうと、損失がある ● 上記の両方を考慮した損失関数を設計する ○ 損失 = (-1) × 利益 実験継続の決定のトレードオフ 33

Slide 34

Slide 34 text

● 以下のようにコストを定める(あくまで一例) ○ : サンプルサイズ (各群) ○ : 群を選ぶ意思決定 ○  : A 群、B 群のそれぞれのクリック率 ○   : A 群を選ぶ、B 群を選ぶ行動 ○   : 1 個体の取得コスト, : 間違えて A/B 群を選んだ損失 損失関数の設定 34 1 個体を 取得するコスト 群の選択を 間違えたコスト

Slide 35

Slide 35 text

● 続けるかどうかは、 「続けた後最適行動をした時のコスト」と、 「現時点で止めた時の最適行動をした時のコスト」を 現時点のデータから予測し、比較することで判断する。 ● 詳細については、参考文献を参照 どのように判断 35

Slide 36

Slide 36 text

● A/B 各群 n 個まで取ってこれた。各群もう n 個ずつ取るか決めたい。 ○ 上のコストの方が小さかったら追加で取る (参考)「コストの比較」を式で書くと 36 今までの A/B 各群 n 個で 追加のサンプルを 予測 追加で各群 n 個取った時の 損失 追加サンプルの予想で 期待値を取る クリック率の予測事後分布で 期待値を取る 群をうまく 決める 追加で 取る場合 止める 場合

Slide 37

Slide 37 text

実際のシミュレーション例 37 追加サンプルサイズ(各群) コ ス ト の 大 き さ コストの合計 群を間違える コスト サンプル取得コスト 最適値 今実験途中で、あと何サンプル 取るのが最適か? A 群: 5回/10回 B 群: 5回/10回

Slide 38

Slide 38 text

実際のシミュレーション例  38 追加サンプルサイズ(各群) コ ス ト の 大 き さ コストの合計 群を間違える コスト サンプル取得コスト これ以上続けても あまり変わらず、 しばらく経つと上昇傾向 A 群:95回/200回 B 群:100回/200回  他は前と同じ設定

Slide 39

Slide 39 text

● 「利益の期待値の最大化(損失の最小化)」という 一貫したフレームワークで意思決定を行う方法を紹介 ● 今回は、このフレームワークで以下を説明した ○ A 案,B 案どちらを採用するかという意思決定 ○ そもそもの実験計画の策定 まとめ 39

Slide 40

Slide 40 text

● 赤平 昌文, 小池 健一. 統計的逐次推定論. 共立出版 (2022) ○ ベイズを使わず頻度論で A/B テストをやる場合に ついても実験計画についての意思決定が記してあり、 おすすめ ○ 今回の発表のように、検出力の観点だけでなく サンプル取得コストについて記載 参考文献 40