BLP demand estimation with Python 3
Project description
An overview of the model, examples, references, and other documentation can be found on Read the Docs.
The pyblp package is a Python 3 implementation of routines for estimating demand with BLP-type random coefficients logit models. The author of this package is Jeff Gortmaker. At the moment, the only other contributer is Chris Conlon. Development of the package has been guided by code made publicly available by many researchers and practitioners. Views expressed in the documentation of this package are those of the contributers and do not necessarily reflect the views of any institution at which they are employed.
Installation
The pyblp package has been tested on Python versions 3.6 and 3.7. The SciPy instructions for installing related packages is a good guide for how to install a scientific Python environment. A good choice is the Anaconda Distribution, since, along with many other packages that are useful for scientific computing, it comes packaged with pyblp’s only required dependencies: NumPy, SciPy, SymPy, and Patsy.
You can install the current release of pyblp with pip:
pip install pyblp
You can upgrade to a newer release with the --upgrade flag:
pip install --upgrade pyblp
If you lack permissions, you can install pyblp in your user directory with the --user flag:
pip install --user pyblp
Alternatively, you can download a wheel or source archive from PyPI. You can find the latest development code on GitHub and the latest development documentation here.
Features
R-style formula interface
Bertrand-Nash supply-side moments
Multiple equation GMM
Demographic interactions
Fixed effect absorption
Nonlinear functions of product characteristics
Concentrating out of linear parameters
Parameter bounds and constraints
Random coefficients nested logit (RCNL)
Varying nesting parameters across groups
Logit and nested logit benchmarks
Classic BLP instruments
Optimal instruments
Elasticities and diversion ratios
Marginal costs and markups
Profits and consumer surplus
Merger simulation
Parametric boostrapping of post-estimation outputs
Synthetic data construction
SciPy or Artleys Knitro optimization
Fixed point acceleration
Monte Carlo, product rule, or sparse grid integration
Custom optimization and iteration routines
Robust and clustered errors
Linear or log-linear marginal costs
Partial ownership matrices
Analytic gradients
Market-by-market parallelization
Extended floating point precision
Robust error handling
Features Slated for Future Versions
Hessian computation
Mathematical Program with Equilibrium Constraints (MPEC)
Generalized Empirical Likelihood (GEL)
Micro moments
Perfect competition
Agent type mixtures
More optimization and iteration routines
Bugs and Requests
Please use the GitHub issue tracker to submit bugs or to request features.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.