Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyblp-0.6.1.tar.gz (1.3 MB view hashes)

Uploaded Source

Built Distribution

pyblp-0.6.1-py3-none-any.whl (1.1 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page