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: - object- Bayesian 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