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
Tech企業におけるA/B test
Search
Shota Yasui
May 16, 2020
Science
4
820
Tech企業におけるA/B test
日本評価学会社会実験分科会 2020 年研究報告会にて行われた発表です。
Shota Yasui
May 16, 2020
Tweet
Share
More Decks by Shota Yasui
See All by Shota Yasui
事業の役に立つ 「因果推論」
housecat442
4
1.6k
効果検証入門から見直す 「データサイエンス」
housecat442
38
15k
機械学習を用いた自動的な意思決定と反実仮想
housecat442
4
3.9k
バンディットと因果推論
housecat442
14
7.8k
Other Decks in Science
See All in Science
はじめてのバックドア基準:あるいは、重回帰分析の偏回帰係数を因果効果の推定値として解釈してよいのか問題
takehikoihayashi
2
730
Snowflake上でRを使う: RStudioセットアップとShinyアプリケーションのデプロイ
ktatsuya
0
420
インフラだけではない MLOps の話 @事例でわかるMLOps 機械学習の成果をスケールさせる処方箋 発売記念
icoxfog417
2
580
Celebrate UTIG: Staff and Student Awards 2024
utig
0
460
非同期コミュニケーションの構造 -チャットツールを用いた組織における情報の流れの設計について-
koisono
0
140
Causal discovery based on non-Gaussianity and nonlinearity
sshimizu2006
0
190
LIMEを用いた判断根拠の可視化
kentaitakura
0
340
The thin line between reconstruction, classification, and hallucination in brain decoding
ykamit
1
950
Science of Scienceおよび科学計量学に関する研究論文の俯瞰可視化_LT版
hayataka88
0
930
ほたるのひかり/RayTracingCamp10
kugimasa
0
210
Factorized Diffusion: Perceptual Illusions by Noise Decomposition
tomoaki0705
0
220
WCS-LA-2024
lcolladotor
0
120
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Fireside Chat
paigeccino
34
3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Docker and Python
trallard
40
3.1k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Code Reviewing Like a Champion
maltzj
520
39k
Done Done
chrislema
181
16k
Raft: Consensus for Rubyists
vanstee
136
6.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
89
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Transcript
Tech企業における A/B test(公開用) 2020/5/16 @日本評価学会社会実験分科会 Shota Yasui
自己紹介 名前:安井翔太(32) 職業:Economic Research Scientist web: https://yasui-salmon.github.io/ 経歴: 2011年 立教大学
経済学部卒業 2013年 Norwegian School of Economics MSc in Economics 2013年 Cyberagent 入社(総合職, 微妙な分析の量産) 2015年 アドテク部門へ異動(専門職, MLの応用) 2017年 AILabへ異動(研究職, ML + CI回りの応用) 良く使う言語: R, SQL, Python 2
Tech企業とA/Bテスト 3
テック企業とABテスト 4
テック企業で行われるABの量 5 +1000 test /day +200 test /day +??? test
/day
学会もある 6 Conference on Digital Experiment( Link)
Computer Scienceでの研究も盛ん 7 • sequential experiment • efficient adaptive
experiment • best arm identification
なぜそんなにABテストしているか? 8 長期的な利益につながるから
テック企業におけるRCT(A/Bテスト)の現実 9 一部のグローバルトップ企業 その他弱小ローカルテック企業
テック企業のABテストの考え方はこれ読むべき 10 Ron kohavi テック企業でABテスト文化を作り上げた人 Computer Scienceのトップ会議でABテストのチュートリ アルや研究発表を続けて啓蒙活動を行ってきた人。
CyberAgentでのA/Bテスト 11
ABテストの基本的なプロセス 12 logging 分析 ランダムにアサイン Treatment ランダムにアサイン Control 意思決定
CAでどんな実験をしているか? 13 例:広告画像のABテスト • どちらの画像の方がクリックされやすいだろうか? • 数十~百程度のABテストが回っている
• 広告画像を作るクリエイターや営業の人が実施する
ABテストが始まるまでの流れ 14 バナーを作成 クリエイター エンジニア ABテストの依頼 クリエイター 結果の分析
CAでどんな実験をしているか? 15 例:広告の配信アルゴリズムのABテスト • どちらのアルゴリズムの方が売上に貢献するだろうか? • 月10回程度
ABテストが始まるまでの流れ 16 データサイエンティスト エンジニア データサイエンティスト ABテストの依頼 若しくは自分で実装 データサイエンティスト 結果の分析 1%
vs 99% でスタート 結果が良ければ割り振り を増やす
社会科学的な設定と異なる点 17 • 意思決定者=分析者 ◦ クリエイターがABを依頼して、自分で結果を見る。 ◦ データサイエンティストがABを始め、自分で結果をみる。 • 分析と意思決定のサイクルが短い
◦ 通常業務に加え、大量の分析と意思決定の日々。 • 検証したい介入の種類が多い ◦ 改善しうるものはなんでも試したい
ここから生まれる需要 18 • 分析として正しい < 意思決定として正しい ◦ 最後の意思決定の質が重要 • 自動化の重要性 ◦ 実験が多くなるとより面倒に・・・
• 複雑な設定の実験を簡素にする ◦ より多くの設定で実験を使える状態にしたい →これにこたえたい
より効率的な意思決定の導入 19
意思決定する立場になると・・・ 20 分析における 検出力の最大化? 意思決定における Regretの最小化? 一体どちらがゴールなのか? 最適な選択との乖離=Regret
考えるお題 あるユーザーに対してどちらの広告テンプレートを見せるべきか? 21 slot_1 slot_2 slot_3 slot_1 slot _2
template_id: 26 template_id: 75
Regretという観点で実験を考え直す 1. トータルで1000万回広告を表示する 2. より多くのクリックを集めたい 3. 最初の200万回でABテストを行う 4. 良かった選択肢を選び続ける
実験では最適な選択との乖離が出来る=Regret →ビジネスにおける損失 22
Regretという観点で実験を考え直す 1. トータルで1000万回広告を表示する 2. より多くのクリックを集めたい 3. 最初の200万回でABテストを行う←ここに無駄がある 4. 良かった選択肢を選び続ける
実験では最適な選択との乖離が出来る=Regret →ビジネスにおける損失 23
Adaptiveな実験としてのバンディット あるユーザーに対してどちらの広告テンプレートを見せるべきか? →クリックがより起きそうな方を都度選ぶべき (クリックを増やしたいなら 24 slot_1 slot_2 slot_3 slot_1 slot
_2 template_id: 26 template_id: 75
Thompson Sampling MAB 25 model for 26 model for 75
ベータ分布 α:5 β:35 ベータ分布 α:3 β:12 0.2 0.4 sampling sampling arg max slot_1 slot _2 template_id: 75 clickされたらα=α+1 clickされなければβ=β+1 と更新する
Adaptiveな実験としてのバンディット あるユーザーに対してどちらの広告テンプレートを見せるべきか? →クリックがより起きそうな方を選ぶべき(クリックを増やしたいなら →機械学習で予測して、予測値が大き方を選べば良いのでは? 26 slot_1 slot_2 slot_3 slot_1 slot
_2 template_id: 26 template_id: 75
Thompson Sampling Contextual Bandit 27 model for 26 model for
75 特徴量xから予測する(ex. logistic regression y = f(x) 特徴量xから予測する y = g(x) 0.2 0.4 sampling sampling arg max slot_1 slot _2 template_id: 75 yを観測したらf or gを更新 都度更新ではなく1日1回のケースも 男性には26だけど女性には75が良いといった傾向が汲み取れる
Thompson Sampling Contextual Bandit 28 model for 26 model for
75 特徴量xから予測する y = f(x) 特徴量xから予測する y = g(x) 0.2 0.4 sampling sampling arg max slot_1 slot _2 template_id: 75 yを観測したらf or gを更新 都度更新ではなく1日1回のケースも Policy 男性には26だけど女性には75が良いといった傾向が汲み取れる
バンディットの利点 29 • Regretが一定のバウンドに収まる ◦ 意思決定の質がある程度担保される • 分析→意思決定のフローが自動 ◦
意思決定者としては楽 ◦ ちゃんと動作しているか?という運用コストが発生 ◦ この辺りはデータサイエンティストが頑張る?
バンディットのログから 評価を行う 30
分析・評価の必要性 • 広告主に対するレポート ◦ 次にどんな広告画像を作るべきなのか? ◦ 配信した広告画像は何が良かったのか? • バンディットの操作には分析が必要
◦ バンディットの選択肢を増減させたい ◦ 今ある選択肢の中でいらないものはどれか? →効果の推定が必要になる 31
バンディットフィードバック • Thompson Samplingの特徴 ◦ ある確率にしたがって腕を選択する=ABテスト ◦ X毎に選択確率が異なる=X毎に異なる確率でAB • 因果推論からの観点
◦ 腕の選択確率=真の傾向スコア ◦ Xは全て既知 →IPWで因果効果が推定できる状況 32
Biased Result • template_id毎にCTRを計算する • template_id:26のCTRが高そう →Biasを含んだ結果 営業や事業責任者の方が見るデータ 33 26以外いら
ないね!!
IPW result • バイアスがある程度減っているはず。 • 26がよかったというのは幻想だった。 • CTRはどれも大差ないという結果。 34
ATEベースで意思決定して良いのか? 35
Heterogeneity • interstitial ◦ 1: 全画面で見せる ◦ 0: 記事の中で見せる •
interstitial=0では26が良い • interstitial=1では75が良い 36 • ATEで悪くとも、あるXでは良い腕も存在しているかもしれない。 • ATEにしたがった意思決定をしても、改善出来ない可能性がある。
複雑な状況での効果検証 37
広告オークションにおける機械学習の役割 38 X 何かしらの 機械学習モデル 予測値を元に 入札額を計算 入札 落札費用 購買
• オークションで落札すると広告が表示出来る • 落札するとコストが発生する • 広告をクリックして物が買われると嬉しい →機械学習は購買確率やクリック確率を予測している
機械学習のABテスト 39 39 X 何かしらの 機械学習モデル 予測値を元に 入札額を計算 入札 落札費用
購買 ランダムに選んだユーザーに 別のモデルを使う
何が難しいか? • 費用の側面と収益の側面がある ◦ 薬であれば効果と副作用? • どの様に意思決定すればよいか? ◦ 収益と費用が同じ単位ではない場合が多い ▪
収益 vs ユーザー体験など ◦ 収益も増えるけど、費用も増えるモデルは良いモデルなのか? →実験が出来ても意思決定が難しい 40
取り敢えずの対処 • 以下の結果以外では結論が出る ◦ 費用が変わらないけど、収益が増える。 ◦ 収益が変わらないけど、費用が減る。 • 何かしらの重みを決めてスコアを出す
◦ Overall Evaluation Criteria(OEC)と呼ばれるもの ▪ Google, Amazon, Microsoft, etcはOECを決めるチームが存在する ◦ スコアに差があれば結論を出す 41
42 Yasui, Shota, Gota Morishita, Komei Fujita, Masashi Shibata. “A
Feedback Shift Correction in Predicting Conversion Rates under Delayed Feedback.” The Web Conference (WWW), Taipei, Apr. 2020 ある実験結果 • 機械学習におけるデータのバイアスを除去してABテスト • CPA: 購買を1件獲得するあたりの平均コスト • Cost: 広告費用 →平均コストは有意な差が無いが、広告費用は有意に増加。 広告配信ビジネス的には嬉しい結果。
おしまい 43