in lib/report.py [0:0]
def calculate_uplift_interp(self, quantiles, branch, segment, metric_type, metric):
control = self.data["branches"][0]
quantiles_control = self.data[control][segment][metric_type][metric]["quantiles"]
values_control = self.data[control][segment][metric_type][metric]["quantile_vals"]
[quantiles_control_n, values_control_n] = cubic_spline_prep(quantiles_control, values_control)
tck = interpolate.splrep(quantiles_control_n, values_control_n, k=1)
values_control_n = interpolate.splev(quantiles, tck, der=0)
quantiles_branch = self.data[branch][segment][metric_type][metric]["quantiles"]
values_branch = self.data[branch][segment][metric_type][metric]["quantile_vals"]
[quantiles_branch_n, values_branch_n] = cubic_spline_prep(quantiles_branch, values_branch)
tck = interpolate.splrep(quantiles_branch_n, values_branch_n, k=1)
values_branch_n = interpolate.splev(quantiles, tck, der=0)
uplifts = []
diffs = []
for i in range(len(quantiles)):
diff = values_branch_n[i] - values_control_n[i]
uplift = diff/values_control_n[i]*100
diffs.append(diff)
uplifts.append(uplift)
return [diffs, uplifts]