in auto_sizing/size_calculation.py [0:0]
def run(self, current_date: datetime) -> None:
time_limits = self._validate_requested_timelimits(current_date)
ht = HistoricalTarget(
experiment_name=self.config.target_slug,
start_date=self.config.start_date,
analysis_length=self.config.analysis_length,
num_dates_enrollment=self.config.num_dates_enrollment,
)
metrics_table, metrics_table_name = self.calculate_metrics(time_limits=time_limits, ht=ht)
print(f"Metrics table saved at {metrics_table_name}")
results_combined = {}
if len(metrics_table) == 0:
print("No clients satisfied targeting.")
return
for parameters in self.config.parameters:
res = self.calculate_sample_sizes(metrics_table=metrics_table, parameters=parameters)
res["parameters"] = parameters
results_combined[
f"Power{str(parameters['power'])}EffectSize{str(parameters['effect_size'])}"
] = res
self.publish_results(results_combined, current_date.strftime("%Y-%m-%d"))