Releases: bachmannpatrick/CLVTools
Releases · bachmannpatrick/CLVTools
CLVTools v0.12.1
CLVTools v0.12.0
NEW FEATURES
clvdata(data.end): Add parameterdata.endto specify a data end beyond the last actual transactionsummary(): Always setzvalandpvalto NA for the main model parametershessian(): Add method to calculate hessian matrix for already fitted models- Add 3 new vignettes covering: Advanced modelling techniques, model intuition, and the internal class system
BUG FIXES
- Fix CRAN notes: Replace
arma::is_finite()->std::isfinite() - Dyncov PNBD: Rename
predicted.CLV->predicted.period.CLV predict(): Rename{predicted, actual}.total.spending->{predicted, actual}.period.spending
CLVTools v0.11.2
NEW FEATURES
newcustomer.spending(): Predict average spending per transaction for customers without order history- Improved optimizer defaults (higher iteration count) for PNBD dyncov
CLVTools v0.11.1
NEW FEATURES
- Updated the apparel example data
- Prediction bootstrapping: Calculate confidence intervals using regular rather than "reversed-quantiles"
BUG FIXES
- Prediction bootstrapping: Re-fit model using exact original specification
- GGomNBD: Set limit in integration method to size of workspace
CLVTools v0.11.0
NEW FEATURES
- More memory efficient and faster creation of repeat transactions in
clv.data - Use existing repeat transactions when calling
ggwithremove.first.transaction = TRUE - Simplify the formula interfaces
latentAttrition()andspending() - Add
predicted.total.spendingto predictions - Harmonize parameter names used in various S3 methods
- Bootstrapping: Add facilities to estimate parameter uncertainty for all models
- Ability to predict future transactions of customers with no existing transaction history
- New start parameters for all latent attrition models
- Pareto/NBD dyncov: Improved numeric stability of PAlive
- GGomNBD: Implement erratum by Jost Adler to predict CET correctly
- GGomNBD: Improve numerical stability and runtime of LL integral
- GGomNBD: Implement PMF as derived by Jost Adler
- lrtest(): Likelihood ratio testing for latent attrition models
- Accept
data.table::IDateas data inputs toclvdata summary.clv.data:Much faster by improving the calculation of the mean inter-purchase time- Reduced fitting times for all models by using a compressed CBS as input to the LL sum
- Faster hessian calculation if a model was using correlation
BUG FIXES
- Estimating the Pareto/NBD dyncov with correlation was not possible
- GGomNBD: Free workspace after it is not used anymore to avoid memory-leak
SetDynamicCovariates: Verify there is no covariate data for nonexistent customers
CLVTools 0.10.0
NEW FEATURES
- We add an interface to specify models using a formula notation (
latentAttrition()andspending()) - New method to plot customer's transaction timings (
plot.clv.data(which='timings')) - Draw diagnostic plots of multiple models in single plot (
plot(other.models=list(), label=c())) - MUCH faster fitting for the Pareto/NBD with time-varying covariates because we implemented the LL in Rcpp
v0.9.0
CLVTools 0.9.0
NEW FEATURES
- Three new diagnostic plots for transaction data to analyse frequency, spending and interpurchase time
- New diagnostic plot for fitted transaction models (PMF plot)
- New function to calculate the probability mass function of selected models
- Calculate summary statistics only for the transaction data of selected customers
- Canonical transformation from data.frame/data.table to transaction data object and vice-versa
- Canonical subset for the data stored in the transaction data object
- Pareto/NBD DERT: Improved numerical stability
v0.8.1
CLVTools v0.8.0
NEW FEATURES
- Partially refactor the LL of the extended Pareto/NBD in Rcpp with code kindly donated by Elliot Shin Oblander
- Improved documentation
BUG FIXES
- Optimization methods nlm and nlminb can now be used. Thanks to Elliot Shin Oblander for reporting
CLVTools v0.7.0
NEW FEATURES
- Refactor the Gamma-Gamma (GG) model to predict mean spending per transaction into an independent model
- The prediction for transaction models can now be combined with separately fit spending models
- Write the unconditional expectation functions in Rcpp for faster plotting (Pareto/NBD and Beta-Geometric/NBD)
- Improved documentation and walkthrough
BUG FIXES
- Pareto/NBD LogLikelihood: For the case Tcal = t.x and for the case alpha == beta
- Static or dynamic covariates with syntactically invalid names (spaces, start with numbers, etc) could not be fit