Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Sample Ratio Mismatchの紹介 @Geekな論文読み会
yagi
October 18, 2020
Technology
0
43
Sample Ratio Mismatchの紹介 @Geekな論文読み会
yagi
October 18, 2020
Tweet
Share
More Decks by yagi
See All by yagi
shyaginuma
2
3.1k
shyaginuma
0
320
shyaginuma
0
36
shyaginuma
1
780
shyaginuma
1
1.2k
shyaginuma
3
340
Other Decks in Technology
See All in Technology
gobeyond20xx
0
350
harshbothra
0
150
mahito
0
240
shoichiron
1
150
hayatan
0
200
uzabase_saas_product
0
100
htomine
0
170
mahito
0
230
go5paopao
4
540
ihcomega56
1
600
pg0084
1
140
inductor
1
140
Featured
See All Featured
jensimmons
207
10k
mthomps
38
2.3k
akmur
252
19k
lemiorhan
627
43k
aarron
257
36k
addyosmani
1346
190k
chriscoyier
498
130k
swwweet
206
6.9k
lara
172
9.6k
jrom
116
7.2k
maltzj
502
36k
sachag
446
36k
Transcript
Diagnosing Sample Ratio Mismatch in Online Controlled Experiments: Taxonomy and
Rules of Thumb for Practitioners 2020/10/18 Geekな論文読み会③ @yaginuuun
Metadata • 論文はここから • Author: Aleksander Fabijan, Microsoft • Date:
2019 • Journal: KDD
Contents • 論文を読んだモチベーション • Sample Ratio Mismatch(SRM)とは? • 5種類のSRM •
所感
論文を読んだモチベーション カバ本の中にSRMが出てきたが、理解の解像度が低かったので原著を当たり たかった Trustworthy Online Controlled Experiments: A Practical Guide
to A/B Testing • 今のところ今年で一番読んで良かった本 • A/Bテストに関するGold Standardな本になると思ってる • 英語のみ
Sample Ratio Mismatch(SRM)とは? 各Variantに割り当てられるunit数が事前の想定と乖離する現象のこと 例)1つのcontrol群、1つのtreatment群に等しくunitを割り当てるシンプルな二群比較を 考える。 この場合、Sample Ratio(それぞれのvariantに割り当てられたunit数の比)は1となること が想定されている。 Sample
Ratio = [# of units in treatment]/[# of units in control]
SRMが発生していると何が問題なのか? セレクションバイアスが生じている可能性が非常に高くなる ▶ 検証結果の信頼性が著しく損なわれてしまう セレクションバイアスが生じている検証の例: • ECサービスにおけるCRM施策の効果検証 • クーポンメールを開封したunitと開封しなかったunitでの売り上げ比較 ▶
効果が過大評価される
SRMの検出方法 適合度のカイ二乗検定で検出可能 • O: 各Variantに割り当てられたunit数 • E: 各Variantに割り当てられるunit数の想定値
SRMはいつ発生するのか? A/Bテストの主なプロセス: ① Assignment: システムがvariantを割り当てる ② Execution: 実際に各unitが介入を受け、ログが発行される ③ Log
Processing: 発行されたログが、DBに格納される ④ Analysis: 分析者が集計を行う A. 全てのStepで発生し得る(ので原因究明も難しい)
5種類のSRM • Experiment Assignment SRMs • Experiment Execution SRMs •
Experiment Log Processing SRMs • Experiment Analysis SRMs • Experiment Interference SRMs
Experiment Execution SRMs • SkypeにおけるA/Bテスト • バッファリングパラメータをダイナミックに調整することで通話音質向上を 狙ったテスト • 音質は有意に悪化する結果になった
• treatment群でunit数が30%少ないことがわかった(SRMの発生)
Experiment Execution SRMs A. バグによってセッション途中にvariantのidが実際にアサインされているものと は違うものに更新されてしまっていた バグの影響を受けていないサブグループにおいて効果検証を行った結果、音 質は改善していた。
Experiment Execution SRMs どのようにすれば原因までたどり着けるか? 一筋縄では行かないが・・・ • 様々な角度からmetricsをモニタリングする ◦ data quality
metrics: Sample Ratioやログの記録回数など ◦ product performance metrics: 応答速度など ◦ engagement metrics: ユーザー行動の指標
Experiment Analysis SRMs • Microsoft TeamsにおけるA/Bテスト • First-Run Experience(FRE) page(最初にプロダクトを起動した時に開かれ
るページ)をスキップするテスト • FREページを見たunitだけに絞って分析を実施した • treatment群でunit数が多くなった(全体では発生していない)
Experiment Analysis SRMs A. Control群はロード時間が長く、FREページにたどり着く前に離脱してしまう unitが多かった。 おそらくこれが分析者としては遭遇回数が多いと思う • セグメントを実験期間含めて切る •
分母の数値が変わる指標で評価をする • etc...
SRM Taxonomy
所感 • SRMについての認識がかなりクリアになった • 文中にも書いてあるが、まず存在の認識を共有するのがSRMを避ける上 で重要 • SRMの原因解明のためには様々な角度でのモニタリングが筋が良い