R/f_interface_predict_clvfittedspending.R
predict.clv.fitted.spending.Rd
Predict customer's future mean spending per transaction and compare it to the actual mean spending in the holdout period.
# S3 method for clv.fitted.spending predict(object, newdata = NULL, verbose = TRUE, ...) # S4 method for clv.fitted.spending predict(object, newdata = NULL, verbose = TRUE, ...)
object | A fitted spending model for which prediction is desired. |
---|---|
newdata | A clv data object for which predictions should be made with the fitted model. If none or NULL is given, predictions are made for the data on which the model was fit. |
verbose | Show details about the running of the function. |
... | Ignored |
An object of class data.table
with columns:
The respective customer identifier
Actual mean spending per transaction in the holdout period. Only if there is a holdout period otherwise it is not reported.
The mean spending per transaction as predicted by the fitted spending model.
If newdata
is provided, the individual customer statistics underlying the model are calculated
the same way as when the model was fit initially. Hence, if remove.first.transaction
was TRUE
,
this will be applied to newdata
as well.
models to predict spending: gg.
models to predict transactions: pnbd, bgnbd, ggomnbd.
predict
for transaction models
# \donttest{ data("apparelTrans") # Fit gg model on data apparel.holdout <- clvdata(apparelTrans, time.unit="w", estimation.split=37, date.format="ymd") apparel.gg <- gg(apparel.holdout)#>#>#> Id actual.mean.spending predicted.mean.spending #> 1: 1 0.00000 40.39473 #> 2: 10 0.00000 57.49121 #> 3: 100 32.06652 43.83628 #> 4: 1000 44.81640 43.46097 #> 5: 1001 33.09091 46.17636 #> --- #> 246: 1219 29.55429 33.20726 #> 247: 122 0.00000 40.39473 #> 248: 1220 0.00000 40.39473 #> 249: 1221 33.62778 34.00868 #> 250: 1222 0.00000 48.80122# }