LARCH: A Freeware Package for Estimating Discrete Choice Models

Click to enlarge


Jeffrey P. Newman

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 Documentation for Larch is
available at


Publications: Newman, J.P., Lurkin, V., and Garrow, L.A. LARCH: A package for estimating multinomial, nested, and cross-nested logit models (submitted in September 2016 to the Journal of Statistical Software).