def test_z_score_when_control_and_alternative_have_perfect_conversion(self): experiment = Experiment.find_or_create( self.redis, 'link_color', 'blue', 'red') experiment.save() control = Alternative(self.redis, 'blue', 'link_color') control.completed_count = 10 control.participant_count = 10 alternative = Alternative(self.redis, 'red', 'link_color') alternative.completed_count = 8 alternative.participant_count = 8 assert alternative.z_score is None
def test_z_score_when_control_and_alternative_have_perfect_conversion( self): experiment = Experiment.find_or_create(self.redis, 'link_color', 'blue', 'red') experiment.save() control = Alternative(self.redis, 'blue', 'link_color') control.completed_count = 10 control.participant_count = 10 alternative = Alternative(self.redis, 'red', 'link_color') alternative.completed_count = 8 alternative.participant_count = 8 assert alternative.z_score is None
def test_can_be_reset(self): alternative = Alternative(self.redis, 'Basket', 'basket_text') alternative.participant_count = 10 alternative.completed_count = 4 alternative.reset() assert alternative.participant_count == 0 assert alternative.completed_count == 0
def test_z_score(self): Experiment.find_or_create(self.redis, 'Treatment', 'Control', 'Treatment A', 'Treatment B', 'Treatment C') control = Alternative(self.redis, 'Control', 'Treatment') control.participant_count = 182 control.completed_count = 35 treatment_a = Alternative(self.redis, 'Treatment A', 'Treatment') treatment_a.participant_count = 180 treatment_a.completed_count = 45 treatment_b = Alternative(self.redis, 'Treatment B', 'Treatment') treatment_b.participant_count = 189 treatment_b.completed_count = 28 treatment_c = Alternative(self.redis, 'Treatment C', 'Treatment') treatment_c.participant_count = 188 treatment_c.completed_count = 61 assert control.z_score is None assert round(treatment_a.z_score, 2) == 1.33 assert round(treatment_b.z_score, 2) == -1.13 assert round(treatment_c.z_score, 2) == 2.94
def test_conversion_rate_does_something(self): alternative = Alternative(self.redis, 'Basket', 'basket_text') alternative.participant_count = 10 alternative.completed_count = 4 assert alternative.conversion_rate == 0.4