Skip to main content


CMC members Stephane Hess and David Palma have developed the very flexible and advanced free R package Apollo for choice modelling.

For full details, see here.

Apollo is a completely free package which does not rely on commercial statistical software as a host environment. It relies on R, which is very widely used across disciplines and works well across different operating systems.

Apollo is the culmination of many years of development of individual choice modelling routines, starting with code developed by Stephane Hess while at Imperial College using Ox. This code was gradually transitioned to R at the University of Leeds, with substantial further developments once David Palma joined the team in Leeds, bringing with him ideas developed at Pontificia Universidad Catolica de Chile. No code is an island, and we have been inspired especially by ALogit and Biogeme, and Apollo mirrors at least some of their features.

A brief explanation is needed as to our choice of the name Apollo. Several existing packages refer to specific models in their name (e.g. ALogit, NLogit) which is not applicable in our case given the wider set of models we cover. We failed miserably in our efforts to come with an imaginative acronym like Biogeme and so went back to Greek mythology. The obvious choice would have been Cassandra, with her gift of prophecy and the curse that nobody listened to her (a bit like choice modellers trying to sell their ideas to policy makers). Alas, the name has already been used for a large database package, so we resorted to Apollo, the Greek god of prophecy who gave this gift to Cassandra in the first place.

Key features of Apollo:

Transparent, yet accessible: Apollo is neither a blackbox nor does it require expert econometric skills. The user can see as much or as little detail of the underlying methodology as desired, but the link between inputs and outputs remains.

Ease of use: Apollo combines easy to use R functions with new intuitive functions without unnecessary jargon or complexity.

Modular nature: Apollo use the same code structure independently of whether the simplest multinomial logit model is to be estimated, or a complex structure using random coefficients and combining multiple model components.

Fully customisable: Apollo provides functions for many well known models but the user is able to add new structures and still make use of the overall code framework.

Discrete and continuous: Apollo incorporates functions not just for commonly used discrete choice models but also for a family of models that looks jointly at discrete and continuous choices.

Novel structures: Apollo goes beyond standard choice models by incorporating the ability to estimate Decision Field Theory (DFT) models, a popular accumulator model from mathematical psychology.

Classical and Bayesian: Apollo does not restrict the user to either classical or Bayesian estimation but easily allows changing from one to the other.

Easy multi-threading: Apollo allows users to split the computational work across multiple processors without making changes to the model code.

Not limited to estimation: Apollo provides a number of pre and post-estimation tools, including diagnostics as well as prediction/forecasting capabilities and posterior analysis of model estimates.