Skip to main content

BLP demand estimation with Python 3

Project description

An overview of the model, examples, and other documentation can be found on Read the Docs.

The pyblp package is a Python 3 implementation of the nested fixed point algorithm for BLP demand estimation. 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 the BLP 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 to which they belong.

Installation

The pyblp package has been tested on Python 3.6. 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

  • Straightforward interface for configuring and solving BLP problems with R-style formulas.

  • Performant absorption of arbitrary fixed effects.

  • Support for robust and clustered standard errors.

  • Support for demographics and supply-side moments.

  • Support for nonlinear functions and interactions of product characteristics.

  • Customizable parameter matrices and bounds.

  • Estimation of a Logit bechmark model.

  • Post-estimation functions for computing elasticities, diversion ratios, marginal costs, markups, profits, HHI, and consumer surplus.

  • Post-estimation merger simulation.

  • Flexible interface for simulating synthetic data under Bertrand-Nash competition.

  • Optimization with Artleys Knitro, SciPy, or custom routines.

  • Fixed point iteration with SQUAREM acceleration or custom routines.

  • Integration with Monte Carlo, Gauss-Hermite/Kronrod-Patterson product rules, sparse grids, or custom specifications.

  • One-step, two-step, or iterated GMM.

  • Control over weighting matrix and standard error computation.

  • Linear or log-linear marginal cost specifications.

  • Support for non-standard ownership matrices.

  • Functions for building ownership matrices and BLP instruments.

  • Support for market-by-market parallelization.

  • Support for extended floating point precision.

  • Robust handling of computational errors.

  • Informative and configurable progress updates.

Features Slated for Future Versions

In no particular order, listed below are major features that will hopefully be added to the package in future versions:

  • Support for nesting parameters.

  • Parametric bootstrap computation of post-estimation standard errors.

  • Built-in IPOPT support.

  • Built-in support for more fixed point routines.

  • Nonlinear optimization alternatives to fixed point iteration when computing Bertrand-Nash prices and shares.

  • Hessian computation and tests for local minima.

  • Mathematical Program with Equilibrium Constraints (MPEC) formulation of the GMM objective function.

  • Generalized Empirical Likelihood (GEL) formulation of the problem.

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.4.0.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyblp-0.4.0-py3-none-any.whl (2.8 MB view details)

Uploaded Python 3

File details

Details for the file pyblp-0.4.0.tar.gz.

File metadata

  • Download URL: pyblp-0.4.0.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyblp-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a2644e9bf54807cbf7366089608a225e25eb25fa9af88422fe0526147e768ac7
MD5 b8f7e853101ecf0baf70211fe458ce41
BLAKE2b-256 fb6b294740c556152dc074f2738c8e249e554b4477887e8284ff18216ed591b4

See more details on using hashes here.

File details

Details for the file pyblp-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pyblp-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b261e8bf02ff940cd3f23ba4186c0c4eb6c03b2ba8bce88390b764c0dd0c4e71
MD5 344571afc4651d7e5e59d70540e5e628
BLAKE2b-256 5f73247e7ffaaa2e342d323a7e0d9030525a216eb622be50ea7ef89b15065383

See more details on using hashes here.

Supported by

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