SlideShare a Scribd company logo
1 of 28
Large-Scale Online Experimentation with Quantile Metrics
Min Liu
Senior Applied Researcher, LinkedIn
Outline
• Motivation
• Challenges
• End-to-end solution
• Methodology for scalable and accurate estimate of quantile variance​
• Pipeline design​
Conventional A/B Test
A B
Connections made A Connections made B
Conventional A/B Test
A B
Connections made A Connections made B
% diff in Avg connections made
Statistical significance (p<0.05)
Why quantiles?
• Need to make sure slowest pages are not too slow
vs
All pages experience 0.5s
PLT increase
10% pages experience 5s
PLT increase
Same in average but different user perception
Why quantiles?
• Need to make sure slowest pages are not too slow
• Protect users from slow experience by detecting degradation in p90 PLT
vs
All pages experience 0.5s
PLT increase
10% pages experience 5s
PLT increase
Same in average but different user perception
Requirements for Quantile Metric A/B Testing
• Statistically valid
• Correct standard deviation, p-value, error margin
• Scalable
• 300+ concurrent A/B tests
• 500+ performance metric / experiment
• Up to 500 million members / experiment
• 300TB+
• Needs to finish 4hrs
Methodology
Challenges
• Hard to be both statistically valid and scalable
• Existing solutions
Solution Statistically
Valid
Scalable
Bootstrap X O
Asymptotic
estimate assuming
independence
O X
Proposed solution
• Statistically valid
• only 2% chance that the estimate differs from
bootstrap by 5%, when sample size > 5000 *
• Scalable
• 500x speedup compared to bootstrap
• Scalable estimator + pipeline optimizations
• * Estimated with real experiment data with different combinations of sample size,
date range, weekday&weekend mix, geo location, platform, pagekey, page load
mode.
Proposed solution
Members 𝑖 = 1,2, … , 𝑛
𝑖 has page views 𝑗 = 1,2, … , 𝑃𝑖
PLT of 𝑖 ‘s page view 𝑗 is 𝑋𝑖,𝑗
𝑄 -- sample quantile of
𝑋𝑖,𝑗’s
𝑠𝑡𝑑𝑑𝑒𝑣( 𝑄) -- standard
deviation of 𝑄
𝑛( 𝑄 − 𝑄)
𝐷
N(0, 𝜎2
)
Proposed solution
Members 𝑖 = 1,2, … , 𝑛
𝑖 has page views 𝑗 = 1,2, … , 𝑃𝑖
PLT of 𝑖 ‘s page view 𝑗 is 𝑋𝑖,𝑗
𝑄 -- sample quantile of
𝑋𝑖,𝑗’s
𝑠𝑡𝑑𝑑𝑒𝑣( 𝑄) -- standard
deviation of 𝑄
𝑛( 𝑄 − 𝑄)
𝐷
N(0, 𝜎2
)
Proposed solution
Members 𝑖 = 1,2, … , 𝑛
𝑖 has page views 𝑗 = 1,2, … , 𝑃𝑖
PLT of 𝑖 ‘s page view 𝑗 is 𝑋𝑖,𝑗
𝑄 -- sample quantile of
𝑋𝑖,𝑗’s
𝑠𝑡𝑑𝑑𝑒𝑣( 𝑄) -- standard
deviation of 𝑄
𝑛( 𝑄 − 𝑄)
𝐷
N(0, 𝜎2
)
Proposed solution
Asymptotic distribution with i.i.d PLT’s
⟺
Each member 𝑖 has 1 page view
𝐽𝑖 = 𝐼{𝑋𝑖 ≤ 𝑥}. 𝐽𝑖~𝐵𝑒𝑟𝑛 𝑝
𝐹𝑛(𝑥) =
1
𝑛 𝑖 𝐽𝑖.
1. 𝑛 𝐹𝑛 𝑄 − 𝐹 𝑄
𝐷
𝑁(0, 𝜎2
)
2. 𝑛 𝐹𝑛 𝑄 − 𝐹 𝑄
𝐷
𝑁(0, 𝜎2
)
3. 𝑛 𝑞 − 𝐹 𝑄
𝐷
𝑁(0, 𝜎2
)
4. 𝑛( 𝑄−𝑄)
𝐷
N(0,
𝜎2
𝑓 𝑄 2)
reference
Proposed solution
Asymptotic distribution with i.i.d PLT’s
⟺
Each member 𝑖 has 1 page view
𝐽𝑖 = 𝐼{𝑋𝑖 ≤ 𝑥}. 𝐽𝑖~𝐵𝑒𝑟𝑛 𝑝
𝐹𝑛(𝑥) =
1
𝑛 𝑖 𝐽𝑖.
1. 𝑛 𝐹𝑛 𝑄 − 𝐹 𝑄
𝐷
𝑁(0, 𝜎2
)
2. 𝑛 𝐹𝑛 𝑄 − 𝐹 𝑄
𝐷
𝑁(0, 𝜎2
)
3. 𝑛 𝑞 − 𝐹 𝑄
𝐷
𝑁(0, 𝜎2
)
4. 𝑛( 𝑄−𝑄)
𝐷
N(0,
𝜎2
𝑓 𝑄 2)
reference
Asymptotic distribution with non-i.i.d PLT’s
𝐽𝑖 = 𝑗 𝐼 𝑋𝑖,𝑗 ≤ 𝑥 . 𝐽𝑖’s are i.i.d
𝑌𝑛(𝑥) =
1
𝑛 𝑖 𝐽𝑖 and 𝑃𝑛 =
1
𝑛 𝑖 𝑃𝑖. 𝐹𝑛(𝑥) =
𝑌𝑛 𝑥
𝑃 𝑛
0. 𝑛[ 𝑌𝑛 𝑄
𝑃 𝑛
− 𝜇 𝐽
𝜇 𝑃
]
𝐷
𝑁(0, Σ)
1. 𝑛(𝐹𝑛(𝑄) − 𝐹(𝑄))
𝐷
𝑁(0, 𝜎 𝑃,𝐽
2
)
where 𝐹 𝑄 =
𝐹 𝑄 𝜇 𝑃
𝜇 𝑃
=
𝐸[𝐸(𝐽 𝑖|𝑃 𝑖)]
𝜇 𝑃
=
𝜇 𝐽
𝜇 𝑃
2. 𝑛 𝐹𝑛 𝑄 − 𝐹 𝑄
𝐷
𝑁(0, 𝜎 𝑃,𝐽
2
)
3. 𝑛 𝑞 − 𝐹 𝑄
𝐷
𝑁(0, 𝜎 𝑃,𝐽
2
)
4. 𝑛( 𝑄−𝑄)
𝐷
N(0,
𝜎 𝑃,𝐽
2
𝑓 𝑄 2)
Proposed solution – a few comments
• The derivation requires following conditions
• 𝐹𝑛 𝑥 does not have huge ‘steps’ and 𝑛step size 0 as 𝑛 ∞
• Sufficient condition is 𝑃𝑖 is bounded
• 𝑄 is a consistent estimate of 𝑄.
• True if 𝜇 𝑃 exists and is finite.
Proposed solution – a few comments
• 𝑓(𝑄) estimated by average density in a window ( 𝑄 − 𝛿, 𝑄 + 𝛿]
• 𝛿 set to 50ms for initial estimate
• Then set to 2 × 𝑠𝑡𝑑𝑑𝑒𝑣, turns out to be very effective in reducing estimation error
Pipeline Design
Computing Quantile -- Challenges
member id (exp, treatment)
M1 (E1, T1)
M1 (E2, C)
M2 (E1, C)
... ...
Experiment Tracking
Metric Tracking
member id page PLT
M1 home 1001ms
M1 jobs 938ms
M2 jobs 900ms
... ... ...
(exp, treatment, page) P90 stddev
(E1, T1, home) 1001ms 5ms
(E1, T1, jobs) 925ms 2ms
(E1, C, jobs) 800ms 3ms
... ... ...
INPUT
OUTPUT
Computing Quantile -- Challenges
member id (exp, treatment)
M1 (E1, T1)
M1 (E2, C)
M2 (E1, C)
... ...
Experiment Tracking
Metric Tracking
member id page PLT
M1 home 1001ms
M1 jobs 938ms
M2 jobs 900ms
... ... ...
member
id
(exp,
treatment)
page PLT
M1 (E1, T1) home 1001ms
M1 (E1, T1) jobs 938ms
M1 (E2, C) home 1001ms
M1 (E2, C) jobs 938ms
M2 (E1, C) jobs 1105ms
... ... ... ...
JOIN
on
member
id
GROUP By
(exp, trt,
page);
compute
quantile &
stddev within
each group
(exp, treatment, page) P90 stddev
(E1, T1, home) 1001ms 5ms
(E1, T1, jobs) 925ms 2ms
(E1, C, jobs) 800ms 3ms
... ... ...
Computing Quantile -- Challenges
member id (exp, treatment)
M1 (E1, T1)
M1 (E2, C)
M2 (E1, C)
... ...
Experiment Tracking
Metric Tracking
member id page PLT
M1 home 1001ms
M1 jobs 938ms
M2 jobs 900ms
... ... ...
member
id
(exp,
treatment)
page PLT
M1 (E1, T1) home 1001ms
M1 (E1, T1) jobs 938ms
M1 (E2, C) home 1001ms
M1 (E2, C) jobs 938ms
M2 (E1, C) jobs 1105ms
... ... ... ...
JOIN
GROUP By
compute
quantile &
stddev within
each group
(exp, treatment, page) P90 stddev
(E1, T1, home) 1001ms 5ms
(E1, T1, jobs) 925ms 2ms
(E1, C, jobs) 800ms 3ms
... ... ...
Computing Quantile -- Challenges
member id (exp, treatment)
M1 (E1, T1)
M1 (E2, C)
M2 (E1, C)
... ...
Experiment Tracking
Metric Tracking
member id page PLT
M1 home 1001ms
M1 jobs 938ms
M2 jobs 900ms
... ... ...
member
id
(exp,
treatment)
page PLT
M1 (E1, T1) home 1001ms
M1 (E1, T1) jobs 938ms
M1 (E2, C) home 1001ms
M1 (E2, C) jobs 938ms
M2 (E1, C) jobs 1105ms
... ... ... ...
JOIN
Data explosion after JOIN!!
Joined table at least 10x larger than inputs.
m rows
n rows
m x n rows
Computing Quantile -- Solutions
• Compress input
• Experiment tracking → Bitmap; compression rate 30x
• Encode string with numbers; e.g. 0 = home, 1 = jobs
• Be smarter about join
• Co-partition both inputs by member id.
• Store PLT’s under each (exp, treatment, page) as a histogram
• Aggregate histograms across partitions
Computing Quantile -- Solutions
id (exp, treatment)
M1 (E1, T1)
M1 (E2, C)
M2 (E1, C)
... ...
Experiment Tracking
(300 billion rows)
Metric Tracking
id page PLT
M1 home 1001ms
M1 jobs 938ms
M2 jobs 900ms
... ... ...
(E1, T1, 0)
... 1001ms 1002ms ...
... 1 2 ...
(E1, T1, 1)
... 938ms 945ms ...
... 1 1 ...
...
partition 1
I. co-partition
II. join
III. generate
within
partition
summary stats
(E1, T1, 0)
... 1001ms 1002ms ...
... 1 3 ...
(E1, T1, 1)
... 938ms 939ms ...
... 2 1 ...
...
partition 2
(E1, T1, 0)
... 1001ms 1002ms ...
... 2 5 ...
(E1, T1, 1)
... 938ms 939ms 945ms ...
... 3 1 1 ...
...
cross-partition
aggregation
Computing Stddev of Quantile
• Almost the same as computing quantiles, except summary stats are different
• Instead of histogram, we now compute within partition
• 𝐽 = 𝑖 𝐽𝑖 = 𝑖,𝑗 𝐼 𝑋𝑖,𝑗 ≤ 𝑄 --# of pageviews with plt ≤ quantile 𝑄
• 𝑃 = 𝑖 𝑃𝑖 --# of total pageviews
• 𝐽2
= 𝑖 𝐽𝑖
2
-- cross product of 𝐽 and 𝑃 for computing variance-covariance matrix Σ
• 𝑃2
= 𝑖 𝑃𝑖
2
-- cross product of 𝐽 and 𝑃 for computing variance-covariance matrix Σ
• 𝐽𝑃 = 𝑖 𝐽𝑖 𝑃𝑖 -- cross product of 𝐽 and 𝑃 for computing variance-covariance matrix Σ
• 𝑛 -- # of unique members
• 𝐷 = 𝑖,𝑗 𝐼 𝑄 − 𝛿 ≤ 𝑋𝑖,𝑗 ≤ 𝑄 + 𝛿 --# of pageviews within a window around 𝑄, to estimate 𝑓(𝑄)
• Cross-partition aggregation is simply taking sum
• Stddev adjustment is the same as the stddev computation, except changing the window to 2
× 𝑠𝑡𝑑𝑑𝑒𝑣
Results
Performance
• 300+ expeirments; 3000+ metrics; up to 500MM members / experiment
• Experiment duration up to 30 days
• Flow finishes in 2 hours
Sample A/B Test Result

More Related Content

What's hot

Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編Ayumu Itou
 
音楽を見る:情報可視化技術の音楽情報処理への適用
音楽を見る:情報可視化技術の音楽情報処理への適用音楽を見る:情報可視化技術の音楽情報処理への適用
音楽を見る:情報可視化技術の音楽情報処理への適用Takayuki Itoh
 
Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Ryosuke Okuta
 
20170618論文読み会 伊藤
20170618論文読み会 伊藤20170618論文読み会 伊藤
20170618論文読み会 伊藤Tomoki Itou
 
UI/UXが無意識に検索行動に与える影響について
UI/UXが無意識に検索行動に与える影響についてUI/UXが無意識に検索行動に与える影響について
UI/UXが無意識に検索行動に与える影響についてTairo Moriyama
 
最近のDQN
最近のDQN最近のDQN
最近のDQNmooopan
 
QGISセミナー初級・基礎編(V2.4)
QGISセミナー初級・基礎編(V2.4)QGISセミナー初級・基礎編(V2.4)
QGISセミナー初級・基礎編(V2.4)IWASAKI NOBUSUKE
 
小數據如何實現電腦視覺,微軟AI研究首席剖析關鍵
小數據如何實現電腦視覺,微軟AI研究首席剖析關鍵小數據如何實現電腦視覺,微軟AI研究首席剖析關鍵
小數據如何實現電腦視覺,微軟AI研究首席剖析關鍵CHENHuiMei
 
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy OptimizationDeep Learning JP
 
グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習Ichigaku Takigawa
 
DX 組織デザインパターン
DX 組織デザインパターンDX 組織デザインパターン
DX 組織デザインパターンOsaka University
 
K meansによるクラスタリングの解説と具体的なクラスタリングの活用方法の紹介
K meansによるクラスタリングの解説と具体的なクラスタリングの活用方法の紹介K meansによるクラスタリングの解説と具体的なクラスタリングの活用方法の紹介
K meansによるクラスタリングの解説と具体的なクラスタリングの活用方法の紹介Takeshi Mikami
 
機械学習は化学研究の"経験と勘"を合理化できるか?
機械学習は化学研究の"経験と勘"を合理化できるか?機械学習は化学研究の"経験と勘"を合理化できるか?
機械学習は化学研究の"経験と勘"を合理化できるか?Ichigaku Takigawa
 
Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...
Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...
Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...Daniel Katz
 
Power Platform +αを活用すると家計簿はこんなにも便利になる
Power Platform +αを活用すると家計簿はこんなにも便利になるPower Platform +αを活用すると家計簿はこんなにも便利になる
Power Platform +αを活用すると家計簿はこんなにも便利になるJunichi Kodama
 
DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...
DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...
DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...harmonylab
 
音楽の情報処理
音楽の情報処理音楽の情報処理
音楽の情報処理Akinori Ito
 
【東工大・鈴木良郎の論文紹介】10万枚の網膜画像を 1枚も誤判定なく異常判定可能なAI(論文の原題:Deep learning achieves perf...
【東工大・鈴木良郎の論文紹介】10万枚の網膜画像を 1枚も誤判定なく異常判定可能なAI(論文の原題:Deep learning achieves perf...【東工大・鈴木良郎の論文紹介】10万枚の網膜画像を 1枚も誤判定なく異常判定可能なAI(論文の原題:Deep learning achieves perf...
【東工大・鈴木良郎の論文紹介】10万枚の網膜画像を 1枚も誤判定なく異常判定可能なAI(論文の原題:Deep learning achieves perf...ssuser1bf283
 

What's hot (20)

Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編
 
音楽を見る:情報可視化技術の音楽情報処理への適用
音楽を見る:情報可視化技術の音楽情報処理への適用音楽を見る:情報可視化技術の音楽情報処理への適用
音楽を見る:情報可視化技術の音楽情報処理への適用
 
Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御
 
20170618論文読み会 伊藤
20170618論文読み会 伊藤20170618論文読み会 伊藤
20170618論文読み会 伊藤
 
UI/UXが無意識に検索行動に与える影響について
UI/UXが無意識に検索行動に与える影響についてUI/UXが無意識に検索行動に与える影響について
UI/UXが無意識に検索行動に与える影響について
 
最近のDQN
最近のDQN最近のDQN
最近のDQN
 
QGISセミナー初級・基礎編(V2.4)
QGISセミナー初級・基礎編(V2.4)QGISセミナー初級・基礎編(V2.4)
QGISセミナー初級・基礎編(V2.4)
 
小數據如何實現電腦視覺,微軟AI研究首席剖析關鍵
小數據如何實現電腦視覺,微軟AI研究首席剖析關鍵小數據如何實現電腦視覺,微軟AI研究首席剖析關鍵
小數據如何實現電腦視覺,微軟AI研究首席剖析關鍵
 
ABCD Reflection
ABCD ReflectionABCD Reflection
ABCD Reflection
 
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization
 
グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習
 
DX 組織デザインパターン
DX 組織デザインパターンDX 組織デザインパターン
DX 組織デザインパターン
 
K meansによるクラスタリングの解説と具体的なクラスタリングの活用方法の紹介
K meansによるクラスタリングの解説と具体的なクラスタリングの活用方法の紹介K meansによるクラスタリングの解説と具体的なクラスタリングの活用方法の紹介
K meansによるクラスタリングの解説と具体的なクラスタリングの活用方法の紹介
 
Microsoft Imagine Cupと深層学習を用いた音源分離技術について_言語音声ナイト
Microsoft Imagine Cupと深層学習を用いた音源分離技術について_言語音声ナイトMicrosoft Imagine Cupと深層学習を用いた音源分離技術について_言語音声ナイト
Microsoft Imagine Cupと深層学習を用いた音源分離技術について_言語音声ナイト
 
機械学習は化学研究の"経験と勘"を合理化できるか?
機械学習は化学研究の"経験と勘"を合理化できるか?機械学習は化学研究の"経験と勘"を合理化できるか?
機械学習は化学研究の"経験と勘"を合理化できるか?
 
Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...
Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...
Legal Analytics versus Empirical Legal Studies - or - Causal Inference vs Pre...
 
Power Platform +αを活用すると家計簿はこんなにも便利になる
Power Platform +αを活用すると家計簿はこんなにも便利になるPower Platform +αを活用すると家計簿はこんなにも便利になる
Power Platform +αを活用すると家計簿はこんなにも便利になる
 
DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...
DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...
DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...
 
音楽の情報処理
音楽の情報処理音楽の情報処理
音楽の情報処理
 
【東工大・鈴木良郎の論文紹介】10万枚の網膜画像を 1枚も誤判定なく異常判定可能なAI(論文の原題:Deep learning achieves perf...
【東工大・鈴木良郎の論文紹介】10万枚の網膜画像を 1枚も誤判定なく異常判定可能なAI(論文の原題:Deep learning achieves perf...【東工大・鈴木良郎の論文紹介】10万枚の網膜画像を 1枚も誤判定なく異常判定可能なAI(論文の原題:Deep learning achieves perf...
【東工大・鈴木良郎の論文紹介】10万枚の網膜画像を 1枚も誤判定なく異常判定可能なAI(論文の原題:Deep learning achieves perf...
 

Similar to Large Scale Online Experimentation with Quantile Metrics

Introduction to Nastran SOL 200 Size Optimization
Introduction to Nastran SOL 200 Size OptimizationIntroduction to Nastran SOL 200 Size Optimization
Introduction to Nastran SOL 200 Size OptimizationChristian Aparicio
 
مدخل إلى تعلم الآلة
مدخل إلى تعلم الآلةمدخل إلى تعلم الآلة
مدخل إلى تعلم الآلةFares Al-Qunaieer
 
Machine Learning: An introduction โดย รศ.ดร.สุรพงค์ เอื้อวัฒนามงคล
Machine Learning: An introduction โดย รศ.ดร.สุรพงค์  เอื้อวัฒนามงคลMachine Learning: An introduction โดย รศ.ดร.สุรพงค์  เอื้อวัฒนามงคล
Machine Learning: An introduction โดย รศ.ดร.สุรพงค์ เอื้อวัฒนามงคลBAINIDA
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of AlgorithmsSwapnil Agrawal
 
A deep learning approach for twitter spam detection lijie zhou
A deep learning approach for twitter spam detection lijie zhouA deep learning approach for twitter spam detection lijie zhou
A deep learning approach for twitter spam detection lijie zhouAnne(Lijie) Zhou
 
Introduction to computing Processing and performance.pdf
Introduction to computing Processing and performance.pdfIntroduction to computing Processing and performance.pdf
Introduction to computing Processing and performance.pdfTulasiramKandula1
 
CS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of AlgorithmsCS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of AlgorithmsKrishnan MuthuManickam
 
Paper study: Attention, learn to solve routing problems!
Paper study: Attention, learn to solve routing problems!Paper study: Attention, learn to solve routing problems!
Paper study: Attention, learn to solve routing problems!ChenYiHuang5
 
Paper study: Learning to solve circuit sat
Paper study: Learning to solve circuit satPaper study: Learning to solve circuit sat
Paper study: Learning to solve circuit satChenYiHuang5
 
Transformers.pdf
Transformers.pdfTransformers.pdf
Transformers.pdfAli Zoljodi
 
Unit-1 Basic Concept of Algorithm.pptx
Unit-1 Basic Concept of Algorithm.pptxUnit-1 Basic Concept of Algorithm.pptx
Unit-1 Basic Concept of Algorithm.pptxssuser01e301
 
SVD and the Netflix Dataset
SVD and the Netflix DatasetSVD and the Netflix Dataset
SVD and the Netflix DatasetBen Mabey
 
COCOA: Communication-Efficient Coordinate Ascent
COCOA: Communication-Efficient Coordinate AscentCOCOA: Communication-Efficient Coordinate Ascent
COCOA: Communication-Efficient Coordinate Ascentjeykottalam
 
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiy
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiyTues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiy
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiyAnton Yazovskiy
 
Polyglot Persistence in the Real World: Cassandra + S3 + MapReduce
Polyglot Persistence in the Real World: Cassandra + S3 + MapReducePolyglot Persistence in the Real World: Cassandra + S3 + MapReduce
Polyglot Persistence in the Real World: Cassandra + S3 + MapReducethumbtacktech
 
2014-mo444-practical-assignment-04-paulo_faria
2014-mo444-practical-assignment-04-paulo_faria2014-mo444-practical-assignment-04-paulo_faria
2014-mo444-practical-assignment-04-paulo_fariaPaulo Faria
 
The Needleman-Wunsch Algorithm for Sequence Alignment
The Needleman-Wunsch Algorithm for Sequence Alignment The Needleman-Wunsch Algorithm for Sequence Alignment
The Needleman-Wunsch Algorithm for Sequence Alignment Parinda Rajapaksha
 
IRJET - Design of a Low Power Serial- Parallel Multiplier with Low Transition...
IRJET - Design of a Low Power Serial- Parallel Multiplier with Low Transition...IRJET - Design of a Low Power Serial- Parallel Multiplier with Low Transition...
IRJET - Design of a Low Power Serial- Parallel Multiplier with Low Transition...IRJET Journal
 

Similar to Large Scale Online Experimentation with Quantile Metrics (20)

Introduction to Nastran SOL 200 Size Optimization
Introduction to Nastran SOL 200 Size OptimizationIntroduction to Nastran SOL 200 Size Optimization
Introduction to Nastran SOL 200 Size Optimization
 
مدخل إلى تعلم الآلة
مدخل إلى تعلم الآلةمدخل إلى تعلم الآلة
مدخل إلى تعلم الآلة
 
Machine Learning: An introduction โดย รศ.ดร.สุรพงค์ เอื้อวัฒนามงคล
Machine Learning: An introduction โดย รศ.ดร.สุรพงค์  เอื้อวัฒนามงคลMachine Learning: An introduction โดย รศ.ดร.สุรพงค์  เอื้อวัฒนามงคล
Machine Learning: An introduction โดย รศ.ดร.สุรพงค์ เอื้อวัฒนามงคล
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of Algorithms
 
A deep learning approach for twitter spam detection lijie zhou
A deep learning approach for twitter spam detection lijie zhouA deep learning approach for twitter spam detection lijie zhou
A deep learning approach for twitter spam detection lijie zhou
 
Introduction to computing Processing and performance.pdf
Introduction to computing Processing and performance.pdfIntroduction to computing Processing and performance.pdf
Introduction to computing Processing and performance.pdf
 
CS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of AlgorithmsCS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of Algorithms
 
Paper study: Attention, learn to solve routing problems!
Paper study: Attention, learn to solve routing problems!Paper study: Attention, learn to solve routing problems!
Paper study: Attention, learn to solve routing problems!
 
Paper study: Learning to solve circuit sat
Paper study: Learning to solve circuit satPaper study: Learning to solve circuit sat
Paper study: Learning to solve circuit sat
 
Algorithms
Algorithms Algorithms
Algorithms
 
Transformers.pdf
Transformers.pdfTransformers.pdf
Transformers.pdf
 
presentazione
presentazionepresentazione
presentazione
 
Unit-1 Basic Concept of Algorithm.pptx
Unit-1 Basic Concept of Algorithm.pptxUnit-1 Basic Concept of Algorithm.pptx
Unit-1 Basic Concept of Algorithm.pptx
 
SVD and the Netflix Dataset
SVD and the Netflix DatasetSVD and the Netflix Dataset
SVD and the Netflix Dataset
 
COCOA: Communication-Efficient Coordinate Ascent
COCOA: Communication-Efficient Coordinate AscentCOCOA: Communication-Efficient Coordinate Ascent
COCOA: Communication-Efficient Coordinate Ascent
 
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiy
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiyTues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiy
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiy
 
Polyglot Persistence in the Real World: Cassandra + S3 + MapReduce
Polyglot Persistence in the Real World: Cassandra + S3 + MapReducePolyglot Persistence in the Real World: Cassandra + S3 + MapReduce
Polyglot Persistence in the Real World: Cassandra + S3 + MapReduce
 
2014-mo444-practical-assignment-04-paulo_faria
2014-mo444-practical-assignment-04-paulo_faria2014-mo444-practical-assignment-04-paulo_faria
2014-mo444-practical-assignment-04-paulo_faria
 
The Needleman-Wunsch Algorithm for Sequence Alignment
The Needleman-Wunsch Algorithm for Sequence Alignment The Needleman-Wunsch Algorithm for Sequence Alignment
The Needleman-Wunsch Algorithm for Sequence Alignment
 
IRJET - Design of a Low Power Serial- Parallel Multiplier with Low Transition...
IRJET - Design of a Low Power Serial- Parallel Multiplier with Low Transition...IRJET - Design of a Low Power Serial- Parallel Multiplier with Low Transition...
IRJET - Design of a Low Power Serial- Parallel Multiplier with Low Transition...
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Large Scale Online Experimentation with Quantile Metrics

  • 1. Large-Scale Online Experimentation with Quantile Metrics Min Liu Senior Applied Researcher, LinkedIn
  • 2. Outline • Motivation • Challenges • End-to-end solution • Methodology for scalable and accurate estimate of quantile variance​ • Pipeline design​
  • 3. Conventional A/B Test A B Connections made A Connections made B
  • 4. Conventional A/B Test A B Connections made A Connections made B % diff in Avg connections made Statistical significance (p<0.05)
  • 5. Why quantiles? • Need to make sure slowest pages are not too slow vs All pages experience 0.5s PLT increase 10% pages experience 5s PLT increase Same in average but different user perception
  • 6. Why quantiles? • Need to make sure slowest pages are not too slow • Protect users from slow experience by detecting degradation in p90 PLT vs All pages experience 0.5s PLT increase 10% pages experience 5s PLT increase Same in average but different user perception
  • 7. Requirements for Quantile Metric A/B Testing • Statistically valid • Correct standard deviation, p-value, error margin • Scalable • 300+ concurrent A/B tests • 500+ performance metric / experiment • Up to 500 million members / experiment • 300TB+ • Needs to finish 4hrs
  • 9. Challenges • Hard to be both statistically valid and scalable • Existing solutions Solution Statistically Valid Scalable Bootstrap X O Asymptotic estimate assuming independence O X
  • 10. Proposed solution • Statistically valid • only 2% chance that the estimate differs from bootstrap by 5%, when sample size > 5000 * • Scalable • 500x speedup compared to bootstrap • Scalable estimator + pipeline optimizations • * Estimated with real experiment data with different combinations of sample size, date range, weekday&weekend mix, geo location, platform, pagekey, page load mode.
  • 11. Proposed solution Members 𝑖 = 1,2, … , 𝑛 𝑖 has page views 𝑗 = 1,2, … , 𝑃𝑖 PLT of 𝑖 ‘s page view 𝑗 is 𝑋𝑖,𝑗 𝑄 -- sample quantile of 𝑋𝑖,𝑗’s 𝑠𝑡𝑑𝑑𝑒𝑣( 𝑄) -- standard deviation of 𝑄 𝑛( 𝑄 − 𝑄) 𝐷 N(0, 𝜎2 )
  • 12. Proposed solution Members 𝑖 = 1,2, … , 𝑛 𝑖 has page views 𝑗 = 1,2, … , 𝑃𝑖 PLT of 𝑖 ‘s page view 𝑗 is 𝑋𝑖,𝑗 𝑄 -- sample quantile of 𝑋𝑖,𝑗’s 𝑠𝑡𝑑𝑑𝑒𝑣( 𝑄) -- standard deviation of 𝑄 𝑛( 𝑄 − 𝑄) 𝐷 N(0, 𝜎2 )
  • 13. Proposed solution Members 𝑖 = 1,2, … , 𝑛 𝑖 has page views 𝑗 = 1,2, … , 𝑃𝑖 PLT of 𝑖 ‘s page view 𝑗 is 𝑋𝑖,𝑗 𝑄 -- sample quantile of 𝑋𝑖,𝑗’s 𝑠𝑡𝑑𝑑𝑒𝑣( 𝑄) -- standard deviation of 𝑄 𝑛( 𝑄 − 𝑄) 𝐷 N(0, 𝜎2 )
  • 14. Proposed solution Asymptotic distribution with i.i.d PLT’s ⟺ Each member 𝑖 has 1 page view 𝐽𝑖 = 𝐼{𝑋𝑖 ≤ 𝑥}. 𝐽𝑖~𝐵𝑒𝑟𝑛 𝑝 𝐹𝑛(𝑥) = 1 𝑛 𝑖 𝐽𝑖. 1. 𝑛 𝐹𝑛 𝑄 − 𝐹 𝑄 𝐷 𝑁(0, 𝜎2 ) 2. 𝑛 𝐹𝑛 𝑄 − 𝐹 𝑄 𝐷 𝑁(0, 𝜎2 ) 3. 𝑛 𝑞 − 𝐹 𝑄 𝐷 𝑁(0, 𝜎2 ) 4. 𝑛( 𝑄−𝑄) 𝐷 N(0, 𝜎2 𝑓 𝑄 2) reference
  • 15. Proposed solution Asymptotic distribution with i.i.d PLT’s ⟺ Each member 𝑖 has 1 page view 𝐽𝑖 = 𝐼{𝑋𝑖 ≤ 𝑥}. 𝐽𝑖~𝐵𝑒𝑟𝑛 𝑝 𝐹𝑛(𝑥) = 1 𝑛 𝑖 𝐽𝑖. 1. 𝑛 𝐹𝑛 𝑄 − 𝐹 𝑄 𝐷 𝑁(0, 𝜎2 ) 2. 𝑛 𝐹𝑛 𝑄 − 𝐹 𝑄 𝐷 𝑁(0, 𝜎2 ) 3. 𝑛 𝑞 − 𝐹 𝑄 𝐷 𝑁(0, 𝜎2 ) 4. 𝑛( 𝑄−𝑄) 𝐷 N(0, 𝜎2 𝑓 𝑄 2) reference Asymptotic distribution with non-i.i.d PLT’s 𝐽𝑖 = 𝑗 𝐼 𝑋𝑖,𝑗 ≤ 𝑥 . 𝐽𝑖’s are i.i.d 𝑌𝑛(𝑥) = 1 𝑛 𝑖 𝐽𝑖 and 𝑃𝑛 = 1 𝑛 𝑖 𝑃𝑖. 𝐹𝑛(𝑥) = 𝑌𝑛 𝑥 𝑃 𝑛 0. 𝑛[ 𝑌𝑛 𝑄 𝑃 𝑛 − 𝜇 𝐽 𝜇 𝑃 ] 𝐷 𝑁(0, Σ) 1. 𝑛(𝐹𝑛(𝑄) − 𝐹(𝑄)) 𝐷 𝑁(0, 𝜎 𝑃,𝐽 2 ) where 𝐹 𝑄 = 𝐹 𝑄 𝜇 𝑃 𝜇 𝑃 = 𝐸[𝐸(𝐽 𝑖|𝑃 𝑖)] 𝜇 𝑃 = 𝜇 𝐽 𝜇 𝑃 2. 𝑛 𝐹𝑛 𝑄 − 𝐹 𝑄 𝐷 𝑁(0, 𝜎 𝑃,𝐽 2 ) 3. 𝑛 𝑞 − 𝐹 𝑄 𝐷 𝑁(0, 𝜎 𝑃,𝐽 2 ) 4. 𝑛( 𝑄−𝑄) 𝐷 N(0, 𝜎 𝑃,𝐽 2 𝑓 𝑄 2)
  • 16. Proposed solution – a few comments • The derivation requires following conditions • 𝐹𝑛 𝑥 does not have huge ‘steps’ and 𝑛step size 0 as 𝑛 ∞ • Sufficient condition is 𝑃𝑖 is bounded • 𝑄 is a consistent estimate of 𝑄. • True if 𝜇 𝑃 exists and is finite.
  • 17. Proposed solution – a few comments • 𝑓(𝑄) estimated by average density in a window ( 𝑄 − 𝛿, 𝑄 + 𝛿] • 𝛿 set to 50ms for initial estimate • Then set to 2 × 𝑠𝑡𝑑𝑑𝑒𝑣, turns out to be very effective in reducing estimation error
  • 19. Computing Quantile -- Challenges member id (exp, treatment) M1 (E1, T1) M1 (E2, C) M2 (E1, C) ... ... Experiment Tracking Metric Tracking member id page PLT M1 home 1001ms M1 jobs 938ms M2 jobs 900ms ... ... ... (exp, treatment, page) P90 stddev (E1, T1, home) 1001ms 5ms (E1, T1, jobs) 925ms 2ms (E1, C, jobs) 800ms 3ms ... ... ... INPUT OUTPUT
  • 20. Computing Quantile -- Challenges member id (exp, treatment) M1 (E1, T1) M1 (E2, C) M2 (E1, C) ... ... Experiment Tracking Metric Tracking member id page PLT M1 home 1001ms M1 jobs 938ms M2 jobs 900ms ... ... ... member id (exp, treatment) page PLT M1 (E1, T1) home 1001ms M1 (E1, T1) jobs 938ms M1 (E2, C) home 1001ms M1 (E2, C) jobs 938ms M2 (E1, C) jobs 1105ms ... ... ... ... JOIN on member id GROUP By (exp, trt, page); compute quantile & stddev within each group (exp, treatment, page) P90 stddev (E1, T1, home) 1001ms 5ms (E1, T1, jobs) 925ms 2ms (E1, C, jobs) 800ms 3ms ... ... ...
  • 21. Computing Quantile -- Challenges member id (exp, treatment) M1 (E1, T1) M1 (E2, C) M2 (E1, C) ... ... Experiment Tracking Metric Tracking member id page PLT M1 home 1001ms M1 jobs 938ms M2 jobs 900ms ... ... ... member id (exp, treatment) page PLT M1 (E1, T1) home 1001ms M1 (E1, T1) jobs 938ms M1 (E2, C) home 1001ms M1 (E2, C) jobs 938ms M2 (E1, C) jobs 1105ms ... ... ... ... JOIN GROUP By compute quantile & stddev within each group (exp, treatment, page) P90 stddev (E1, T1, home) 1001ms 5ms (E1, T1, jobs) 925ms 2ms (E1, C, jobs) 800ms 3ms ... ... ...
  • 22. Computing Quantile -- Challenges member id (exp, treatment) M1 (E1, T1) M1 (E2, C) M2 (E1, C) ... ... Experiment Tracking Metric Tracking member id page PLT M1 home 1001ms M1 jobs 938ms M2 jobs 900ms ... ... ... member id (exp, treatment) page PLT M1 (E1, T1) home 1001ms M1 (E1, T1) jobs 938ms M1 (E2, C) home 1001ms M1 (E2, C) jobs 938ms M2 (E1, C) jobs 1105ms ... ... ... ... JOIN Data explosion after JOIN!! Joined table at least 10x larger than inputs. m rows n rows m x n rows
  • 23. Computing Quantile -- Solutions • Compress input • Experiment tracking → Bitmap; compression rate 30x • Encode string with numbers; e.g. 0 = home, 1 = jobs • Be smarter about join • Co-partition both inputs by member id. • Store PLT’s under each (exp, treatment, page) as a histogram • Aggregate histograms across partitions
  • 24. Computing Quantile -- Solutions id (exp, treatment) M1 (E1, T1) M1 (E2, C) M2 (E1, C) ... ... Experiment Tracking (300 billion rows) Metric Tracking id page PLT M1 home 1001ms M1 jobs 938ms M2 jobs 900ms ... ... ... (E1, T1, 0) ... 1001ms 1002ms ... ... 1 2 ... (E1, T1, 1) ... 938ms 945ms ... ... 1 1 ... ... partition 1 I. co-partition II. join III. generate within partition summary stats (E1, T1, 0) ... 1001ms 1002ms ... ... 1 3 ... (E1, T1, 1) ... 938ms 939ms ... ... 2 1 ... ... partition 2 (E1, T1, 0) ... 1001ms 1002ms ... ... 2 5 ... (E1, T1, 1) ... 938ms 939ms 945ms ... ... 3 1 1 ... ... cross-partition aggregation
  • 25. Computing Stddev of Quantile • Almost the same as computing quantiles, except summary stats are different • Instead of histogram, we now compute within partition • 𝐽 = 𝑖 𝐽𝑖 = 𝑖,𝑗 𝐼 𝑋𝑖,𝑗 ≤ 𝑄 --# of pageviews with plt ≤ quantile 𝑄 • 𝑃 = 𝑖 𝑃𝑖 --# of total pageviews • 𝐽2 = 𝑖 𝐽𝑖 2 -- cross product of 𝐽 and 𝑃 for computing variance-covariance matrix Σ • 𝑃2 = 𝑖 𝑃𝑖 2 -- cross product of 𝐽 and 𝑃 for computing variance-covariance matrix Σ • 𝐽𝑃 = 𝑖 𝐽𝑖 𝑃𝑖 -- cross product of 𝐽 and 𝑃 for computing variance-covariance matrix Σ • 𝑛 -- # of unique members • 𝐷 = 𝑖,𝑗 𝐼 𝑄 − 𝛿 ≤ 𝑋𝑖,𝑗 ≤ 𝑄 + 𝛿 --# of pageviews within a window around 𝑄, to estimate 𝑓(𝑄) • Cross-partition aggregation is simply taking sum • Stddev adjustment is the same as the stddev computation, except changing the window to 2 × 𝑠𝑡𝑑𝑑𝑒𝑣
  • 27. Performance • 300+ expeirments; 3000+ metrics; up to 500MM members / experiment • Experiment duration up to 30 days • Flow finishes in 2 hours
  • 28. Sample A/B Test Result