HDR ASSET Workshop #9

Choice Modelling II: Advanced Techniques

Choice Modelling: a summary

Choice models attract academic and applied interest for their ability to generate economically grounded outputs such as demand forecasts, willingness-to-pay estimates, and price elasticities that inform policy and strategic decisions.


(most) Choice models are based on random utility theory and use a form of logistic regression to make estimates about the relative utility decision makers derive from a set of alternatives.


Statistical software that can estimate a logit model can be used to run choice models of this type (e.g., base R, core Python, SPSS, Stata, Matlab, SAS) as well as commercial software packages designed specifically for choice models (NLogit, ALogit, Sawtooth, Biogeme).

Stated preference (SP) experiments

SP experiments (also known as “choice experiments”) are a specific type of data generation process that choice modellers use to record the choices of decision makers.


The task for a respondent in a SP experiment is to select the alternative before them which best maximises their utility. The alternatives are described by attributes, and those attributes have levels.


Typically analysts will observe respondents making several choices. Having multiple observations per respondent allows for more precise estimation of model parameters, as well as allows the analyst to make rich behavioural insights.

Wine choice example


In this example, there are 8 alternatives in the set shown. Each alternative has attributes (price, grape type, etc), and these attributes vary across alternatives ($9.99 vs $13.99, Cabernet vs Shiraz, etc). After making a choice, the respondent will be shown another choice set (another “shelf of wine”) and asked to choose again. The screen is also formatted aesthetically to resemble a real decision making context.


Which bottle would you choose?

Attributes and Levels

The analyst has to carefully select the attributes and levels they will use to describe the range of hypothetical alternatves to display to respondents.


The attributes should reflect the real-world. The attributes should be important, plausible, and understandable to respondents. The levels of the attributes should have realistic ranges, and be sufficiently separated such that decision makers can reasonably trade them off.


Next, the analyst has to combine the attributes and levels together in such a way that is statistically robust and be suitable for respondents.


How do we actually create a SP experiment?

Designing SP experiments

The design of SP experiments typically relies on experimental design plans, which are either generated using specialised software or sourced from established design catalogues.


The design of SP experiments constitutes a specialised field in its own right, encompassing diverse methods of algorithmic optimisation, combinatorial logic, and simulation techniques. These approaches are used to systematically combine attributes and levels into presentable “choice sets” that balance statistical rigour with respondent realism.


Designing SP experiments can be really hard.

Design plans

A design plan is a table of rows and colums, where each row represents an alternative within a choice set, and each column represents an attribute. The cells in the table show which level of each attribute is used for each alternative.


Design plans are structured to reduce overlap between attributes and to cover the range of possibilities efficiently. If researchers already know how people are likely to respond (based on prior studies) they can use Bayesian methods to create more efficient designs tailored to those expectations.


Once a design plan is located/generated, the choice sets need to be constructed and made presentable to respondents.

Example design plan

… numeric

Choice Set Alternative Price Variety Region
1 1 5 1 1
1 2 3 2 2
1 3 1 3 3
1 4 4 4 4
1 5 7 5 5
1 6 2 2 1
1 7 6 3 2
1 8 8 1 4
2 1 3 5 3
2 2 4 3 5
2 3 2 4 1
2 4 6 2 2
2 5 1 1 4
2 6 7 5 1
2 7 5 4 5
2 8 3 3 2
3 1 8 2 3
3 2 1 1 5
3 3 4 5 4
3 4 3 4 2
3 5 2 3 1
3 6 7 2 5
3 7 5 1 2
3 8 6 5 3
4 1 3 3 4
4 2 4 4 1
4 3 1 2 2
4 4 2 1 3
4 5 7 5 5
4 6 6 3 1
4 7 5 4 2
4 8 8 2 4
5 1 4 3 4
5 2 3 4 2
5 3 7 5 3
5 4 1 2 5
5 5 5 1 1
5 6 2 3 2
5 7 6 4 3
5 8 8 5 4
6 1 3 2 5
6 2 5 1 2
6 3 2 3 4
6 4 4 4 1
6 5 1 5 3
6 6 7 2 5
6 7 6 1 2
6 8 8 3 1
7 1 1 4 5
7 2 3 5 4
7 3 4 2 2
7 4 2 1 3
7 5 5 3 1
7 6 7 4 2
7 7 6 5 5
7 8 8 2 4
8 1 3 1 2
8 2 1 3 3
8 3 4 4 4
8 4 2 2 1
8 5 5 5 5
8 6 7 1 2
8 7 6 3 4
8 8 8 4 1

… with labels

Choice Set Alternative Price Variety Region
1 Wine A 21.99 Shiraz Barossa
1 Wine B 13.99 Semillon Hunter
1 Wine C 5.99 Chardonnay Margaret
1 Wine D 17.99 Pinot Noir Yarra
1 Wine E 25.49 Grenache McLaren
1 Wine F 9.99 Semillon Barossa
1 Wine G 23.39 Chardonnay Hunter
1 Wine H 27.19 Shiraz Yarra
2 Wine A 13.99 Grenache Margaret
2 Wine B 17.99 Chardonnay McLaren
2 Wine C 9.99 Pinot Noir Barossa
2 Wine D 23.39 Semillon Hunter
2 Wine E 5.99 Shiraz Yarra
2 Wine F 25.49 Grenache Barossa
2 Wine G 21.99 Pinot Noir McLaren
2 Wine H 13.99 Chardonnay Hunter
3 Wine A 27.19 Semillon Margaret
3 Wine B 5.99 Shiraz McLaren
3 Wine C 17.99 Grenache Yarra
3 Wine D 13.99 Pinot Noir Hunter
3 Wine E 9.99 Chardonnay Barossa
3 Wine F 25.49 Semillon McLaren
3 Wine G 21.99 Shiraz Hunter
3 Wine H 23.39 Grenache Margaret
4 Wine A 13.99 Chardonnay Yarra
4 Wine B 17.99 Pinot Noir Barossa
4 Wine C 5.99 Semillon Hunter
4 Wine D 9.99 Shiraz Margaret
4 Wine E 25.49 Grenache McLaren
4 Wine F 23.39 Chardonnay Barossa
4 Wine G 21.99 Pinot Noir Hunter
4 Wine H 27.19 Semillon Yarra
5 Wine A 17.99 Chardonnay Yarra
5 Wine B 13.99 Pinot Noir Hunter
5 Wine C 25.49 Grenache Margaret
5 Wine D 5.99 Semillon McLaren
5 Wine E 21.99 Shiraz Barossa
5 Wine F 9.99 Chardonnay Hunter
5 Wine G 23.39 Pinot Noir Margaret
5 Wine H 27.19 Grenache Yarra
6 Wine A 13.99 Semillon McLaren
6 Wine B 21.99 Shiraz Hunter
6 Wine C 9.99 Chardonnay Yarra
6 Wine D 17.99 Pinot Noir Barossa
6 Wine E 5.99 Grenache Margaret
6 Wine F 25.49 Semillon McLaren
6 Wine G 23.39 Shiraz Hunter
6 Wine H 27.19 Chardonnay Barossa
7 Wine A 5.99 Pinot Noir McLaren
7 Wine B 13.99 Grenache Yarra
7 Wine C 17.99 Semillon Hunter
7 Wine D 9.99 Shiraz Margaret
7 Wine E 21.99 Chardonnay Barossa
7 Wine F 25.49 Pinot Noir Hunter
7 Wine G 23.39 Grenache McLaren
7 Wine H 27.19 Semillon Yarra
8 Wine A 13.99 Shiraz Hunter
8 Wine B 5.99 Chardonnay Margaret
8 Wine C 17.99 Pinot Noir Yarra
8 Wine D 9.99 Semillon Barossa
8 Wine E 21.99 Grenache McLaren
8 Wine F 25.49 Shiraz Hunter
8 Wine G 23.39 Chardonnay Yarra
8 Wine H 27.19 Pinot Noir Barossa

Creating formatted choice sets

The next step is to transpose the information from the design plan to formatted choice sets.


Survey design software (e.g., Qualtrics) can be used for this purpose using a “tick one” rating scale question with each of the attributes and levels for each alternative described above the selection button.


This method requires manual construction of each alternative within each choice set (a tedious, but doable, process!)

Creating formatted choice sets


Choice Set Alternative Price Variety Region
1 Wine A 21.99 Shiraz Barossa
1 Wine B 13.99 Semillon Hunter
1 Wine C 5.99 Chardonnay Margaret
1 Wine D 17.99 Pinot Noir Yarra
1 Wine E 25.49 Grenache McLaren
1 Wine F 9.99 Semillon Barossa
1 Wine G 23.39 Chardonnay Hunter
1 Wine H 27.19 Shiraz Yarra


becomes choice set 1…

Attribute Wine A Wine B Wine C Wine D Wine E Wine F Wine G Wine H
Variety Shiraz Semillon Chardonnay Pinot Noir Grenache Semillon Chardonnay Shiraz
Region Barossa Hunter Margaret Yarra McLaren Barossa Hunter Yarra
Price (AUD) $21.99 $13.99 $5.99 $17.99 $25.49 $9.99 $23.39 $27.19
Select

Creating formatted choice sets


Choice Set Alternative Price Variety Region
2 Wine A 13.99 Grenache Margaret
2 Wine B 17.99 Chardonnay McLaren
2 Wine C 9.99 Pinot Noir Barossa
2 Wine D 23.39 Semillon Hunter
2 Wine E 5.99 Shiraz Yarra
2 Wine F 25.49 Grenache Barossa
2 Wine G 21.99 Pinot Noir McLaren
2 Wine H 13.99 Chardonnay Hunter


becomes choice set 2…

Attribute Wine A Wine B Wine C Wine D Wine E Wine F Wine G Wine H
Variety Grenache Chardonnay Pinot Noir Semillon Shiraz Grenache Pinot Noir Chardonnay
Region Margaret McLaren Barossa Hunter Yarra Barossa McLaren Hunter
Price (AUD) $13.99 $17.99 $9.99 $23.39 $5.99 $25.49 $21.99 $13.99
Select

Creating formatted choice sets


Choice Set Alternative Price Variety Region
3 Wine A 27.19 Semillon Margaret
3 Wine B 5.99 Shiraz McLaren
3 Wine C 17.99 Grenache Yarra
3 Wine D 13.99 Pinot Noir Hunter
3 Wine E 9.99 Chardonnay Barossa
3 Wine F 25.49 Semillon McLaren
3 Wine G 21.99 Shiraz Hunter
3 Wine H 23.39 Grenache Margaret


becomes choice set 3…

Attribute Wine A Wine B Wine C Wine D Wine E Wine F Wine G Wine H
Variety Semillon Shiraz Grenache Pinot Noir Chardonnay Semillon Shiraz Grenache
Region Margaret McLaren Yarra Hunter Barossa McLaren Hunter Margaret
Price (AUD) $27.19 $5.99 $17.99 $13.99 $9.99 $25.49 $21.99 $23.39
Select

Creating formatted choice sets


Choice Set Alternative Price Variety Region
4 Wine A 13.99 Chardonnay Yarra
4 Wine B 17.99 Pinot Noir Barossa
4 Wine C 5.99 Semillon Hunter
4 Wine D 9.99 Shiraz Margaret
4 Wine E 25.49 Grenache McLaren
4 Wine F 23.39 Chardonnay Barossa
4 Wine G 21.99 Pinot Noir Hunter
4 Wine H 27.19 Semillon Yarra


becomes choice set 4…

Attribute Wine A Wine B Wine C Wine D Wine E Wine F Wine G Wine H
Variety Chardonnay Pinot Noir Semillon Shiraz Grenache Chardonnay Pinot Noir Semillon
Region Yarra Barossa Hunter Margaret McLaren Barossa Hunter Yarra
Price (AUD) $13.99 $17.99 $5.99 $9.99 $25.49 $23.39 $21.99 $27.19
Select

Creating formatted choice sets


Choice Set Alternative Price Variety Region
5 Wine A 17.99 Chardonnay Yarra
5 Wine B 13.99 Pinot Noir Hunter
5 Wine C 25.49 Grenache Margaret
5 Wine D 5.99 Semillon McLaren
5 Wine E 21.99 Shiraz Barossa
5 Wine F 9.99 Chardonnay Hunter
5 Wine G 23.39 Pinot Noir Margaret
5 Wine H 27.19 Grenache Yarra


becomes choice set 5…

Attribute Wine A Wine B Wine C Wine D Wine E Wine F Wine G Wine H
Variety Chardonnay Pinot Noir Grenache Semillon Shiraz Chardonnay Pinot Noir Grenache
Region Yarra Hunter Margaret McLaren Barossa Hunter Margaret Yarra
Price (AUD) $17.99 $13.99 $25.49 $5.99 $21.99 $9.99 $23.39 $27.19
Select

Creating formatted choice sets


Choice Set Alternative Price Variety Region
6 Wine A 13.99 Semillon McLaren
6 Wine B 21.99 Shiraz Hunter
6 Wine C 9.99 Chardonnay Yarra
6 Wine D 17.99 Pinot Noir Barossa
6 Wine E 5.99 Grenache Margaret
6 Wine F 25.49 Semillon McLaren
6 Wine G 23.39 Shiraz Hunter
6 Wine H 27.19 Chardonnay Barossa


becomes choice set 6…

Attribute Wine A Wine B Wine C Wine D Wine E Wine F Wine G Wine H
Variety Semillon Shiraz Chardonnay Pinot Noir Grenache Semillon Shiraz Chardonnay
Region McLaren Hunter Yarra Barossa Margaret McLaren Hunter Barossa
Price (AUD) $13.99 $21.99 $9.99 $17.99 $5.99 $25.49 $23.39 $27.19
Select

Creating formatted choice sets


Choice Set Alternative Price Variety Region
7 Wine A 5.99 Pinot Noir McLaren
7 Wine B 13.99 Grenache Yarra
7 Wine C 17.99 Semillon Hunter
7 Wine D 9.99 Shiraz Margaret
7 Wine E 21.99 Chardonnay Barossa
7 Wine F 25.49 Pinot Noir Hunter
7 Wine G 23.39 Grenache McLaren
7 Wine H 27.19 Semillon Yarra


becomes choice set 7…

Attribute Wine A Wine B Wine C Wine D Wine E Wine F Wine G Wine H
Variety Pinot Noir Grenache Semillon Shiraz Chardonnay Pinot Noir Grenache Semillon
Region McLaren Yarra Hunter Margaret Barossa Hunter McLaren Yarra
Price (AUD) $5.99 $13.99 $17.99 $9.99 $21.99 $25.49 $23.39 $27.19
Select

Creating formatted choice sets


Choice Set Alternative Price Variety Region
8 Wine A 13.99 Shiraz Hunter
8 Wine B 5.99 Chardonnay Margaret
8 Wine C 17.99 Pinot Noir Yarra
8 Wine D 9.99 Semillon Barossa
8 Wine E 21.99 Grenache McLaren
8 Wine F 25.49 Shiraz Hunter
8 Wine G 23.39 Chardonnay Yarra
8 Wine H 27.19 Pinot Noir Barossa


becomes choice set 8…

Attribute Wine A Wine B Wine C Wine D Wine E Wine F Wine G Wine H
Variety Shiraz Chardonnay Pinot Noir Semillon Grenache Shiraz Chardonnay Pinot Noir
Region Hunter Margaret Yarra Barossa McLaren Hunter Yarra Barossa
Price (AUD) $13.99 $5.99 $17.99 $9.99 $21.99 $25.49 $23.39 $27.19
Select

Specialised SP design platforms

Rather than manually transposing the design plan to choice sets in generic survey software, a better approach is to use platforms more specifically developed for the creation of SP experiments to remove the need to manually construct choice sets or reshape data for modelling.


SurveyEngine is the most recommended platform to do for academic research purposes. It provides high degree of statistical rigor and control the analyst to design their SP experiment with full transparency using the most advanced techniques available.

SurveyEngine was formed in Sydney in 2001 by Ben White whilst working as a programmer for Jordan Louviere. The platform integrates Ngene for SP design and Apollo for SP data modelling.


Jordan Louviere


Ben White

Apollo and Ngene

Apollo is an R package for the estimation of a wide range of choice models, developed and maintained by Stephane Hess & David Palma.


Ngene is specialised design software developed and maintained by John Rose, Michiel Bliemer, Andrew Collins and David Hensher.

SurveyEngine pricing


HDR Workshop access to SurveyEngine

Students in this workshop can access a standard account for FREE for a period of 3 months. Access the sign up page from the QR code or link, select the Standard option and use the promo code below. Once complete login to your SurveyEngine account on your laptop.


(Link to sign up page)


Select: Standard
Promo code: TEACH25



Thank you to SurveyEngine for sponsoring this workshop!

SurveyEngine home page

To create a new survey, click “Create Survey”.

Create new survey

To create a new SP choice experiment click “Experiment”.

Create an experiment

SurveyEngine experimental design

Fill in the fields in the SurveyEngine experimental design generator.


Attributes should have a descriptive name.


Attributes should have at least two levels.


Once ready to generate the experimental design plan, click “Design” then click “Generate Orthogonal”.

Generate orthogonal design

Design tips

Stated preference experiments can quickly become too cognitively burdensome for respondents to engage with if they have too many attributes, too many levels or too many alternatives.


Complex designs with too many elements are difficult to find statistically tractable ways to combine together into choice sets.


Simple designs are the best (and worst). Designs with about 4 to 6 attributes, 2 to 5 levels per attribute, and about 3 to 4 alternatives per choice set are close to the “sweet spot” when it comes to designing experiments. However, if a decision context has much more to consider than this in reality, such designs might not accurately lead to respondent behaviour that matches behaviour in that context.

Add choice sets to survey

Collecting data

Once you have completed the design of your experiment and the survey pages surrounding it, you are ready to launch the survey to a panel of respondents.


SurveyEngine offers a panel provider service, or alternatively you can distribute the published URL to an alternative panel provider (e.g., Prolific), Dynata, PureProfile, etc.

Publishing survey

Modelling the data

Once the data has been collected from a panel of respondents, SurveyEngine can generate an MNL model of the SP data within the browser platform.


Models can be generated on the fly as data is being collected. This enables you to track how results are tracking. It is also a good way to check they your experiment (and survey more generally) is behaving as expected.


SurveyEngine will also generate a .r file which can be used to run models offline using Apollo in R.

Estimate an MNL (in SurveyEngine)

Downloading data and R script

Using R

If you have not already, install R and R Studio on your computer.


Download and install R from: https://cran.rstudio.com/


Download and install R Studio from: https://posit.co/download/rstudio-desktop/


Install apollo using:

install.packages("apollo")

Download data and .r file

SurveyEngine packages the data and R script for your first MNL model into a .zip file. Unzip this file into a directory on your computer and open the .r file in R Studio.


Opening the .r file from where you have saved it on your computer should automatically set the correct working directory. If you need help setting your working directory in R, reach out for help.


Once opened in R, run the whole .r file. This will read in the data from SurveyEngine, run the MNL model in Apollo and print the output to the console and files within your working directory.

Estimate MNL in R using Apollo

Interpreting MNL Coefficients

The estimated coefficients from a Multinomial Logit (MNL) model indicate how changes in attribute levels influence decision-makers’ preferences within the context of the study.

  • Coefficients reflect changes in utility relative to a preference level (baseline) for each attribute.
  • A positive coefficient suggests that increasing the attribute level raises utility (i.e., makes the option more preferred), while a negative coefficient implies a decrease in utility.
  • If a cost attribute is included in the model, willingness-to-pay (WTP) estimates can be derived by dividing the coefficient of a non-cost attribute by the cost coefficient to express how much respondents are willing to pay for a one-unit change in the attribute level.

Learning more about choice models

Choice modelling is an advanced methodology. There is only so much we can cover in a 2hr workshop!


Today we put the theory learnt in the previous workshop (Fundamentals of Choice Modelling) into quick practice, covering how to design SP experiments in SurveyEngine and run a first MNL model in Apollo.

ICMC2026

UQ is hosting the 2026 International Choice Modelling Conference on the Gold Coast (20 - 22 July 2026). If you have a study which uses choice modelling, consider submitting it for presentation at ICMC2026! The call for abstracts will come out soon…


Stephane Hess (the author of the Apollo package) will be running day long Apollo workshops here on campus at UQ either before or after the conference (TBA). These workshops will provide a deep dive into running and interpreting models models of both RP and SP data, as well other advanced usage of the Apollo package.


More information will be available at https://www.icmconference.org.uk/ soon. We will also distribute the information to all workshop attendees.

ICMC2026

Thank you!