pymc-marketing icon indicating copy to clipboard operation
pymc-marketing copied to clipboard

Include "model-story" in the CLV models

Open ricardoV94 opened this issue 2 years ago • 5 comments

That type of description seems to exist for every model we are implementing in the CLV, I think it makes the models much more "discoverable" than their weird names. We should include that!

image

ricardoV94 avatar Nov 30 '22 09:11 ricardoV94

While working on btyd, I got a request to add a chart to the documentation highlighting the differences between the various models.

On the matter of model discovery, I've been wondering if CLV is the most appropriate name for this module? The only model that deals with valuation in any way is the Gamma-Gamma model. All other models estimate if a customer is still active and future transaction behavior. "Buy till you die" is the most common moniker I've seen for non-contractual modeling.

ColtAllen avatar Dec 08 '22 17:12 ColtAllen

While working on btyd, I got a request to add a chart to the documentation highlighting the differences between the various models.

This would be great as a documentation piece! Have you started working on this / do you have any ideas?

On the matter of model discovery, I've been wondering if CLV is the most appropriate name for this module? The only model that deals with valuation in any way is the Gamma-Gamma model. All other models estimate if a customer is still active and future transaction behavior. "Buy till you die" is the most common moniker I've seen for non-contractual modeling.

I like the name of CLV as the sub-package. The L stands for the lifetime and the V for value, no?

ricardoV94 avatar Dec 15 '22 09:12 ricardoV94

I like the name of CLV as the sub-package. The L stands for the lifetime and the V for value, no?

After seeing that fake Bible verse about CLV posted on LinkedIn by Fader himself, I no longer have an issue with the name 🤣

ColtAllen avatar Jan 02 '23 14:01 ColtAllen

This would be great as a documentation piece! Have you started working on this / do you have any ideas?

I'm still learning the nuances of these models (and there are many more yet to be added) but a key assumption of the BG/NBD model is that it treats all non-repeat customers as alive with probability 1, which may not be valid depending on the use case. The Modified BG/NBD model does not have this assumption, but seems to require more data for convergence.

The research papers for most of these models also contain two versions - modeling an individual customer, and modeling the average characteristics of the population. For most use cases, the latter is more realistic because many companies have millions of customers. However, for use cases involving oligopsony, the individual approach would be ideal.

Most models also requires input data in the form of Recency/Frequency/T, but I'm aware of two that require raw transactions - the Pareto/GGG and the the BG/NBD with time-varying covariates. I'm also of the opinion raw transactions are the best way to represent individual customers.

Speaking of covariates, I've read research papers containing implementations of the BG/NBD and Pareto/NBD models for time-variant and time-invariant covariates.

ColtAllen avatar Jan 02 '23 14:01 ColtAllen

Here is a concrete TODO:

  • [x] BG/NBD https://github.com/pymc-labs/pymc-marketing/pull/571
  • [x] Gamma-Gamma https://github.com/pymc-labs/pymc-marketing/pull/573
  • [ ] Pareto

juanitorduz avatar Apr 05 '24 19:04 juanitorduz