in src/mozanalysis/bayesian_stats/__init__.py [0:0]
def _summarize_joint_samples_single(focus, reference, quantiles=DEFAULT_QUANTILES):
str_quantiles = [str(q) for q in quantiles]
index = pd.MultiIndex.from_tuples(
[("rel_uplift", q) for q in str_quantiles + ["exp"]]
+ [("abs_uplift", q) for q in str_quantiles + ["exp"]]
+ [("max_abs_diff", "0.95"), ("prob_win",)]
)
res = pd.Series(index=index, dtype="float")
rel_uplift_samples = focus / reference - 1
res.loc[[("rel_uplift", q) for q in str_quantiles]] = np.quantile(
rel_uplift_samples, quantiles
)
res.loc[("rel_uplift", "exp")] = np.mean(rel_uplift_samples)
abs_uplift_samples = focus - reference
res.loc[[("abs_uplift", q) for q in str_quantiles]] = np.quantile(
abs_uplift_samples, quantiles
)
res.loc[("abs_uplift", "exp")] = np.mean(abs_uplift_samples)
res.loc[("max_abs_diff", "0.95")] = np.quantile(np.abs(abs_uplift_samples), 0.95)
res.loc["prob_win"] = np.mean(focus > reference)
return res