LARCH is a software package written in Python and C++ by Jeffrey Newman that can be used to estimate multinomial, nested, and cross-nested logit models. The software exploits computational opportunities that arise from the use of semi-aggregate data (where the explanatory data for choice scenarios are not necessarily unique for each decision-maker) in discrete choice models. This data feature is commonly encountered with large transactional databases that have limited consumer information, such as airiline itinerary choice models. Benchmarking experiments against current commercial and freeware packages based on an industry dataset for airline itinerary choice modeling applications shows that the size of the input estimation files are 50 to 100 times larger in these other software packages. Estimation times are also much faster in LARCH; e.g., for a small itinerary choice problem, a multinomial logit model estimated in Larch converged in less than one second whereas the same model took almost 15 seconds to three minutes in other software packages. For more complex discrete choice models, such as the ordered generalized extreme value model, estimation times were two seconds in Larch and four to five days in other software packages.
LARCH is made available for free under the GNUv3 license. Precompiled binaries for macOS and Windows are available for free download though the python package index (PyPI), and the source code is available on GitHub at https://github.com/jpn–/larch. Documentation for Larch is
available at https://larch.readthedocs.io.
Publications:
Newman, J.P., Lurkin, V., and Garrow, L.A. (2018). Computational methods for estimating multinomial, nested, and cross-nested logit models that account for semi-aggregate data. Journal of Choice Modeling 26: 1-13.