Grumps.jl is a package for computing random coefficients demand models using consumer and product level data. The main estimators are introduced in Grieco, Murry, Pinkse, and Sagl (2022), including:
-
the conformant likelihood with exogeneity restrictions (CLER) estimator
-
an asymptotically equivalent less expensive alternative thereof
-
the mixed data likelihood estimator (MDLE)
-
the share constrained likelihood estimator
In addition, other estimators have been implemented:
-
mixed logit models (consumer level data only)
-
multinomial logit models (consumer level data only)
-
GMM type random coefficient models in the style of Berry, Levinsohn, and Pakes (2004) (in process, not recommended)
where
Typically,
Several extensions are possible, which may require additions to the code.
This documentation describes the use of the Grumps computer package. It does not describe the estimators or algorithms. Please refer to Grieco, Murry, Pinkse, and Sagl (2022) for that. In addition, the code itself is documented, also.
This is still a preliminary version of Grumps, so please advise Joris Pinkse of any bugs, problems, shortcomings, missing features, etcetera. Features it does not currently possess include:
- sparse quadrature or similar integration methods
- distributed computing
- GPUs
- statistics other than coefficients, e.g. elasticities
- integration methods for the micro portion of the GMM estimator other than quadrature
- traditional GMM; see Grieco, Murry, Pinkse, and Sagl (2022) for details
- standard errors for some of the estimators
- detailed sanity checks
- Bug fix for the user-specified arbitrary interactions case.
- Bug fix for the case in which there are no macro data but an estimator other than mixed logit is selected.
- Added compatibility checks
- Precautionary change to improve robustness across operating systems
One minor bug fix:
- Mac terminals did not support the progress bar in version 0.2.0. This issue has been addressed and the progress bar is moreover turned off by default.
There are many improvements, including:
- User-specified interactions, which makes it possible to e.g. have distance between consumer and branch as an interactions regressor
- Significant improvement in speed
- A progress bar, indicating what fraction of markets have been completed in an iteration
- Several other code improvements
All of this code is subject to the MIT license. This code includes a modified version of the Newton Method with Trust Regions code in the Optim package, which is also subject to the MIT license.