bayesian_blp#

Bayesian BLP (Berry-Levinsohn-Pakes) model on aggregate market-share panels.

Fits the random-coefficients aggregate-share demand model of Berry, Levinsohn & Pakes (1995) in a fully Bayesian formulation that follows Jiang, Manchanda & Rossi (2009, QME) and Yang, Chen & Allenby (2003): the BLP contraction mapping and GMM are dropped in favour of a joint posterior over preference parameters and the latent product-market shocks ξ_jt. This makes hierarchical pooling across markets / regions cheap, returns full posterior elasticities, and stays honest under weak instruments.

Use this when the data is aggregate market shares across products and markets (the common Nielsen / IRI / retailer-scanner data shape) and you need cross-price substitution patterns that come from a structural preference model rather than a reduced-form share allocation. For individual-level discrete choice, use pymc_marketing.customer_choice.MixedLogit instead. For “what happened when X launched” style impact analyses on aggregate shares, use pymc_marketing.customer_choice.MVITS.

Classes

BayesianBLP(market_data, *, characteristics)

Bayesian random-coefficients logit on aggregate market-share panels.