1. Designing a conjoint survey
Remember at the beginning of the chapter I mentioned that one way to get choice data is to field a survey where you ask people to make hypothetical choices? Let's talk a bit about how you could create your own conjoint survey.
2. Conjoint survey
Conjoint surveys like this one are hugely popular for product design because you can put any product attributes that you like into the survey.
3. Attributes and levels
The first step in designing a conjoint survey is to decide what attributes and levels you want to include in the survey. In the chocolate survey, the attributes are Type, Brand, and Price. We chose five levels of brand - Dove, Ghirardelli, Godiva, Hershey's, and Lindt - and five levels of type - milk, dark, milk with nuts, dark with nuts, and white. The Price attribute ranged from fifty cents to four dollars in ten cent increments. So, the study had three attributes, but you could have had more attributes like the size of the bar. Most conjoint surveys have eight to ten attributes with two to five levels each.
4. Designing a choice survey
The next step is to design the questions. I've created a data frame to store the questions and here is the first question for Subject 1. To create the conjoint survey, we need to fill in the NAs in this data frame. That is, we need to decide which product profiles to show in each question.
5. Creating a random design part 1
Designing the questions involves deciding which set of products -- with what features -- will be shown in each choice question. If you are able to show each respondent different sets of products, then it works pretty well to choose the products at random for each question. Let me show you how to do that in R.
The first step is to create a list object that contains your attributes and levels. Each element of the list is a vector containing the levels for each attribute. For my new survey, I'm going to use just three types and three brands and a different range of prices.
Once we have the attributes and levels list, we can use the expand-dot-grid() function in R to create all possible combinations of the attributes. All we have to do to create our list of all combinations is to pass the attribs list into the expand-dot-grid() function. The result, which I've saved to the all_comb is a data frame with one row for every possible chocolate bar with the attributes in attribs.
6. Creating a random design part 2
With all possible combinations in all_comb, we can sample from those to create the questions for each respondent. We'll loop over the 100 respondents and then create their questions in three steps. First, we select 36 rows at random using the sample() function. Then, we pull those rows out of all_comb, creating the random alternatives for respondent i. Finally, we put those random alternatives into the choc_survey data frame. After we have looped over all respondents, we have a unique set of questions for each respondent.
7. Fielding your survey: options
So, now that you've got your survey design, the next step is to find a way to ask those questions to your target customers.
You could code the survey yourself in HTML, which is a good idea if this survey will be a part of a user flow on a website.
Another option is to use a survey design tool like Google Forms or Survey Monkey.
Finally, some of the more sophisticated survey design tools such as Sawtooth have a conjoint design feature built in so you wouldn't have to build the survey questions yourself in R. These tools are easier to use than R, but can be very expensive.
8. Go field a conjoint survey!
Fielding a conjoint survey is out of scope for this course, but this gave you some idea of how you would do that.