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
830
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
Factorized Diffusion: Perceptual Illusions by Noise Decomposition
tomoaki0705
0
270
はじめての「相関と因果とエビデンス」入門:“動機づけられた推論” に抗うために
takehikoihayashi
17
7k
Snowflake上でRを使う: RStudioセットアップとShinyアプリケーションのデプロイ
ktatsuya
PRO
0
480
Online Feedback Optimization
floriandoerfler
0
520
Introduction to Image Processing: 2.Frequ
hachama
0
270
Celebrate UTIG: Staff and Student Awards 2024
utig
0
500
LIMEを用いた判断根拠の可視化
kentaitakura
0
370
DEIM2024 チュートリアル ~AWSで生成AIのRAGを使ったチャットボットを作ってみよう~
yamahiro
3
1.4k
ベイズのはなし
techmathproject
0
340
位相的データ解析とその応用例
brainpadpr
1
720
証明支援系LEANに入門しよう
unaoya
0
460
ベイズ最適化をゼロから
brainpadpr
2
900
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Visualization
eitanlees
146
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Writing Fast Ruby
sferik
628
61k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Site-Speed That Sticks
csswizardry
2
190
GitHub's CSS Performance
jonrohan
1030
460k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Producing Creativity
orderedlist
PRO
341
39k
Mobile First: as difficult as doing things right
swwweet
222
9k
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