in spotify_confidence/analysis/frequentist/confidence_computers/confidence_computer.py [0:0]
def _add_variance_reduction_rate(df: DataFrame, **kwargs: Dict) -> DataFrame:
denominator = kwargs[DENOMINATOR]
method_column = kwargs[METHOD]
if (df[method_column] == ZTESTLINREG).any():
variance_no_reduction = (
df[ORIGINAL_VARIANCE + SFX1] / df[denominator + SFX1]
+ df[ORIGINAL_VARIANCE + SFX2] / df[denominator + SFX2]
)
variance_w_reduction = (
df[VARIANCE + SFX1] / df[denominator + SFX1] + df[VARIANCE + SFX2] / df[denominator + SFX2]
)
df = df.assign(**{VARIANCE_REDUCTION: 1 - np.divide(variance_w_reduction, variance_no_reduction)})
return df