Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
白金鉱業Meetup_経験値ゼロから始める A_B テスト布教活動と意思決定に活かしやすいA_...
Search
Taro Masuda
September 19, 2024
2
480
白金鉱業Meetup_経験値ゼロから始める A_B テスト布教活動と意思決定に活かしやすいA_Bテスト設計の一案 / brainpad-meetup-20240919
白金鉱業 Meetup Vol.15@六本木(効果検証)
https://brainpad-meetup.connpass.com/event/324913/
の登壇資料です。
Taro Masuda
September 19, 2024
Tweet
Share
More Decks by Taro Masuda
See All by Taro Masuda
Rist_Meetup_Kaggleは業務の役にたつ - ビジネスコンテンツ情報を活用する BtoB 事業編 - / rist-meetup-20241012
taro_masuda
1
590
企業・業界動向抽出のための経済情報ラベルの定義とタグ付きコーパスの構築 / yans2023-poster-s3-p21
taro_masuda
0
95
NLP2024 参加報告LT ~RAGの生成評価と懇親戦略~ / nlp2024_attendee_presentation_LT_masuda
taro_masuda
1
410
BtoBプロダクト改善のためのデータドリブン活動と組織の概要/b2b_data_driven_team
taro_masuda
0
900
企業の業界分類予測における共変量シフト問題の抑制
taro_masuda
3
1.4k
ディジタル信号処理の入り口に立つ
taro_masuda
3
320
歌声の特徴に基づいて曲を探そう!
taro_masuda
1
1.5k
NGBoost論文読んでみた
taro_masuda
2
3.8k
Featured
See All Featured
It's Worth the Effort
3n
183
28k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Making Projects Easy
brettharned
116
5.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
270
Making the Leap to Tech Lead
cromwellryan
133
9k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
BBQ
matthewcrist
85
9.4k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Transcript
経験値ゼロから始める A/B テスト布教活動 と 意思決定に活かしやすい A/B テスト設計の一案 白金鉱業 Meetup Vol.15
@六本木(効果検証) 日本経済新聞社 データサイエンティスト 増田太郎,西川凌
経験値ゼロから始める A/B テスト布教活動
自己紹介:増田 太郎(ますだ たろう) 3 • 日経で BtoB Web サービスの分析を担うデータサイエンティスト •
施策の効果を数値化することに興味 ◦ A/B テストやベイズ統計モデリング • 取得称号・資格 ◦ Kaggle Master,統計検定 1 級, Google Cloud PDE • 趣味 兼 宣伝 ◦ Kaggler などデータサイエンス界隈で楽しむ,ゆるフットサル⚽ • 業務内容:チームリーダーとしてメンバーの分析結果のレビュー・ メンター・教育,他部署での A/B テスト設計のお手伝い
• 「Pythonで学ぶ 効果検証入門」 が愛読書! • 実際に社内ミート アップで布教した スライドが こちら → アイスブレイク
4
• 日経では 各事業部=ユニット・室 にデータサイエンティスト (DS)が点在 → 👎 取り組み当初は縦割り感が強かった • 私のチームは
BtoB ユニット内の複数プロダクト横断でデータ施策を 担当 前提知識:組織体制 5 情報サービス (BtoB) ユニット 社長 デジタル編成 (電子版)ユニット プラットフォー ム推進室 D S S W E 営 業 ・・・ D S S W E 営 業 ・・・ D S S W E ・・・ ・・・
• A/B テスト導入以前 ◦ 👎チームメンバーが少なく,複数プロダクトから 降ってくる分析依頼に応える受動的な分析が多め • A/B テスト導入のきっかけ ◦
👍チームメンバー増:西川さん(新入社員)の入社 ▪ 数理統計の素養もあり,入社してすぐ効果検証 の枠組み作りに協力いただくことに決定 ◦ 能動的な分析をプロダクト側に提案したくなった 社内的経緯・内発的動機 6
A/B テスト布教活動の流れ 7 影響範囲 A/B テスト輪読会 社内ミートアップ 実験設計テンプレート制定 テスト実行 社外発信・PR
社外 自チーム +他部署有志 社内全体の DS + ユニット長・専務 Web プロダクトを扱う 全ての部署
• 知識ほぼゼロからスタート:まずはインプットから • 2022 年当時は「カバ本」を選定 ◦ 今なら「Python で学ぶ効果検証 入門」もオススメ •
興味のある SWE / DS / PdM たちを 他部署でも巻き込んで開催 • (余談) ◦ 自主的な勉強も並行して実施 ▪ 西川さんと違って増田は統計学の知識もほぼゼロ → 統計検定 1 級の取得を目安に独学 A/B テスト輪読会 8
• 👎 発表当番制 : 発表当番回と 非当番回の理解度にムラが出る • 👍 全員でコメント自由記入制 ◦
読んでいて「勉強になったこと・分からなかったこと・ 納得できないこと」のメモを事前に記載 ◦ 当日はメモを上から読んでいって議論 ◦ 毎回当事者意識を全員が持って参加できる ◦ 各自が疑問に思ったこと・引っかかったことの議論にフォーカス できるため時間の使い方が効率的 ▪ 自明なことの説明に時間を食わない 輪読会の運営方針 9
A/B テスト布教活動の流れ 10 影響範囲 A/B テスト輪読会 社内ミートアップ 実験設計テンプレート制定 テスト実行 社外発信・PR
社外 自チーム +他部署有志 社内全体の DS + ユニット長・専務 Web プロダクトを扱う 全ての部署
• A/B テスト輪読会 → DS 関連の取り 組みが社内で点在しているのもった いなくない?という課題感から企画 • 各部署のデータサイエンス関連の
取り組みを持ち回りで紹介 • 懇親会の費用拠出を専務に直談判 • 事業部長クラスも巻き込んでトーク • 社内で顔が売れる →他部署の A/B テスト設計のお手 伝いをして経験値を一気に積めた 社内組織横断型のミートアップの開催 11
A/B テスト布教活動の流れ 12 影響範囲 A/B テスト輪読会 社内ミートアップ 実験設計テンプレート制定 テスト実行 社外発信・PR
社外 自チーム +他部署有志 社内全体の DS + ユニット長・専務 Web プロダクトを扱う 全ての部署
• メルカリさんのブログを大いに参照 ◦ メルカリにおけるA/Bテスト標準 化への取り組み|Mercari Analytics Blog • Notion テンプレートを作成して
部署を超えて配布,普及を促す ◦ 分かりにくい・書きにくい項目に ついてフィードバックを貰い改訂 ▪ 実行フェーズに改定例あり 実験設計テンプレートの制定 13
A/B テスト布教活動の流れ 14 影響範囲 A/B テスト輪読会 社内ミートアップ 実験設計テンプレート制定 テスト実行 社外発信・PR
社外 自チーム +他部署有志 社内全体の DS + ユニット長・専務 Web プロダクトを扱う 全ての部署
• 全社展開したテンプレートを元に効果検証の枠組みが普及 ◦ 自部署でもテンプレートに忠実に従いテストを設計 ▪ 初期の頃から大きな失敗はしなくなった ◦ 後出しで「リリース済の新規機能の効果測定して」と 言われる悲しい事象が減った テスト実行
15
• 特に初期は DS が伴走する必要あり • 👎 事前の意思決定ルールの詰めが甘い部分で反省・失敗も ◦ 例:複数のドライバーメトリクスのうち一部だけが 有意に改善した時の
OK / NG の判断が曖昧だった → テンプレートに項目追加 実行フェーズで得られた教訓 16 ビジネス上の損失との トレードオフ →小さな案件の成功から そもそも指標が測定できるか 損失 効果
(参考) 事例: 記事推薦メールの文面変更 17 目的:記事推薦メールの CTR 向上 内容:メールのタイトル・本文の冒頭それぞれにおいて 記事タイトルを見せるなど複数の変更候補を一度に A/B
テスト 効果:最も良い組み合わせにおいては CTR が 20% 向上 Before After
A/B テスト布教活動の流れ 18 影響範囲 A/B テスト輪読会 社内ミートアップ 実験設計テンプレート制定 テスト実行 社外発信・PR
社外 自チーム +他部署有志 社内全体の DS + ユニット長・専務 Web プロダクトを扱う 全ての部署
• ベイジアン A/B テスト(発表後半)の 内容でブログ執筆 • 技術部門の紹介動画に出演 • 結果 ◦
👍 採用に好影響:カジュアル面談 等で「ブログ読みました!」と 声をかけていただく場面が増えた ◦ 👎 連合大会など統計系のコミュニ ティではまだまだ知名度が低い, 今後もPRを続けたい 社外発信・PR 19 We are hiring!
• 経験値ゼロから A/B テストを全社的に布教した事例を紹介 • 月並みだがエッセンスは協力的な他者を巻き込むこと ◦ 輪読会やミートアップで部署間の連携を高める • 大失敗を回避するための設計テンプレートの布教が有効
◦ プロダクト側と伴走して記入 ↔ テンプレ改定 のループ • まだ道半ばですが,A/B テストに限らず, 社内で布教活動をしたい全ての皆様の参考に 少しでもなっていたら嬉しいです. まとめ 20
意思決定に活かしやすい A/B テスト設計の一案
• データサイエンティスト 3 年目 • モデリングなどを通じてデータから示唆を与えるお仕事 • 学部は経済で企業財務のゼミ • 修士は工学で、確率シミュレーション
• 働き始めてからは、ベイズ統計に主な興味 自己紹介: 西川 凌 (にしかわ りょう) 22
• 「利益の期待値の最大化(損失の最小化)」という 一貫したフレームワークで意思決定を行うことができる方 法を紹介 • 今回は、このフレームワークで以下を行う ◦ A 案,B 案どちらを採用するかという意思決定
◦ そもそもの実験計画の策定 A/B テストを「意思決定」に活かす 23
• 利益の期待値を比較したい • 以下のステップに従って意思決定を行う (ベイズ推論) ① 利益/損失を定める ② 尤度関数を決める ③ 事前分布を決める ④ データから事後分布を計算、意思決定! A
群, B 群の「利益」の比較方法 24
• どちらの広告を出した方が より利益が取れるか? 問題設定の例 25
①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 26
①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 27
広告の場合 • 広告 A:8 円/ 1 クリック • 広告 B:10 円/ 1 クリック
①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 28
尤度(クリック数が従う分布)の例 • 二項分布 ◦ n: 広告表示回数 ◦ p: クリック率
①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 29
事前分布(データを見る前のクリック率の分布)の例 • ベータ分布 ◦ ベータ分布の例として、広告 A, B 共に
①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 30
事後分布(クリック率が従う分布)の例 • ベータ分布 ◦ 広告 A: 100 回クリック/300 回表示 ◦ 広告 B: 50 回クリック/250 回表示 n: クリックされた数 m: クリックされなかった数 a, b: 事前分布のパラメータ
①利益を定める ②尤度を 決める ③事前分布を 決める ④事後分布で 意思決定 A/B テストを「意思決定」に活かす 31
広告 A (8 円/1 クリック) 利益の期待値 約 53,000 円 広告 B (10 円/1 クリック) 利益の期待値 約 20,000 円 1 万回広告を表示すると 広告 A に 決定! クリック率
• 実験の途中までで集まったデータを使って中間的な分析を 行うとする • そのとき、以下の判断が必要になる ◦ このまま実験を継続するかどうかの判断 ◦ 継続するとしたらいつまで続けるか •
これも、「利益の期待値の最大化(コストの最小化)」と いう一貫したフレームワークで意思決定することができる 実験計画の設計 32
• サンプルサイズは大きすぎても小さすぎてもデメリット ◦ 大きすぎるとデータ取得のコストがかかる ▪ 例)A/B テストを実施している日数分、実施コスト ◦ 小さすぎると推定を誤るリスクがある ▪
例)間違えてクリック率の低い方の広告を採用してし まうと、損失がある • 上記の両方を考慮した損失関数を設計する ◦ 損失 = (-1) × 利益 実験継続の決定のトレードオフ 33
• 以下のようにコストを定める(あくまで一例) ◦ : サンプルサイズ (各群) ◦ : 群を選ぶ意思決定 ◦
: A 群、B 群のそれぞれのクリック率 ◦ : A 群を選ぶ、B 群を選ぶ行動 ◦ : 1 個体の取得コスト, : 間違えて A/B 群を選んだ損失 損失関数の設定 34 1 個体を 取得するコスト 群の選択を 間違えたコスト
• 続けるかどうかは、 「続けた後最適行動をした時のコスト」と、 「現時点で止めた時の最適行動をした時のコスト」を 現時点のデータから予測し、比較することで判断する。 • 詳細については、参考文献を参照 どのように判断 35
• A/B 各群 n 個まで取ってこれた。各群もう n 個ずつ取るか決めたい。 ◦ 上のコストの方が小さかったら追加で取る (参考)「コストの比較」を式で書くと
36 今までの A/B 各群 n 個で 追加のサンプルを 予測 追加で各群 n 個取った時の 損失 追加サンプルの予想で 期待値を取る クリック率の予測事後分布で 期待値を取る 群をうまく 決める 追加で 取る場合 止める 場合
実際のシミュレーション例 37 追加サンプルサイズ(各群) コ ス ト の 大 き さ
コストの合計 群を間違える コスト サンプル取得コスト 最適値 今実験途中で、あと何サンプル 取るのが最適か? A 群: 5回/10回 B 群: 5回/10回
実際のシミュレーション例 38 追加サンプルサイズ(各群) コ ス ト の 大 き さ
コストの合計 群を間違える コスト サンプル取得コスト これ以上続けても あまり変わらず、 しばらく経つと上昇傾向 A 群:95回/200回 B 群:100回/200回 他は前と同じ設定
• 「利益の期待値の最大化(損失の最小化)」という 一貫したフレームワークで意思決定を行う方法を紹介 • 今回は、このフレームワークで以下を説明した ◦ A 案,B 案どちらを採用するかという意思決定 ◦
そもそもの実験計画の策定 まとめ 39
• 赤平 昌文, 小池 健一. 統計的逐次推定論. 共立出版 (2022) ◦ ベイズを使わず頻度論で
A/B テストをやる場合に ついても実験計画についての意思決定が記してあり、 おすすめ ◦ 今回の発表のように、検出力の観点だけでなく サンプル取得コストについて記載 参考文献 40