Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List of Continuous, Non-Contractual clv Models to Consider Adding #91

Open
ricardoV94 opened this issue Nov 29, 2022 · 10 comments
Open
Labels
CLV enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed question Further information is requested request discussion

Comments

@ricardoV94
Copy link
Contributor

https://github.com/mplatzer/BTYDplus

@ricardoV94 ricardoV94 added enhancement New feature or request CLV labels Nov 29, 2022
@ColtAllen
Copy link
Collaborator

ColtAllen commented Feb 22, 2023

Model List

  1. Modified BG/NBD: Implement Modified BetaGeo Model #94
  2. BG/CNBD-k: http://www.reutterer.com/papers/reutterer&platzer&schroeder_2021.pdf
  3. Modified )BG/CNBD-k: http://www.reutterer.com/papers/reutterer&platzer&schroeder_2021.pdf
  4. Abe variant of Pareto/NBD: [1],[2],[3],[4]
  5. Pareto/GGG: http://www.reutterer.com/papers/platzer&reutterer_pareto-ggg_2016.pdf
  6. Gamma/Gompertz/NBD: free PDF available
  7. Gamma/Gompertz/NBD w/ covariates: https://pubsonline.informs.org/doi/epdf/10.1287/mksc.2020.1254
  8. Pareto/NBD w/ time-varying covariates: https://www.zora.uzh.ch/id/eprint/197236/1/mksc.2020.1254.pdf
  9. BG/NBD w/time-varying covariates: https://www.brucehardie.com/notes/040/time-varying_covariates_in_BGNBD.pdf
  10. Periodic Death Opportunity: [1] & [2]
  11. Gaussian Processes: https://www0.gsb.columbia.edu/mygsb/faculty/research/pubfiles/26107/ansari_Bayesian_Nonparametric.pdf

Notes on Implementation

  • The papers for Models 4 & 5 provide MCMC sampling strategies.
  • Models 5 & 9 require raw transactions as inputs. All other models follow the frequency/recency/T format.
  • Should cite the R libraries where appropriate: https://github.com/mplatzer/BTYDplus & https://github.com/bachmannpatrick/CLVTools
  • On that note, CLVTools contains C++ code for model 8. Consider adapting those scripts with a python binding, because this model is by far the most complex on this list. The likelihood function alone sprawls across 2 pages in the research paper!
  • Models 6 & 7 utilize a Gompertz distribution, which is not currently provided in pymc. The likelihood function also contains an infinite integral, which I'm not sure how to code out in pytensor.
  • The papers for models 5 & 7 cite even more options we could add to this list.
  • The paper for model 9 also includes a section on incorporating seasonality which could implemented in any model, which I would prefer to do in lieu of model 8.

@zwelitunyiswa
Copy link

@ColtAllen The Gamma/Gompertz/NBD model with time-invariant contextual factors (Näf, Bachmann & Meierer 2020) paper is here: https://pubsonline.informs.org/doi/epdf/10.1287/mksc.2020.1254

I also have the Standard Gamma/Gompertz/NBD (Bemmaor & Glady 2012) paper. I can give it to you via email or DM.

@zwelitunyiswa
Copy link

@ColtAllen Check your LinkedIn inbox.

@ColtAllen
Copy link
Collaborator

Thanks @zwelitunyiswa!

@ColtAllen ColtAllen pinned this issue Feb 23, 2023
@ColtAllen
Copy link
Collaborator

ColtAllen commented Feb 23, 2023

Pinning this because it's a good list of models to add to the clv module and research reference. Also added a link to another paper comparing the Pareto/NBD, BetaGeo/NBD, PDO and Bayesian Pareto/NBD Abe models.

@ColtAllen ColtAllen changed the title Investigate implementing CLV models from BTYDPlus package List of Continuous, Non-Contractual clv Models to Consider Adding Feb 23, 2023
@ColtAllen ColtAllen added good first issue Good for newcomers help wanted Extra attention is needed question Further information is requested request discussion labels Feb 24, 2023
@larryshamalama
Copy link
Contributor

larryshamalama commented Mar 3, 2023

There's a lot of models that seem available, each with a different paper. Perhaps it would be good to find a way to harmonize all the models in a table or some sort of documentation? On top of other models (discrete, contractual, etc.)

@ColtAllen
Copy link
Collaborator

ColtAllen commented Mar 3, 2023

There's a lot of models that seem available, each with a different paper. Perhaps it would be good to find a way to harmonize all the models in a table or some sort of documentation? On top of other models (discrete, contractual, etc.)

That's a good idea. Do you think it's worth adding to the official documentation?

@larryshamalama
Copy link
Contributor

That's a good idea. Do you think it's worth adding to the official documentation?

If I can find a clever and intuitive way of summarizing the models 😅 Something that I will have to think about...

@ColtAllen
Copy link
Collaborator

ColtAllen commented Mar 6, 2023

That's a good idea. Do you think it's worth adding to the official documentation?

If I can find a clever and intuitive way of summarizing the models 😅 Something that I will have to think about...

I edited my OP so it's more coherent. For the official documentation, use case recommendations would be the best way to summarize these models methinks, preferably after some real-world application.

@ColtAllen
Copy link
Collaborator

Updated OP to add issue link for generalized seasonality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLV enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed question Further information is requested request discussion
Projects
None yet
Development

No branches or pull requests

4 participants