Choicery Tutorial Series

Market Simulation (Choice Share)

How to simulate competitive markets and predict product shares using conjoint utilities, a practical guide for Choicery with methodological background.

Choicery Methodology Reference | July 2026

Contents

Part I, Practical Guide
  1. What Is Market Simulation?
  2. Prerequisites
  3. Setting Up Products
  4. The Three Simulation Methods
    • Randomized First Choice (RFC)
    • Share of Preference (Logit Rule)
    • First Choice (Maximum Utility)
    • Which Method Should I Use?
  5. The None Option
  6. Running and Interpreting Results
    • Running the Simulation
    • Share Cards and Bars
    • Confidence Intervals
    • Downloading Results
    • Segmented Results
    • The PDF Report
  7. Product Sets, Filters & Price Setup
    • Saved Product Sets
    • Filters
    • Price Setup
    • Analysis Settings
  8. Best Practices & Common Pitfalls
Part II, Theoretical Background
  1. Key Definitions
  2. Share of Preference, The Logit Rule
    • Formula
    • Properties
    • The Scale Factor Issue
    • The IIA Problem
  3. First Choice Rule
    • Formula
    • Properties and Limitations
  4. Randomized First Choice (RFC)
    • Origin
    • The Algorithm
    • Why This Fixes IIA
    • Special Cases
  5. The IIA Problem
    • Formal Definition
    • The Red Bus / Blue Bus Problem
    • The Coke / Pepsi / Milk Example
    • Why HB Helps
    • Why RFC Goes Further
  6. Practical Considerations
  7. References
Part I

Practical Guide

Everything you need to set up, run, and interpret market simulations in Choicery.

1. What Is Market Simulation?

Market simulation takes the individual-level utilities from your HB (or TasteNet) estimation and places product concepts in simulated competition. You define products with specific attribute levels, and the simulator predicts how respondents would distribute their choices among those products.

Think of it this way: imagine all your survey respondents gathered in one room, presented with a shelf of products, and each one picks their favorite. The simulator does this computationally, using each respondent’s estimated preferences to determine their choice.

The core output

Choice shares (%) for each product, the predicted proportion of respondents who would choose each product in the defined competitive scenario. If Product A gets 35% and Product B gets 65%, the model predicts that 35% of respondents would prefer Product A when faced with that specific choice.

This is the most practically important feature in conjoint analysis. While HB estimation tells you what people prefer in general, market simulation answers the “What if?” questions that drive business decisions:

Simulation vs. estimation

HB estimation is the engine: it extracts individual preferences from choice data. Market simulation is the steering wheel: it lets you explore any competitive scenario using those preferences. You run estimation once; you run simulations many times.

2. Prerequisites

Before running a market simulation in Choicery, you need the following:

The Guide button at the top right of the Choice Share tab opens this tutorial: that is the in-app entry point for users who want to read the background while configuring a simulation.

1

A completed analysis run with individual-level utilities. The simulator uses each respondent’s individual part-worth utilities as input. Without these, there is nothing to simulate. Run a Preference Analysis (HB) or an AI-Driven Profile Analysis first, from the Analysis page.

2

Open Market Simulation. On the Analysis page, open the Market Simulation section and click Go to Market Simulation. The simulator opens on its own page with the Products panel on the left and a tabbed results panel on the right. The first tab is Choice Share.

3

Select the run. The Run: dropdown in the top bar lists every completed run across all conjoint tasks in the project, with the task name and the respondent count. Every run carries a source badge, HB or TasteNet, both in the list and on the selected run. All simulator tabs use the run selected here.

4

Configure Price Setup (if applicable). If your study includes a price attribute and you plan to use the WTP, Reservation Price, or Price Elasticity tabs, click Price Setup in the top bar first. This tells the simulator which attribute represents price and what the numeric values of its levels are. Choice Share itself does not require it.

No completed run yet?

With no completed run the controls are disabled and the tab shows Choice Share Not Available with the note “No completed analysis run found. Select a conjoint task and run a Preference Analysis (HB) or AI-Driven Profile Analysis before using Market Simulation.” Run an estimation from the Analysis page first, then return here.

The simulator top bar with the Run dropdown open, plus the Price Setup, Analysis Settings and currency buttons
Figure 1. The simulator top bar with the Run dropdown open (run name, source badge, task badge, respondent count), the Price Setup and Analysis Settings buttons and the currency dropdown.

3. Setting Up Products

The Products panel (left side of the simulator) is where you define the competitive scenario. Each product is a hypothetical offering defined by selecting one level for each attribute in your conjoint study. The same product set feeds all simulator tabs, not just Choice Share.

Adding Products

Configuring a Product

Each product appears as a card with an editable name field, an Edit (pencil) button that expands the attribute controls, a Remove (x) button, and one control per attribute. Categorical attributes get a dropdown of their levels, linear attributes get a free numeric input. The first card carries a Focal badge, marking it as the default focal product. Reservation Price always analyses that first product (its caption reads “Calculating reservation price for <name> from the Products panel”), while the WTP and Price Elasticity tabs have their own Focal Product dropdown, and Sensitivity lets you pick up to five products to plot. For example, a car study might have:

Product Configuration Example
Product Name Our Premium SUV
Brand Brand A
Engine Type Hybrid
Price 45,000
Warranty 5 years

Important Details

Tip: model the real market

For the most actionable insights, define products that represent actual market offerings. Include your own product and your key competitors with their real attribute levels. Then modify your product to test “what if” scenarios.

The Products panel with five product cards, the Focal badge on the first card, the Import dropdown, the product set name field and Save Products
Figure 2. The Products panel: the Import dropdown, the product set name field with Save Products, five product cards (the first carrying the Focal badge) and the Add Product button.

4. The Three Simulation Methods

Choicery offers three methods for computing choice shares from individual-level utilities. Choosing the right method is the most important decision in simulation setup. Each method makes different trade-offs between precision, robustness to competitive structure, and interpretability.

The method is picked with the three-way selector at the top of the Choice Share tab. The options are labelled Share of Pref., RFC and First Choice, in that order. Share of Pref. is preselected. Hovering an option shows a one-line description of the method.

4.1 Randomized First Choice (RFC)

RFC is worth considering when the product set contains very similar competing products: it addresses IIA limitations via similarity-corrected Monte Carlo. It was proposed by Bryan Orme (1998) specifically to address limitations of the other two methods.

How it works

For each respondent, the simulator runs many simulated “shopping trips” (default: 1,000 iterations). In each trip:

  1. Zero-mean Normal noise is added at the attribute level; optional independent product noise uses a centered Gumbel distribution.
  2. Products that share attribute levels receive correlated noise (the same random shock for the shared level). This is the “similarity correction.”
  3. The respondent “picks” the product with the highest noisy utility.

The product’s share for that respondent is the fraction of shopping trips in which it was chosen. Shares are then averaged across all respondents.

The key innovation: similarity correction

When two products share attribute levels (e.g., both are Brand A, both have a 5-year warranty), the random shocks on those shared levels are identical. This means near-identical products get highly correlated noise, causing them to compete primarily with each other, not with dissimilar products. This elegantly solves the IIA problem (see Section 13).

Controls

Selecting RFC reveals an Advanced Settings toggle below the method selector. Expanding it shows five fields:

The Choice Share control row with RFC selected and Advanced Settings expanded: Iterations, Attribute variability, Product variability, Random seed and Price correlation
Figure 3. The Choice Share control row with RFC selected and Advanced Settings expanded.

Strengths and weaknesses

4.2 Share of Preference (Logit / MNL Rule)

Share of Preference computes each respondent’s choice probability via the softmax function (the multinomial logit rule):

P(j|i) = exp(Vij) / ∑k exp(Vik)
Probability that respondent i chooses product j

Each respondent “splits” their vote probabilistically across all products. A respondent with utilities of 5.0, 3.0, and 2.0 for three products doesn’t just vote for product 1: they give it a high probability (about 73%) while still allocating some probability to the other products.

Strengths and weaknesses

4.3 First Choice (Maximum Utility Rule)

First Choice is the simplest method: each respondent votes for the single product with the highest total utility. No probabilities, no noise, just a straight vote.

Choicei = argmaxj Vij
Respondent i votes for the product with the highest utility

Strengths and weaknesses

4.4 Which Method Should I Use?

The following table summarizes when each method is most appropriate:

Scenario Best Method Why
General purpose with HB-estimated data Share of Preference (UI default) Deterministic, no Monte Carlo variance, recommended for HB
Many similar / clone products RFC or First Choice Similarity correction reduces IIA; First Choice nearly eliminates it
Need deterministic, reproducible results Share of Preference No Monte Carlo variance, identical results every run
Small sample, need maximum precision Share of Preference Probabilistic voting extracts more info per respondent
Strict "each respondent picks max-utility product" First Choice Fast, deterministic, no probability spreading; "each person picks their favorite" is intuitive
Calibrating toward observed market shares RFC, calibrated on holdouts The simulator has no scale-factor field; the RFC variability parameters are the tunable settings (see Section 10.3)
When in doubt, start with Share of Preference

Share of Preference is the UI default and the recommended method for HB-estimated data: it is fully deterministic (no Monte Carlo variance) and HB already substantially reduces IIA. Switch to RFC if your product set contains very similar competing products and you want the explicit similarity correction. Use First Choice when you want the strictest "each respondent picks their max-utility product" rule (fast, deterministic, no probability spreading).

5. The None Option

The Include “None” toggle, next to the method selector, adds a no-purchase alternative to the simulation. This represents respondents who would not buy any of the defined products. It is on by default.

Requirements

The None option is only available if the estimation behind the selected run included a None option (i.e., the conjoint design had a “none of these” alternative and a None utility was estimated). If it was not, the control area shows the note “None not available in active run”.

With vs. without None

Setting Interpretation Shares Sum To
None OFF Forced choice: every respondent must pick one of the defined products 100% (among defined products)
None ON Respondents can opt out; None share = “would not buy any” Product shares + None share = 100%

When to include None

Interpreting None share

The None share is relative to the specific products in the scenario. Adding a very attractive product will reduce the None share; removing products will increase it. Do not interpret the None share as an absolute measure of market demand: it depends entirely on the defined competitive set.

6. Running and Interpreting Results

6.1 Running the Simulation

Click Run Simulation after defining your products and selecting a method. Results appear immediately for Share of Preference and First Choice, or after a moment for RFC with many iterations.

6.2 Share Cards and Bars

Each alternative gets a share card with its choice share as a percentage. The cards follow the order of the Products panel as it was when the simulation ran, with None last. The product with the highest share among the products carries a Winner tag; None never does, and no tag is shown when two products tie at one decimal place. Below the cards, a horizontal bar list shows the same shares sorted from largest to smallest, and a line above the cards states the None share in words when it is included.

A meta line under the bars records how the numbers were produced: the method, and for RFC the iteration count, the variability settings and the seed actually used, plus +None when the None option was included and the segment sample size when a filter is active. Quote that line whenever you report a share, because RFC numbers are only reproducible together with their seed.

Example: Three-product simulation

Product A (Brand A SUV, 45k): 38.2% ████████████████████ Product B (Brand B SUV, 42k): 34.5% █████████████████ Product C (Brand C SUV, 48k): 27.3% ██████████████

Interpretation: In this three-way competition, Brand A captures the largest share, likely due to its favorable price-feature combination. Brand C trails, possibly penalized by its higher price.

A finished Choice Share result with share cards, the Winner tag, the bar list, the meta line and the CI, CSV and PNG buttons
Figure 4. A finished Choice Share result: the CI, CSV and PNG buttons, the share cards with the Winner tag and confidence intervals, the bar list and the meta line.

6.3 Confidence Intervals

The CI button above the results computes 95% percentile confidence intervals for the shares by resampling respondents with replacement (200 bootstrap draws, seed 1). The interval is then printed on each share card and drawn as a marker on the bar, the meta line adds “95% CI B=200”, and the CI method, level, number of bootstrap draws and bootstrap seed are added to the CSV export. Use it before claiming that one product beats another: if the intervals overlap heavily, the ranking is not established by your sample.

6.4 Downloading Results

Two export buttons sit in the results header, next to CI, and a third below the result block:

The individual file is useful for identifying respondent clusters, linking choices to survey demographics, or spotting unusual preference patterns. It is a download only: there is no inline per-respondent table in the tab.

6.5 Segmented Results

When filters are active (see Section 7), a second block appears below the main results with one sub-block per segment, each with its own share cards, bars, respondent count (n=...) and its own CSV / PNG buttons; the CI button appears once the segment result is stored and the segment has at least two respondents. The heading reads Choice Share (Segment: <name>) when exactly one filter is active, and Choice Share (Segments) when there are several. This answers: “Do different demographic or attitudinal groups prefer different products?”

Example: Shares by age group

Product A Product B Product C Age 18-35: 42.1% 31.0% 26.9% Age 36-55: 36.8% 35.2% 28.0% Age 56+: 33.5% 38.1% 28.4%

Younger respondents prefer Product A more strongly, while older respondents lean toward Product B. Product C is relatively stable across age groups.

The segmented result block with the heading Choice Share (Segment: Male), the respondent count and its own share cards and bars
Figure 5. The segmented result block below the main result: heading, segment name with n, its own CI, CSV and PNG buttons, share cards and bars.

6.6 The PDF Report

The PDF button at the right of the simulator tab bar exports the currently open tab. From Choice Share it produces the Choice Share Simulation report, containing the settings used, the active filters, the aggregate shares and, when present, the per-segment results. The export uses the results currently on screen, so run the simulation before requesting the PDF.

7. Product Sets, Filters & Price Setup

7.1 Saved Product Sets

A product set is the current product configuration stored under a name. This is how you keep “what-if” configurations side by side:

Naming product sets

Use descriptive names: “Baseline: Current Market”, “Price Increase +10%”, “New Competitor Enters”. This makes it easy to recall what each set represents when you return later. Product sets store the products only. The method, the None toggle and the RFC settings are not part of a set; they stay as currently set in the Choice Share tab and are remembered per user between visits.

7.2 Filters

The Filters button above the Products panel restricts the simulation to a subgroup of respondents based on their survey responses. The modal has a Categorical and a Numeric tab, and the variables offered are the survey variables of the active run sample (for AI-Driven Profile Analysis runs the Categorical tab offers the run’s profile groups instead):

Selected filters are listed in the modal; Apply activates them, Clear Filters removes them. When filters are active, the simulation is computed both for the full sample and for each filtered subgroup, so the overall result and the segment results stay comparable.

Filters work on the same people as the overall result: everyone in the selected estimation run. The answers come from the current data, so a value corrected in the Data Editor counts in its new group. A response moved to the bin after the run is still part of the run and therefore still counts in its segment; to leave it out of both, estimate the model again. Responses collected after the run are not part of it and appear in no segment.

The Filters modal with the Categorical tab open, one variable ticked and one entry in the Selected Filters list
Figure 6. The Filters modal with the Categorical tab, a ticked variable and one entry in the Selected Filters list.

7.3 Price Setup

Price Setup in the top bar opens the Global Price Setup dialog. It tells every market analysis method which attribute represents price, and for categorical price attributes what each level is worth numerically. Click Apply globally to store the choice. It is required for:

For categorical price attributes, you enter a numeric value per level (e.g., “Budget” = 19.99, “Standard” = 29.99, “Premium” = 49.99). For linear price, no mapping is needed since the levels are already numeric. If your study has no price attribute at all (a treatment or feature study), select the “(None - no price attribute)” entry and the price-based methods stay disabled.

The money amounts are shown in the currency selected in the top bar next to Price Setup; the selector also controls whether the symbol is printed before or after the number.

The Global Price Setup dialog with the Price Attribute dropdown and the Apply globally button
Figure 7. The Global Price Setup dialog. For a linear price attribute only the attribute is chosen; a categorical price attribute additionally lists one numeric value field per level.

7.4 Analysis Settings

Analysis Settings, next to Price Setup, holds three shared toggles for the price-based tabs: Include unusual price responses in price analyses (keep respondents with a positive or near-zero price response), Exclude outliers (drop outliers before aggregation), and Allow negative prices. They apply to WTP, Reservation Price, Price Elasticity and the Sensitivity tab when it sweeps price. Choice Share always uses all respondents.

8. Best Practices & Common Pitfalls

Do

Don’t

The most common mistake

Presenting simulated shares to management as if they were real market shares. Simulated shares predict preference, not purchasing behavior. Always caveat that shares do not account for availability, awareness, habit, or switching costs.

Part II

Theoretical Background

Mathematical foundations, the IIA problem, and the algorithms behind the three simulation methods.

9. Key Definitions

Glossary

Choice Share / Share of Preference
The predicted proportion of respondents choosing each product in a simulated competitive scenario. Expressed as a percentage summing to 100% across all alternatives (including None, if active).
First Choice Rule
A simulation method where each respondent votes for the single product with the highest total utility. Produces discrete 0/1 choices per respondent.
Share of Preference Rule (Logit)
A simulation method based on the multinomial logit (MNL) model. Applies the softmax function to utilities to produce probabilistic votes per respondent. Also called the “logit rule” or “MNL rule.”
Randomized First Choice (RFC)
A Monte Carlo simulation method developed by Orme (1998) that adds attribute-level random shocks to utilities before applying the First Choice rule. Products sharing attribute levels receive correlated shocks, providing an automatic similarity correction.
IIA (Independence of Irrelevant Alternatives)
A property of logit models where the ratio of choice probabilities for any two alternatives is constant, regardless of what other alternatives are available (Luce, 1959). This can produce unrealistic substitution patterns when similar products are present.
Similarity Correction
In RFC, the mechanism by which products sharing attribute levels receive correlated random shocks. This causes similar products to substitute primarily from each other, reducing the IIA problem.
Scale Factor (λ)
A multiplier applied to utilities before the softmax transformation. Scale < 1 flattens shares (all products become more equal); scale > 1 sharpens shares (the best product dominates). It is a general property of logit-based simulation, used elsewhere to calibrate simulated shares toward observed market shares; the Choicery simulator does not expose it and always runs at λ = 1.0.
None Option / Outside Good
An alternative representing “no purchase” or “none of these.” Its utility is estimated during HB and represents the respondent’s threshold for buying anything in the category.
Source of Volume
An analysis technique where you compare shares with and without a specific product to determine which competitors lose share when it enters. Reveals competitive substitution patterns.

10. Share of Preference, The Logit Rule

10.1 Formula

The Share of Preference method applies the multinomial logit (softmax) function to each respondent’s utilities:

P(j | i) = exp(λ · Vij) / ∑k=1J exp(λ · Vik)
Choice probability for respondent i, product j (with scale factor λ)

The aggregate share for product j is the average across all N respondents:

Sharej = (1/N) · ∑i=1N P(j | i)
Aggregate choice share

Where Vij is the total utility of product j for respondent i, computed as the sum of part-worth utilities for the product’s attribute levels.

10.2 Properties

10.3 The Scale Factor Issue

CBC utilities estimated by HB tend to be too large in magnitude compared to real-world choice behavior. This produces simulated shares that are too extreme: the best product gets a share of, say, 85% when its real market share might be 35%.

A scale factor λ < 1 can be applied to flatten shares toward reality. Louviere (1988) suggests values around 0.3 to 0.5 depending on the study. With λ = 1.0, the raw HB utilities are used as-is.

No scale-factor control in Choicery

The Choice Share tab does not expose a scale factor: Share of Preference always runs at λ = 1.0 on the raw individual utilities. The example below is there to explain what a scale factor does and why raw logit shares look extreme, not to describe a setting you can change. If you need flatter, calibrated shares, use RFC and tune its variability parameters against holdout choices.

Example: Scale factor effect

Utilities: Product A = 3.0, Product B = 1.0, Product C = 0.5 λ = 1.0: A = 82.1%, B = 11.1%, C = 6.7% (too extreme) λ = 0.5: A = 60.4%, B = 22.2%, C = 17.3% (more realistic) λ = 0.3: A = 49.5%, B = 27.2%, C = 23.4% (flattened)

As λ decreases, shares move toward equal (1/J). The “right” scale factor is the one that best calibrates to known market data.

10.4 The IIA Problem

The logit model has a well-known structural limitation: the Independence of Irrelevant Alternatives (IIA). This is covered in full detail in Section 13, but the key implication for Share of Preference is this: adding a product that is nearly identical to an existing one will draw share from all products proportionally, not just from the similar one. This can produce seriously misleading results when the competitive set includes similar products.

When IIA bites

If you add a clone of Product A to the simulation and use Share of Preference, both Product A and its clone will each get about half of what Product A had before, but so will Products B and C, losing share proportionally. In reality, the clone should primarily cannibalize Product A while leaving B and C nearly unaffected.

11. First Choice Rule

11.1 Formula

Each respondent votes for the single product with the highest total utility:

Sharej = (1/N) · ∑i=1N I(j = argmaxk Vik)
I(·) is the indicator function: 1 if true, 0 otherwise

The standard error of each share estimate follows the binomial proportion formula:

SEj = √( p̂j · (1 - p̂j) / (N - 1) )
Standard error of the share estimate

This is the textbook standard error of a proportion. Choicery does not print it; the CI button uses a respondent bootstrap for all three methods (Section 6.3).

11.2 Properties

11.3 Limitations

12. Randomized First Choice (RFC)

12.1 Origin

RFC was proposed by Bryan Orme in 1998 to combine the strengths of First Choice (IIA resistance) with those of Share of Preference (precision), while adding a similarity correction mechanism. It is widely used in conjoint analysis when product sets contain near-substitute alternatives.

12.2 The Algorithm

RFC is a Monte Carlo method. For each respondent, the algorithm runs M simulated “shopping trips” (Choicery starts at M = 1,000):

For each shopping trip m = 1, ..., M:
  For each correlated categorical level l: draw εl ~ Normal(0, σa)
  For each correlated linear attribute a: draw a Normal coefficient shock and multiply it by the product’s standardized value
  For uncorrelated attributes (price by default): draw independent Normal shocks by product
  Optionally draw independent product error ηj from a centered Gumbel distribution
  For each product j, add its applicable shared, independent, and optional product shocks to Vj
  Choose: j* = argmaxj Vjnoisy

Sharej(respondent i) = count(j chosen) / M
Sharej(aggregate) = (1/N) · ∑i Sharej(respondent i)
RFC algorithm: attribute-level shocks with correlated noise for shared levels

The critical detail is in how noise is applied: for an attribute using similarity correction, the random shock is drawn once per attribute level, not once per product. Every product that shares that level receives the exact same shock. Price is uncorrelated by default because correlated price error can create artificial kinks in demand curves; it can be enabled explicitly for a justified design.

Example: How correlated shocks work

Consider three products in a car study:

Product A: Brand A, Hybrid, 45k, 5yr warranty Product B: Brand A, Diesel, 42k, 3yr warranty Product C: Brand B, Hybrid, 40k, 5yr warranty

In one shopping trip, suppose the simulator draws:

ε(Brand A) = +0.8 ε(Brand B) = -0.3 ε(Hybrid) = +0.5 ε(Diesel) = -0.2 ε(45k) = -0.1 ε(42k) = +0.4 ε(40k) = +0.6 ε(5yr) = +0.3 ε(3yr) = -0.5

Then the noise added to each product is:

Product A noise: +0.8 + 0.5 + (-0.1) + 0.3 = +1.5 Product B noise: +0.8 + (-0.2) + 0.4 + (-0.5) = +0.5 Product C noise: (-0.3) + 0.5 + 0.6 + 0.3 = +1.1

Products A and B share “Brand A” (+0.8 for both). Products A and C share “Hybrid” (+0.5) and “5yr warranty” (+0.3). This creates correlated fluctuations between similar products, making them substitute from each other in realistic patterns.

12.3 Why This Fixes IIA

The key insight is that products sharing many attribute levels have highly correlated noise. If two products share 4 out of 5 attributes, 80% of their random shocks are identical. When one gets a positive shock, the other does too. This means:

12.4 Special Cases

RFC generalizes both other methods as limiting cases:

Condition RFC Reduces To
σa = 0 for all attributes (no noise) First Choice, the argmax of the raw utilities is always chosen
Attribute variability 0, product variability 1 (a unit Gumbel error per product, no attribute-level noise) Share of Preference (Logit) at scale factor 1; other product variabilities correspond to other scale factors

12.5 Choicery Implementation

In Choicery, the RFC defaults are:

Iterations, attribute variability and product variability are also bounded server-side: iterations must stay within the accepted range, and both variability parameters within 0 to 5.

Calibrate before forecasting

Some conjoint simulators determine variability and iteration settings automatically. Choicery exposes explicit custom parameters instead. Use holdout choices or observed choices to calibrate them before treating absolute simulated shares as forecasts.

Convergence check

The CSV export carries each product’s standard deviation across iterations (column Std (%)); it is not shown on the cards. If this value is large relative to the share differences between products, increase the number of iterations. At 1,000 iterations the Monte Carlo error of a share is about one share point; increase iterations when the products you want to rank are closer than that. Choicery additionally checks whether adjacent products in the ranking are separated at the 95% Monte Carlo level; if they are not, the meta line under the results says “MC precision: adjacent ranking overlaps”, which means the ranking of those two products is not resolved by the number of iterations you ran.

13. The IIA Problem

The Independence of Irrelevant Alternatives (IIA) is the single most important theoretical issue in market simulation. Understanding it is essential for choosing the right simulation method and interpreting results correctly.

13.1 Formal Definition

A choice model satisfies IIA if, for any two alternatives A and B:

P(A) / P(B) = constant, regardless of what other alternatives are available
The IIA property: the odds ratio between any two alternatives is independent of the choice set

This is a direct consequence of the logit model’s mathematical structure (McFadden, 1974). In the softmax function, each product’s probability depends only on its own utility relative to the sum of all utilities: there is no notion of “similarity” between products.

13.2 The Red Bus / Blue Bus Problem

This is the classic illustration of IIA, originally described by McFadden (1974):

The Red Bus / Blue Bus Problem

Consider a city where commuters choose between a car and a red bus. Suppose the shares are:

Car: 50% Red Bus: 50%

Now the city introduces a blue bus that is identical to the red bus in every way (same route, same schedule, same price) except for its color. What should happen?

Intuitively correct answer: The blue bus should split the bus riders, not the car riders:

Car: 50% (unchanged) Red Bus: 25% (half of former bus riders) Blue Bus: 25% (other half of former bus riders)

Logit (IIA) answer: The logit model treats the blue bus as an independent alternative. Since P(Car)/P(Red Bus) must remain constant at 50/50 = 1:

Car: 33.3% (lost 16.7 points!) Red Bus: 33.3% (lost 16.7 points) Blue Bus: 33.3% (gained equally from both)

The logit model wrongly predicts that the blue bus steals equally from the car and the red bus. In reality, a commuter who prefers buses would choose between the two buses; a commuter who prefers driving would be unaffected by the bus color.

13.3 The Coke / Pepsi / Milk Example

A more practical illustration relevant to conjoint research:

The Coke / Pepsi / Milk Example

Suppose a beverage study finds these initial shares:

Coke: 40% Pepsi: 35% Milk: 25%

Now we add Coke Zero to the simulation. Coke and Coke Zero share the brand, the packaging, the distribution: they are near-substitutes that differ mainly on calories.

Realistic expectation: Coke Zero primarily cannibalizes Coke. Pepsi loses a little (some Pepsi drinkers might switch). Milk is unaffected.

Realistic outcome: Coke: 25% (lost 15 points to Coke Zero) Coke Zero: 18% (drew mostly from Coke, some from Pepsi) Pepsi: 33% (lost only 2 points) Milk: 24% (essentially unchanged)

Share of Preference (IIA) outcome: All existing products lose share proportionally:

IIA outcome (proportional draw): Coke: 30.0% (lost 10.0 points) Coke Zero: 12.5% Pepsi: 26.3% (lost 8.7 points!) Milk: 18.8% (lost 6.2 points!)

Under IIA, Milk loses over 6 share points to Coke Zero, despite the two products having nothing in common. This is clearly unrealistic.

When IIA matters most

IIA produces the most misleading results when the competitive set includes products that are close substitutes for each other but not for all products. If all products are equally (dis)similar, IIA is less of an issue. The more lopsided the similarity structure, the more IIA distorts results.

13.4 Why HB Helps

With aggregate-level (pooled) utilities, every respondent has the same preferences, and IIA is at its worst. HB (Hierarchical Bayes) individual-level utilities substantially reduce the IIA problem (Orme, 2020).

Here is why: different respondents have different preference patterns. Some are brand-loyal (Coke lovers who would never drink Pepsi), others are price-sensitive (switching at any price difference), and others have unique idiosyncratic preferences. When you average across these heterogeneous individual choices, the aggregate substitution patterns become more realistic.

How HB reduces IIA

Consider adding Coke Zero with individual-level utilities:

Respondent 1 (Coke loyalist): Coke > Coke Zero > Pepsi >> Milk → Switches from Coke to Coke Zero Respondent 2 (Pepsi loyalist): Pepsi >> Coke > Coke Zero > Milk → Stays with Pepsi (unaffected) Respondent 3 (Health-conscious): Milk >> Coke Zero > Pepsi > Coke → Might switch to Coke Zero (realistic!) Respondent 4 (Price-sensitive): Cheapest wins → Choice depends on Coke Zero's price

Because each respondent’s substitution is driven by their own preferences, the aggregate result naturally reflects realistic competitive dynamics. Coke loses the most to Coke Zero, Pepsi loses little, and Milk loses only to the extent that some health-conscious respondents are attracted by the zero-calorie option.

However, HB does not fully eliminate IIA. Within each respondent’s logit model, the IIA property still holds. The correction comes from aggregating across heterogeneous respondents, not from fixing the model at the individual level.

13.5 Why RFC Goes Further

RFC adds an additional layer of IIA correction on top of HB’s individual-level heterogeneity. The attribute-level correlated shocks create explicit similarity-based substitution:

The combination of HB heterogeneity + RFC similarity correction provides the strongest defense against IIA in practical conjoint simulation.

14. Practical Considerations

14.1 Shares of Preference vs. Actual Market Shares

Simulated choice shares should never be equated with actual market shares. They represent preference shares, the share of stated preferences among the defined products, given the attributes measured in the conjoint study.

To convert preference shares to approximate market share predictions, you would need to account for many factors not captured in the conjoint model:

What simulation shares ARE good for

Simulation shares are excellent for relative comparisons: “Product A would have about 1.5x the share of Product B,” or “Raising the price by 10% would cost us about 5 share points.” The direction and relative magnitude of share changes are typically reliable even when the absolute numbers are not.

14.2 Source of Volume Analysis

One of the most actionable analyses you can perform is a Source of Volume (or “switchback”) analysis:

  1. Run a simulation without Product X (the product you are considering launching).
  2. Run the same simulation with Product X.
  3. Compare: the share that each competitor lost is Product X’s source of volume.

Example: Source of volume

Without Product X: With Product X: Loss: Competitor A: 42% Competitor A: 30% -12 points Competitor B: 35% Competitor B: 28% -7 points Competitor C: 23% Competitor C: 20% -3 points Product X: 22% Source of volume for Product X: 55% from Competitor A (12/22) 32% from Competitor B (7/22) 13% from Competitor C (3/22)

Product X draws most of its share from Competitor A, suggesting they are the closest substitute. This information is invaluable for positioning and competitive strategy.

14.3 Sensitivity Analysis

Systematically varying one attribute level while holding all others constant produces a demand curve (or “sensitivity plot”) for that attribute. For price, this is a classic price-response curve:

The same approach works for any attribute: vary the feature level and observe how share responds. This reveals which attribute improvements have the greatest impact on market position.

You do not have to do this by hand. The simulator carries a Sensitivity tab that sweeps an attribute automatically against the products you defined, and a Price Elasticity tab that produces the price-response curve and the elasticity for a focal product. Both have their own methodology guides, reachable from the Guide button on those tabs.

14.4 Comparing Methods as a Robustness Check

Running the same scenario with all three methods serves as a robustness check:

15. References

Luce, R. D. (1959). Individual choice behavior: A theoretical analysis. New York: Wiley.

McFadden, D. (1974). Conditional logit analysis of qualitative choice behavior. In P. Zarembka (Ed.), Frontiers in econometrics (pp. 105-142). New York: Academic Press.

Orme, B. K. (1998). Randomized first choice. Conjoint Analysis Research Paper Series.

Orme, B. K. (2020). Getting started with conjoint analysis (4th ed.). Manhattan Beach, CA: Research Publishers LLC.

Orme, B. K., & Chrzan, K. (2017). Becoming an Expert in Conjoint Analysis.

Rao, V. R. (2014). Applied conjoint analysis. New York: Springer.

Train, K. E. (2009). Discrete choice methods with simulation (2nd ed.). Cambridge: Cambridge University Press.