Uses simple Bayesian conjugate prior update rules to calculate the following metrics for various marketing objectives:
- Win Probability of each option
- Value Remaining in the Test
- Percent Lift Over the Baseline
This allows a user to implement Bayesian Inference methods when analyzing the results of a split test or Bandit experiment.
See the intro
vignette for examples to get started.
- Conversion Rate
- Response Rate
- Click Through Rate (CTR)
- Revenue Per Session
- Multi Revenue Per Session
- Cost Per Activation (CPA)
- Total Contribution Margin (CM)
- CM Per Click
- Cost Per Click (CPC)
- Session Duration (seconds)
- Page Views Per Session
To add a new posterior distribution you must complete the following:
-
Create a new function called
sample_...(input_df, priors, n_samples)
. Use the internal helper functions update_gamma, update_beta, etc. included in this package or you can create a new one. -
This function (and the name) must be added to the switch statement in
sample_from_posterior()
-
A new row must be added to the internal data object
distribution_column_mapping
.- Select this object from the package
- Add a new row with a 1 for every column that is required for this distribution (this is for data validation and clear alerting for the end user)
- Save the updated tibble object using
use_data(new_tibble, internal = TRUE, overwrite = TRUE)
and it will be saved assysdata.rda
in the package for internal use. - Update the intro.Rmd markdown table to include which columns are required for your function.
-
Create a PR for review.
- High Density Credible Intervals with each option
- Conjugate Prior Update Rules vignette deriving each marketing objective
update_rules
The name is a play on Bayes with an added r (bayesr). The added griz (or Grizzly Bear) creates a unique name that is searchable due to too many similarly named packages.