Conditional Pricing for CBC


Top  Previous  Next

In pricing research, it is sometimes very useful if prices for product concepts are made to depend on other attribute levels (such as brands).  The first versions of CBC could handle this in a limited way by using prohibitions.  For example, one could prohibit high prices from being shown for some products, and prohibit low prices from being shown with others.  Such prohibitions, however, can lead to very inefficient designs.  


There are some work-arounds for dealing with situations where prohibitions with price seem to be needed.  For example, if package size is an attribute, prices for the 64 oz package would be much higher than prices for the 16 oz size.  One approach is to express price as a percentage above or below the "normal price" for that package size, such as "10% above the average price."  Another is to show unit prices, rather than prices per package.  For example, with detergent we might study 16, 32, and 64 ounce packages, but present prices in terms of "cents per ounce."  These are ways of making a single set of price levels work for all package sizes without specifying any prohibitions, but it would be preferable to display actual prices appropriate for each package size.


The conditional pricing option lets you create a look-up table to determine the prices to show for specific combinations of attributes.  Drawing upon the example above, assume we have three attributes as follows to describe detergents:



Brand A

Brand B

Brand C



16 oz. package

32 oz. package

64 oz. package



"Low price"

"Medium price"

"High price"


The text for the price levels above is not shown during the interview and serves as a place-holder only.  The price levels displayed during the interview vary according to the package sizes as follows:


Conditional Pricing Lookup Table                                                        


Low Price

Medium Price

High Price

16 oz. package




32 oz. package




64 oz. package





To construct this lookup table, we started with average prices for the three package sizes (middle column).  To determine the prices in the "Low Price" column, we decreased the average price by 30% (and rounded to the nearest 9 cents).  The "High Price" was calculated by increasing the average price by 30% (and again rounding to the nearest 9 cents).


The example above illustrates how to make price dependent on a single variable (package size).  CBC lets you make price conditional on as many attributes as you wish.  However, making price conditional on more than one additional attribute can lead to addditional wrinkles and complications for analysis.


You will need to deal with an additional level of complexity when analyzing the results of studies that involved conditional pricing.  In the example above, even though nine unique prices were shown to respondents, CBC's analysis programs by default still regard these as just three levels of price: Low, Medium and High.  However, we interpret the results keeping in mind that larger package sizes were displayed with higher prices on average.  We interpret the part-worth of the 32 oz. package taking into account that it was shown at an average price roughly $1.90 cents higher than the 16 oz. package.  The main effect contains information not only about how desirable one package size is versus another, but also about the average price levels at which they are offered. Therefore, it is perfectly legitimate if the count proportion or logit effect for the 32 oz. package is lower than the 16 oz. package.  This would indicate that respondents on average did not feel the larger size was worth the extra $1.90.


The conditional pricing table must also be taken into account when using the market simulator.  Unless the conditional pricing table is explicitly used in the market simulator, to simulate a 32 oz. package at $3.99, level 2 for price is specified, etc.  However, with the most recent releases of the Online Simulator and the integrated simulator within Lighthouse Studio, you can simply specify the actual conditional price during simulations.  For example, to simulate a 32 oz. package at $3.99, instead of specifying level 2, you specify a level value of 3.99.


Users should note that the use of Randomized First Choice can be problematic with conditional pricing.  These methods assume that products sharing the same attribute levels are identical on those levels and require some downward correction in share.  But, with conditional pricing tables, even though two brands may share the same "level" for price, the conditional pricing table may have actually resulted in unique prices for brands within the questionnaire.  Therefore, RFC may implement a correction for product similarity that isn't actually warranted, assuming that the brands' prices were identical when in fact they were not.  To avoid this outcome, we suggest turning off the correction for product similarity with respect to price within the RFC advanced dialog.  


In our previous example, we used (near) constant deviations from average prices to build a proportional conditional table.  Some researchers choose to use constant absolute price differences between levels of the conditional attribute(s) instead of proportional changes.  In either case, the tables have symmetric properties, which are desirable from an analysis standpoint.   Proportional or symmetric conditional pricing tables sometimes make it possible to adequately model the data using main effects only (should the interaction effects turn out to be not significant.)  Otherwise, specification of interactions may be necessary to fit the data properly, and the additional parameters estimated are done so with relatively less precision than main effects.


If your conditional pricing table reflects significant deviations from symmetry, you must specify appropriate interaction effects to correctly fit the data, even if the data don't justify the additional parameters added to the model.  A two-way interaction can correctly fit data collected with an asymmetric conditional pricing table where price is dependent on one other attribute.  If price was dependent on more than one attribute and the table is not proportional, a three-way interaction would be required to correctly model the effects.  Our logit, latent class and CBC/HB programs are limited to modeling only main effects and two-way interactions.  Therefore, to analyze three-way interactions, you would need to reformat the CBC data file (either the .csv or .CHO file) and collapse the two conditional attributes (using your own data processing techniques) prior to specifying the interactions with price.  Up to 254 levels per attribute are permitted in CBC with the advanced design module, so this affords some flexibility in this area.


Specifying Conditional Pricing


Before specifying conditional prices, first define your list of attributes and levels.  Instead of specifying the text for actual prices for your price levels, use placeholder text such as "low price," "medium price," and "high price."  When the questionnaire is administered, the placeholder text you assign is overwritten by the text string you specify in the conditional pricing table.


When you create a conditional price lookup table in CBC, you must specify the number of attributes that participate in the relationship (there should be at least two).  If price is dependent on one other attribute (such as package size), two attributes participate in the relationship: package size and price.  Click Compose | Write Questionnaire... and then edit any CBC question within the CBC Exercise, then click the Attributes tab and select the Conditional Relationships… button.  Click the Insert New Relationship icon and select which attributes will be involved in the conditional relationship.  A conditional relationship table is added to your project.  


Specify under the Type of Relationship that this is a Conditional Price relationship and select which attribute is Price.  The level text for this attribute is overwritten by the prices that you specify in the conditional pricing table (in the Display column). Using the Attribute Visibility... button, you can control whether the original attributes are also displayed on the screen or whether the text in the conditional table should be the only thing displayed.


The conditional pricing table is displayed, with as many rows in the table as required to completely define the prices for all combinations of price and the dependent attribute(s). You can cut and paste conditional pricing information directly from a spreadsheet program into the conditional pricing grid.  


There can be a maximum of one conditional pricing table per exercise.  However, some users have discovered that they can use conditional display tables just as they would use conditional pricing tables.  In that case, more than one conditional pricing variable may be included.  The only difference is that the conditional prices specified as conditional display variables are not automatically carried forward to the market simulator.  However, you can specify multiple pricing tables within the Lighthouse integrated choice simulator manually.  


Missing levels are indicated with a 0 in the table (for use with Alternative-Specific designs or partial-profile).

Page link: