Learn R Programming

BTYDplus (version 0.7.2)

abe.GenerateData: Simulate data according to Pareto/NBD (Abe) model assumptions

Description

Simulate data according to Pareto/NBD (Abe) model assumptions

Usage

abe.GenerateData(n, T.cal, T.star, params, return.elog = FALSE)

Arguments

n

Number of customers.

T.cal

Length of calibration period. If a vector is provided, then it is assumed that customers have different 'birth' dates, i.e. \(max(T.cal)-T.cal\).

T.star

Length of holdout period. This may be a vector.

params

A list of model parameters: beta and gamma.

return.elog

If TRUE then the event log is returned in addition to the CBS summary.

Value

List of length 2:

cbs

A data.frame with a row for each customer and the summary statistic as columns.

elog

A data.frame with a row for each transaction, and columns cust and t.

Examples

Run this code
# NOT RUN {
# generate artificial Pareto/NBD Abe with 2 covariates
params <- list()
params$beta  <- matrix(c(0.18, -2.5, 0.5, -0.3, -0.2, 0.8), byrow = TRUE, ncol = 2)
params$gamma <- matrix(c(0.05, 0.1, 0.1, 0.2), ncol = 2)
data <- abe.GenerateData(n = 2000, T.cal = 32, T.star = 32, params, return.elog = TRUE)
cbs <- data$cbs  # customer by sufficient summary statistic - one row per customer
elog <- data$elog  # Event log - one row per event/purchase
# }

Run the code above in your browser using DataLab