Skip to content

Plotting methods for BassModel #2589

@williambdean

Description

@williambdean

Add dedicated plotting methods to BassModel for visualizing adoption curves and diagnostics.

Motivation

The existing Bass notebook shows several useful plots, but users must build them manually. Adding model.plot_* methods (consistent with MMM and CLV patterns) makes analysis easier and enables MLflow integration via mlflow.log_figure.

Proposed plots

Method Description
plot_adoption_curve Adoption curve: observed vs. predicted adopters over time with HDI
plot_cumulative S-curve: cumulative adoption with HDI
plot_decomposition Breakdown into innovators vs. imitators (see #1706 for dual y-axes)
plot_peak Posterior distribution of peak adoption time

Design notes

  • Follow the pattern in pymc_marketing/clv/plotting.py (class methods that accept ax and figsize)
  • Support both single-product and multi-product data (with product parameter to select)
  • Use ArviZ for HDI computation where applicable
  • Reuse F and f functions for theoretical curves

Related

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions