• SoniaSamipillai

Understand Customer Preferences using Conjoint Analysis in Python

Updated: Jan 25, 2021

What does the customer look for?

Business Situation

Let us look at a hypothetical business situation. The marketing manager for a leading brand of crisps is considering a new line of healthy variation of crisps. The company has looked into trends, competition, conducted exploratory focus groups and customer surveys. In the process, identified a number of attributes for the product like Price, flavor, weight, brand, fat-free, low-sodium and so on. The survey results from over n number of participants were collated.

Business Questions

We would like to know,

  1. Which of the features are most likely to resonate with consumers and lead to market success?

  2. How much is the customer "willing to pay"?

  3. What is the customer looking for?

  4. What is the customer psychology of choosing a product?

  5. What is customer's best choice and what is the worst choice?

Marketing of a new product depends a great deal on the customers' interest. Though the above questions look fairly qualitative trying to understand customer or consumer psychology, these questions can indeed be answered quantitatively by performing statistical analysis. In this blog, we will look at how Conjoint analysis addresses these questions.

About Conjoint Analysis

Conjoint measurement focuses on buyers ,the demand side of markets. It is a survey-based statistical technique used in market research that helps determine how people value different attributes (feature, function, benefits) that make up an individual product or service.

The objective of conjoint analysis is to determine what combination of a limited number of attributes is most influential on respondent choice or decision making. A controlled set of potential products or services is shown to survey respondents and by analyzing how they make choices among these products, the implicit valuation of the individual elements making up the product or service can be determined. Since we look at the product choice along with the components that make up that choice, considered jointly, the analysis was named Conjoint analysis.

Conjoint analysis techniques may also be referred to as multi attribute compositional modelling, discrete choice modelling, or stated preference research, and are part of a broader set of trade-off analysis tools used for systematic analysis of decisions.


Conjoint experiment design involves four different steps:

1. Determine the type of study

2. Select customer segment

3. Identify the relevant attributes

4. Specify the attributes’ levels

5. Design questionnaire

6. Collate results

We will be focusing on analyzing the results(dummy data) from the experiment

Analyzing the results from survey

In Conjoint analysis, we make a linear model fit of preference rankings provided by the customers to their features to see how the product attributes affects the customer's choices.

The model computes the attribute importance values and part-worths associated with each level of the attribute.

Let us have a look at our example data for crisps.

The attributes here are:

['flavor', 'price', 'weight', 'fat_free', 'sodium_free', 
'gluten_free', 'organic', 'multipack']

The levels under each of these attributes are

['cheese&onion', 'chicken_flavored', 'salt&vinegar', 'tomato_ketchup']
['$1.00', '$2.00', '$3.00', '$4.00']
['100g', '200g', '300g', '400g']
['fat_free NO', 'fat_free YES']
['low_sodium NO', 'low_sodium YES']
['gluten_free NO', 'gluten_free YES']
['organic NO', 'organic YES']
['multipack NO', 'multipack YES']

Linear Regression

Conjoint analysis helps a researcher look at the attribute importance as well as level importance. The weights that explain the level importance are called part-worths. A linear fit of the data is shown below.

By default we use dummy coding in regression analysis. You would have noticed that we use sum contrasts so that sum of the fitted regression coefficients across the levels of each attribute is zero. By using sum contrasts we are looking at deviation coding to calculate main effects. While understanding, how the individual explanatory variable affects the independent model, we look into the effects between the levels as well. The contrast of a factor between levels over all levels of other factors is the main effect. Hence the model is called main_effects_model.

Conjoint measures from the analysis

The fitted regression coefficients for each of these levels represent the utility called part-worths. Part-worths represents the strength of individual consumer preferences for each level of each attribute in the study. The results are visualized in the form of a spine chart.

Conjoint Spine chart

In the Conjoint spine chart, the part-worths are as depicted as points extending out of the spine. The lines extending towards the positive side are the positive part-worths which implies that the particular product feature is important to customer and the customer prefers it. The lines extending towards the negative side are the features that the customer does not prefer. We can say that customers prefer the 100g weight and the fat free organic option. Bigger packets of 400g seem less popular, while multipacks have positive part-worth. Salt and vinegar flavor is preferred. Customer prefers no low sodium option.

We can see that customer choices are mainly impacted by quantity and fat free option. It is natural that the customer expects value for money and a healthy option. There are important synergies and interactions between the features involved in the study which is captured by the model.

Transforming Preferences to Choices

Utility Scores

When we sum across the part-worths of a product, we obtain a measure of the utility or benefit to the consumer. Below are the utility scores for each of the profile.

Observing the above chart, the top three profiles based on maximum utility is profile 9, 13 and 15. The first two profiles are displayed below.

Using share-of-utility - Logit choice rule to calculate Market Shares

The market share predictions of the share-of-utility rule will change if one adds a constant value to the computed utility of each product, but they are unaltered if all utility values are multiplied by a constant. Hence we use constant c below.

From the above we see that the profile number 9 has the highest predicted market share.

Calculating the Utility score for optimal profile

The preferred flavor is salt&vinegar
The preferred price is $1.00
The preferred weight is 100g
The preferred fat_free is fat_free YES
The preferred sodium_free is low_sodium NO
The preferred gluten_free is gluten_free NO
The preferred organic is organic YES
The preferred multipack is multipack YES
Utility_Score_of_the_optimal_combination is  10.125
The current highest utility score in the given combination 7.625
The new combination brings in additional 2.5 units of utility.

Solutions or Key Take-aways

What are the qualities of the crisps that the customers under study prefers?

1. Customers prefer the 100g weight and the fat free option.

2. Bigger packets of 400g are less popular.

3. Salt and vinegar is the preferred flavor.

4. Customer like the no low sodium option

5. Profile number 9 has the highest predicted market share of approx. 60% and is recommended. The new combination brings in additional 2.5 units of utility.


Conjoint measurement highlights the product preferences rather than the market share itself. However, the analysis in some cases it is also used to predict market share based on the customer's product's preferences. It helps to quantify brand equity and relative price sensitivity.

Limitations of Conjoint Analysis

In case of pricing experiments, Micro and macro economic forces comes into play. Conjoint analysis holds market forces constant and it assumes that the market conditions do remain constant for the duration of the experiment. Conjoint analysis also assumes that all products are available at all times.

In applying the logit choice rule we assume that the computed utility values are mean realizations of a random process, so it should be noted that the profile with the maximum utility varies randomly, say from one purchase situation to the next. say for example, if there is a new flavor introduced in the market, which is not in the given option and the customer prefers it, then that lowers the probability of the chosen option.


The interpretation and recommendations are based on the dummy cooked data and its merely a way of showing how to interpret the chart and analyze and is not a real study that infers customer's preferences over crisps.


The jupyter notebook and sample data used for this analysis can be found here.

Hope this post was helpful!!. If you’re interested to read more, please subscribe and be notified when the next article is published.

1,411 views0 comments