Bayesian experiment¶
Main class and utilities to run, explore and visualize a Bayesian experiment for A/B and multivariate testing.
Experiment¶
- 
class 
cprior.experiment.Experiment(name, test, stopping_rule='expected_loss', epsilon=1e-05, min_n_samples=None, max_n_samples=None, verbose=False, **options)¶ Bases:
objectBayesian experiment.
Parameters: - name (str) – Experiment name.
 - test (object) – A multivariate test instance. This is a class inherit from
cprior.cdist.base.BayesMVTest. - stopping_rule (str (default="expected_loss")) – The stopping rule or metric to be used throughout the experiment. Options are “probability”, “probability_vs_all”, “expected_loss” and “expected_loss_vs_all”.
 - epsilon (float (default=1e-5)) – The epsilon or threshold to be checked throughout the experiment. The
experiment will terminate with a winner variant if the metric value
reaches 
epsilon. - min_n_samples (int or None (default=None)) – The minimum number of samples for any variant.
 - max_n_samples (int or None (default=None)) – The maximum number of samples for any variant.
 - verbose (int or bool (default=False)) – Controls verbosity of output.
 - **options – For other keyword-only arguments. For example, 
nig_metricwith options"mu"and"sigma_sq". 
- 
variants_¶ The variants in the experiment.
Type: list 
- 
n_variants_¶ The number of variants in the experiment.
Type: int 
- 
n_samples_¶ The total number of samples of all variants throughout the experimentation.
Type: int 
- 
n_updates_¶ The total number of updates throughout the experimentation.
Type: int 
- 
describe()¶ Experiment settings.
- 
load(pickle_path)¶ Load experiment from a given pickle path.
Parameters: pickle_path (str) – Path of the pickle object. 
- 
plot_metric()¶ Plot stopping rule metric over updates/time.
- 
plot_stats()¶ Plot statistics (mean and CI intervals) over updates/time.
- 
run_update(**data)¶ Update one or various Bayesian models with new data.
Parameters: **data (dict) – Dictionary with key=variant and value=data, e.g. **{"A": data_A}.
- 
save(pickle_path)¶ Save this experiment to the given pickle path.
Parameters: pickle_path (str) – Path of the pickle object. 
- 
stats()¶ Experiment main statistics on collected data.
- 
summary()¶ Experiment summary with several decision metrics.
If a winner has been declared, the corresponding row is highlighted in green.
Plotting¶
- 
cprior.experiment.experiment_plot_metric(experiment)¶ Plot stopping rule metric over updates/time.
Parameters: experiment (object) – A Bayesian experiment instance. 
- 
cprior.experiment.experiment_plot_stats(experiment)¶ Plot statistics (mean and CI intervals) over updates/time.
Parameters: experiment (object) – A Bayesian experiment instance. 
Utilities and reporting tools¶
- 
cprior.experiment.experiment_describe(experiment)¶ Experiment settings.
Parameters: experiment (object) – A Bayesian experiment instance. 
- 
cprior.experiment.experiment_stats(experiment)¶ Experiment main statistics on collected data.
Parameters: experiment (object) – A Bayesian experiment instance. Returns: stats Return type: pandas.DataFrame 
- 
cprior.experiment.experiment_summary(experiment)¶ Experiment summary with several decision metrics.
If a winner has been declared, the corresponding row is highlighted in green.
Parameters: experiment (object) – A Bayesian experiment instance. Returns: stats Return type: pandas.DataFrame