Skip to content
This repository was archived by the owner on Jul 21, 2024. It is now read-only.
This repository was archived by the owner on Jul 21, 2024. It is now read-only.

Start Here #16

@ColtAllen

Description

@ColtAllen

This post will be actively maintained, so keep checking back and if there are any specific tasks or suggestions you want to work on for the Beta release and beyond, please let me know.

Rodrigorivera inspired me to create Projects for all outstanding tasks, which will be sorted by version release:

BETA RELEASE

Deprecate fitters module and fix known lifetimes bugs:

  • Add pareto_nbd_model.py module
  • Add gamma_gamma_model.py module
  • Add mbgd_model.py module
  • Add bg_bb_model.py module
  • Add bg_nbd_covars_model.py module
  • Docstrings for predictive methods.
  • Remove utils.py plotting dependencies from plotting.py
  • Add matrix plotting method to BaseModel
  • Add capability to load models from CSV files.
  • Raise pymc exception whenever model fails to converge
  • Create model exception class and raise whenever the wrong model type is loaded
  • Type hinting for utils.py, plotting.py, and generate_data.py modules
  • Delete redundant load_cdnow_summary() function

RELEASE CANDIDATE

Polish up documentation and fix any bugs identified while working on beta release(s):

  • Add arviz plotting suggestions and code to docs for model inference
  • Add an explanatory chart to documentation summarizing model characteristics
  • Create and add logo for library
  • CI/CD for auto-updates to project documentation
  • Consider hosting docs on GitHub and emulating documentation style of ArViZ and bambi

FUTURE VERSION RELEASES

Implement additional BTYD Models, enhance plotting functions, documentation and library performance, etc.

  • Add individual customer variant of BetaGeoModel
  • Add individual customer variant of ParetoNBDModel
  • Add individual customer variant of ModBetaGeoModel
  • Add time-invariant covariates to ParetoNBDModel
  • Add Pareto/GGG Model
  • Add PDO Model
  • Add BG/NBD-k and MBG/NBD-k Models
  • Add time-varying covariates to ParetoNBDModel? (Note this model could take days to train and necessitate checkpointing functionality to be added)
  • Suggestions for any other models to add?
  • Add tutorial notebook(s)
  • Add sample_kwargs to BaseModel.fit
  • Fix BetaGeo conditional probability calculation
  • Review viability of modifying hyperprior RVs
  • Enhance existing plotting functions with seaborn
  • RFM score function for quartiles
  • jax sampling via pymc to speed up model fitting times
  • gpu sampling via pymc to speed up model fitting times
  • Comprehensive evaluation of model priors to determine best defaults
  • Refactor utils.py
  • Add code for mlflow model registration to documentation
  • Refactor `BetaGeoModel._conditional_probability_alive' unit test to remove extraneous args.
  • Refactor `BetaGeoModel._conditional_expected_number_of_purchases_up_to_time' unit test to remove extraneous args.

Projects

Metadata

Metadata

Assignees

Labels

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions