Fit models for customer spending (currently only the Gamma-Gamma model).
spending(family, data, optimx.args = list(), verbose = TRUE, ...)
A spending model (currently only gg
).
A clv.data
object.
Additional arguments to control the optimization which are forwarded to optimx::optimx
.
If multiple optimization methods are specified, only the result of the last method is further processed.
Show details about the running of the function.
Forwarded to model specified in family
.
Returns an object of the respective model which was fit.
Spending models for family
: gg.
latentAttrition to fit latent attrition models with a formula interface
# \donttest{
data("cdnow")
clv.cdnow <- clvdata(data.transactions = cdnow, date.format="ymd",
time.unit = "weeks")
# Fit gg
spending(family=gg, data=clv.cdnow)
#> Starting estimation...
#> Estimation finished!
#> Gamma-Gamma Model
#>
#> Call:
#> spending(family = gg, data = clv.cdnow)
#>
#> Coefficients:
#> p q gamma
#> 4.685 4.188 24.369
#> KKT1: TRUE
#> KKT2: TRUE
# Fit gg with start params
spending(family=gg, data=clv.cdnow,
start.params.model=c(p=0.5, q=15, gamma=2))
#> Starting estimation...
#> Estimation finished!
#> Gamma-Gamma Model
#>
#> Call:
#> spending(family = gg, data = clv.cdnow, start.params.model = c(p = 0.5,
#> q = 15, gamma = 2))
#>
#> Coefficients:
#> p q gamma
#> 4.683 4.190 24.391
#> KKT1: TRUE
#> KKT2: TRUE
# Fit gg, do not remove first transaction
spending(family=gg, data=clv.cdnow, remove.first.transaction=FALSE)
#> Starting estimation...
#> Estimation finished!
#> Gamma-Gamma Model
#>
#> Call:
#> spending(family = gg, data = clv.cdnow, remove.first.transaction = FALSE)
#>
#> Coefficients:
#> p q gamma
#> 7.060 3.752 12.894
#> KKT1: TRUE
#> KKT2: TRUE
## No formula may be given to specify covariates because currently
## no spending model uses covariates
# }