Market Research Using Conjoint Analysis In R

Survey people to understand how they value a service or a product

Martin Müller
Sicara's blog
6 min readApr 18, 2018

--

Survey people to understand how they value a service or a product

Read the original article on Sicara’s blog here.

This tutorial details what Conjoint Analysis is and provides a simple example in the R to design your own Conjoint Analysis.

What is Conjoint Analysis?

Conjoint Analysis is a survey based statistical technique used in market research. It helps determine how people value different attributes of a service or a product. Imagine you are a car manufacturer. You want to know which features between Volume of the trunk and Power of the engine is the most important to your customers. Conjoint Analysis allows to measure their preferences.

Principle of Conjoint Analysis

Let’s start with an example. Imagine you want to determine which of the LENGTH, ILLUSTRATION and CLAPS features is the most important for a successful Data Science Medium article. Here are feature values we will study:

  • LENGTH (2min reading, 7min reading, 20min reading)
  • ILLUSTRATION (several images, one image, no image)
  • CLAPS (+500 claps, less than 500 claps)

You can ask a Medium reader what value he would prefer for each feature:

What LENGTH do you prefer? → 7min reading
What ILLUSTRATION do you prefer? → several images
How many CLAPS do you prefer? → +500 claps

It does not give us a lot of information. In fact, a customer chooses a product holistically. He faces a trade-off. A more realistic question to ask is:

Which article would you prefer to read?
A) A +500 claps article with no image
B) A less than 500 claps article with several images

The response is far more interesting. If the answer is A, the Medium reader gives more importance to CLAPS feature. If the answer is B, the Medium reader gives more importance to ILLUSTRATION feature.

If you gather a lot of Medium reader responses about all the possible trade-off, it is possible to determine how Medium readers are receptive to each feature.

An Example of Conjoint Analysis

First, we need to build the 3∗3∗2 = 18 possible articles from the different features detailed above:

All possible articles

Then we have the possibility to reduce the number of surveyed articles. This allows to bypass the main drawback of Conjoint Analysis: the curse of dimensionality. I will detail this problem and its solutions later. I choose to select 8 relevant articles among the 18 possible articles:

8 relevant articles to submit to survey

Then we need to survey our respondents. I mean you! Please respond to this 28 questions survey to rank the 8 selected articles. I will detail later how to get ranking from your responses. This ranking allows us to perform the conjoint analysis. Results show that Medium readers base their article preferences on:

  • LENGTH information by 50,99%
  • ILLUSTRATION information by 37,09%
  • CLAPS information by 11,92%
Feature preferences

Conjoint Analysis gives us also the part-worth utilities of feature values. Here are the LENGTH feature part-worth utilities:

LENGTH feature preferences

Medium readers prefer short articles and do not like long articles. Among short articles, they prefer 7min articles rather than 2min articles. Here are the ILLUSTRATION feature part-worth utilities:

ILLUSTRATION feature preferences

Medium readers like when articles contain at least one image. CLAPS feature part-worth utilities shows that they also prefer clapped articles rather than not clapped articles:

CLAPS feature preferences

Now let’s detail the two points we left hanging over earlier on: rankings and curse of dimensionality.

How to get Ranking?

Let’s come back to the initial 18 possible articles, we have to survey Medium readers to order these 18 articles according to their preferences. Two solutions are available:

  • first solution: ask each Medium reader to order the 18 articles above according to its preferences:

Order those articles in order of preferences?
Article 1: 2min reading with several images and +500 claps
Article 2: 7min reading with several images and +500 claps
Article 3: 20min reading with several images and +500 claps

Article 18: 20min reading with no image and less than 500 claps

This solution offers a simple way to compute a ranking by computing the mean ranks given to articles by each respondent. But we can admit ordering all possible articles is a heavy question to ask. Try to do it yourself, you will probably lose patience.

  • second solution: submit to Medium readers all the possible trade-offs coming from the 18 articles:

Which article would you prefer to read?
Article 10: 2min reading with several images and less than 500 claps
Article 8: 7min reading with no image and +500 claps

Which article would you prefer to read?
Article 16: 2min reading with no image and less than 500 claps
Article 2: 7min reading with several images and +500 claps

These are much more comfortable questions to ask Medium readers. To get ranking of each article, I divided the number of times the article has been chosen by the number of times the article has been submitted. However, this ranking technique requires a lot of questions. Indeed, in our case, with 18 different articles, all possible trade-offs are 2 among 18: 153 questions.

Bypass the Curse of Dimensionality

Curse of dimensionality is the main drawback of Conjoint Analysis. The number of possible articles explodes when the number of different features surveyed rises. The number of possible trade-offs explodes when the number of possible articles rises.

The Factorial experiment is a useful technique to select the most representative articles among all possible articles. It selects articles by limiting the loss of information by minimizing dependencies between features values.

Factorial experiment visualization — selecting 4 among 8 products

This is how we selected the 8 articles among the 18 possible ones. One question remains. Is it too much or is it enough? We can look at the correlation matrix between feature values of selected articles to estimate the loss of information due to the selection:

Correlation Matrix between features values

We obtain the higher correlation between CLAPS and LENGTH features. In practice, we should try different selections. The goal is to find the best compromise between the number of articles and correlation between features.

Thanks to factorial experiment, we only have to survey Medium readers with 2 among 8 = 28 trade-off! This is much better!

Code in R

Find below the R code used to perform the conjoint analysis:

Conjoint Analysis All Code

Thank you for reading this article. I hope it helped you to understand what is Conjoint Analysis and how to compute it with R.

Want more articles like this one? Don’t forget to hit the Follow button!

--

--