Hello Apollo team,
I am estimating labelled mixed logit models in Apollo on household biowaste management. Each choice set includes a respondent-specific
business as usual (BAU) / status quo alternative: “I prefer to keep my current practice.”
My goal is to predict behaviour under policy scenarios, and also to derive the expected number of households participating in each option.
My question concerns post-estimation prediction and, more specifically, how to handle the BAU alternative when reporting scenario results and when comparing predictions with observed real-world behaviour.
If I want an individual-level predicted behaviour, should I use:
- the maximum probability rule (max(p)), i.e. assign each individual to the alternative with the highest predicted probability,
- or simulated choice draw from the predicted probabilities?
How should I handle the BAU alternative?
Because BAU is respondent-specific (“keep my current practice”), it is not a unique concrete behaviour category.
In my case, respondents’ current practices may overlap with the labelled alternatives used in the experiment (for example: individual composting, curbside collection, recycling centre), rather than representing a separate behavioural category.
Would it therefore be methodologically acceptable to:
- first report predictions in the original choice space (Alternative 1 / Alternative 2 / Alternative 3 / BAU),
- and then recode BAU into the respondent’s actual current behaviour when comparing predicted versus observed real-world practices?
This seems necessary to me for external validation, and behavioural prediction because otherwise BAU remains an abstract choice category rather than an observable behaviour.
My objective is not only to predict choices within the experimental setting, but to approximate future household behaviour under policy scenarios. In particular, for my PhD research, these predictions will feed into a broader framework assessing the feasibility of alternative biowaste treatment chains. I fully understand the limitations of stated preference data, so I interpret these results as ex ante behavioural projections, not exact forecasts.
Any guidance on recommended practice would be greatly appreciated.
Thank you very much.
Important: Read this before posting to this forum
- This forum is for questions related to the use of Apollo. We will answer some general choice modelling questions too, where appropriate, and time permitting. We cannot answer questions about how to estimate choice models with other software packages.
- There is a very detailed manual for Apollo available at http://www.ApolloChoiceModelling.com/manual.html. This contains detailed descriptions of the various Apollo functions, and numerous examples are available at http://www.ApolloChoiceModelling.com/examples.html. In addition, help files are available for all functions, using e.g. ?apollo_mnl
- Before asking a question on the forum, users are kindly requested to follow these steps:
- Check that the same issue has not already been addressed in the forum - there is a search tool.
- Ensure that the correct syntax has been used. For any function, detailed instructions are available directly in Apollo, e.g. by using ?apollo_mnl for apollo_mnl
- Check the frequently asked questions section on the Apollo website, which discusses some common issues/failures. Please see http://www.apollochoicemodelling.com/faq.html
- Make sure that R is using the latest official release of Apollo.
- Users can check which version they are running by entering packageVersion("apollo").
- Then check what is the latest full release (not development version) at http://www.ApolloChoiceModelling.com/code.html.
- To update to the latest official version, just enter install.packages("apollo"). To update to a development version, download the appropriate binary file from http://www.ApolloChoiceModelling.com/code.html, and install the package from file
- If the above steps do not resolve the issue, then users should follow these steps when posting a question:
- provide full details on the issue, including the entire code and output, including any error messages
- posts will not immediately appear on the forum, but will be checked by a moderator first. We check the forum at least twice a week. It may thus take a couple of days for your post to appear and before we reply. There is no need to submit the post multiple times.
Scenario prediction with apollo_prediction and respondent-specific BAU: shares vs max(p) vs simulation
-
Username22
- Posts: 1
- Joined: 26 Mar 2026, 18:23
-
stephanehess
- Site Admin
- Posts: 1355
- Joined: 24 Apr 2020, 16:29
Re: Scenario prediction with apollo_prediction and respondent-specific BAU: shares vs max(p) vs simulation
Hi
max(p) is always the incorrect approach as it ignores the probabilistic nature of the model. If you need predictions at the person level, you indeed need to sample according to the probabilities. Have a look at ?apollo_prediction and the simChoice setting
Re BAU, I think your approach sounds fine
Stephane
max(p) is always the incorrect approach as it ignores the probabilistic nature of the model. If you need predictions at the person level, you indeed need to sample according to the probabilities. Have a look at ?apollo_prediction and the simChoice setting
Re BAU, I think your approach sounds fine
Stephane
-
Username22
- Posts: 1
- Joined: 26 Mar 2026, 18:23
Re: Scenario prediction with apollo_prediction and respondent-specific BAU: shares vs max(p) vs simulation
Hello Stéphane,
Thank you very much for your reply.
I tried using simChoice = TRUE as suggested, but I am still struggling to fully understand how to interpret the results. I apologise for the follow-up question.
With simChoice = TRUE, I do get an additional column with simulated choices. However, I obtain potentially different predicted choices for each row, while in my data one individual corresponds to 5 rows (i.e. 5 choice tasks).
In my current application, I am testing a reference scenario where all 5 choice tasks shown to a given individual are identical. As a result, the predicted probabilities for each alternative are also identical across the 5 rows for that individual.
Is it expected that simChoice produces different simulated choices across identical rows ?
If so, how should I derive a single predicted behaviour at the individual level? Should I select one of the rows ?
In addition, I noticed that when I rerun apollo_prediction, i always obtain exactly the same simChoice results. This surprises me, as I would expect different simulated outcomes if the process is stochastic.
My initial idea was to simulate individual choices multiple times, recode BAU into actual behaviours, and then compute average participation levels and standard deviations. However, given the issues above, I am not sure whether this is the correct approach or how to implement it properly.
What would be the recommended way to obtain individual-level predictions in this context?
Thank you again for your help.
Best regards,
Thank you very much for your reply.
I tried using simChoice = TRUE as suggested, but I am still struggling to fully understand how to interpret the results. I apologise for the follow-up question.
With simChoice = TRUE, I do get an additional column with simulated choices. However, I obtain potentially different predicted choices for each row, while in my data one individual corresponds to 5 rows (i.e. 5 choice tasks).
In my current application, I am testing a reference scenario where all 5 choice tasks shown to a given individual are identical. As a result, the predicted probabilities for each alternative are also identical across the 5 rows for that individual.
Is it expected that simChoice produces different simulated choices across identical rows ?
If so, how should I derive a single predicted behaviour at the individual level? Should I select one of the rows ?
In addition, I noticed that when I rerun apollo_prediction, i always obtain exactly the same simChoice results. This surprises me, as I would expect different simulated outcomes if the process is stochastic.
My initial idea was to simulate individual choices multiple times, recode BAU into actual behaviours, and then compute average participation levels and standard deviations. However, given the issues above, I am not sure whether this is the correct approach or how to implement it properly.
What would be the recommended way to obtain individual-level predictions in this context?
Thank you again for your help.
Best regards,
Last edited by Username22 on 30 Mar 2026, 16:37, edited 1 time in total.
-
stephanehess
- Site Admin
- Posts: 1355
- Joined: 24 Apr 2020, 16:29
Re: Scenario prediction with apollo_prediction and respondent-specific BAU: shares vs max(p) vs simulation
Hi
you are getting different predictions in different rows given the probabilistic nature of the model, so a separate choice is sampled in each row
Stephane
you are getting different predictions in different rows given the probabilistic nature of the model, so a separate choice is sampled in each row
Stephane