コード例 #1
0
def test_gamma_uninformed(control_rate, variant1_rate, variant2_rate,
                          control_variance, variant1_variance,
                          variant2_variance, control_name, variant1_name,
                          variant2_name, log):
    """Create data and run a two variant report for a continuous metric.

       While testing the uninformed prior for a gamma distribution.
       """
    rawdata = dh.create_continuous_data(
        [control_rate, variant1_rate, variant2_rate],
        [control_variance, variant1_variance, variant2_variance],
        [control_name, variant1_name, variant2_name],
        metric_name='total_premium',
        log=log)
    prior = 'log-normal' if log else 'normal'
    premium = ab(rawdata,
                 metric='total_premium',
                 prior_info='uninformed',
                 prior_function=prior,
                 debug=True,
                 compare_variants=True,
                 control_bucket_name=control_name,
                 samples=1000)
    premium.fit()
    premium.plot()
コード例 #2
0
def test_one_variant_continuous(control_rate, variant_rate, control_variance,
                                variant_variance, control_name, variant_name):
    """Create data and run a one variant report for a continuous metric."""
    raw_data_premium = dh.create_continuous_data(
        [control_rate, variant_rate], [control_variance, variant_variance],
        [control_name, variant_name],
        metric_name='total_premium')
    premium_test = ab(raw_data_premium,
                      metric='total_premium',
                      control_bucket_name=control_name,
                      prior_info='informed',
                      prior_function='log-normal',
                      debug=True,
                      samples=1000)
    premium_test.fit()
    premium_test.plot()
コード例 #3
0
def test_three_variants_continuous():
    """Create data and run a three variant report for a continuous metric."""
    rawdata = dh.create_continuous_data(
        [600, 610, 615, 620], [1.5, 1.5, 1.5, 1.5],
        ['control', 'variant_1', 'variant_2', 'variant_3'],
        metric_name='total_premium')
    premium = ab(rawdata,
                 metric='total_premium',
                 prior_info='informed',
                 prior_function='log-normal',
                 debug=True,
                 control_bucket_name='control',
                 compare_variants=True,
                 samples=1000)
    premium.fit()
    premium.plot()
コード例 #4
0
def test_specified_prior_continuous():
    """E2E test a user specified prior for continuous."""
    prior = {'mean': 650, 'var': 1.5}
    rawdata = dh.create_continuous_data([600, 610, 615], [1.5, 1.5, 1.5],
                                        ['control', 'variant_1', 'variant_2'],
                                        metric_name='total_premium')
    premium = ab(rawdata,
                 metric='total_premium',
                 prior_info='specified',
                 prior_function='log-normal',
                 debug=True,
                 control_bucket_name='control',
                 compare_variants=True,
                 prior_parameters=prior,
                 samples=1000)
    premium.fit()
    premium.plot()
コード例 #5
0
def test_four_variants_continuous():
    """Create data and run a four variant report for a continuous metric."""
    rawdata = dh.create_continuous_data(
        [600, 610, 615, 620, 625], [1.1, 1.1, 1.1, 1.1, 1.1],
        ['control', 'variant_1', 'variant_2', 'variant_3', 'variant_4'],
        metric_name='total_premium',
        sample_length=1000)
    premium = ab(rawdata,
                 metric='total_premium',
                 prior_info='informed',
                 prior_function='log-normal',
                 debug=True,
                 control_bucket_name='control',
                 compare_variants=False,
                 samples=1000)
    premium.fit()
    premium.plot(lift_plot_flag=True)
コード例 #6
0
def test_specified_prior_normal():
    """E2E test a user specified prior for continuous, log=False."""
    prior = {'mean': 650, 'var': 30000}
    rawdata = dh.create_continuous_data([600, 601, 602], [30, 30, 30],
                                        ['control', 'variant_1', 'variant_2'],
                                        metric_name='total_premium',
                                        log=False)
    premium = ab(rawdata,
                 metric='total_premium',
                 prior_info='specified',
                 prior_function='normal',
                 debug=True,
                 control_bucket_name='control',
                 compare_variants=True,
                 prior_parameters=prior,
                 samples=1000)
    premium.fit()
    premium.plot(lift_plot_flag=True)