View source: R/sample_rev_per_session.R
| sample_rev_per_session | R Documentation | 
Adds 3 new nested columns to the input_df: 'beta_params', 'gamma_params', and 'samples'
'beta_params' and 'gamma_params' in each row should be a tibble of length 2 (\alpha
and \beta parameters and k and \theta parameters)
'samples' in each row should be a tibble of length 'n_samples'
sample_rev_per_session(input_df, priors, n_samples = 50000)
input_df | 
 Dataframe containing option_name (str), sum_conversions (dbl), sum_revenue (dbl), and sum_clicks (dbl).  | 
priors | 
 Optional list of priors alpha0, beta0 for Beta
and k0, theta0 for Gamma. Default   | 
n_samples | 
 Optional integer value. Defaults to 50,000 samples.  | 
See update_rules vignette for a mathematical representation.
RevPerSession = RevPerOrder * OrdersPerClick
This is a combination of a Beta-Bernoulli update and a Gamma-Exponential update.
conversion_i ~ Bernoulli(\phi)
revenue_i ~ Exponential(\lambda)
\phi ~ Beta(\alpha, \beta)
\lambda ~ Gamma(k, \theta)
revenue_i ~ Bernoulli(\phi) * Exponential(\lambda)^-1)
Rev Per Session ~ \phi / \lambda
Conversion Rate is sampled from a Beta distribution with a Binomial likelihood of an individual converting.
Average Rev Per Order is sampled from a Gamma distribution with an Exponential likelihood of Revenue from an individual order. This function makes sense to use if there is a distribution of possible revenue values that can be produced from a single order or conversion.
input_df with 3 new nested columns 'beta_params', 'gamma_params', and 'samples'
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.