We have conducted a conjoint survey of people's preferences when shopping for salmon. We have defined our salmon products in terms of "price" (20p steps from £3.60 to £5), "eco-certification" (none, green statement and certified) and "Brand" (high, medium and low) and have produced a csv file of our results with "eco-certification" and "Brand" coded as binary variables.

We now wish to carry out a conjoint analysis on this data, to derive a model in the form: probability (choice) = a* 'price' + b* 'green statement' + c* 'certified' + d* 'high' + e* 'medium' + error 'none' and 'low' are not included in the model as they are taken to be our base variables. We then need to divide all our coefficients by 'a' to derive a 'willingness to pay' estimate, for which we will need to calculate the associated standard error. Finally, we have a load of associated demographic data for each respondent: gender, age etc. We want to test whether males and females respond differently for example. To do this, we know that we need to either generate 2 separate models, or, the method we intend to pursue, include gender as an interaction term with each of the attributes in the model above.

We are working in 'R', but having read through the conjoint package information it sounds like each respondent has to have been shown every possible choice, whereas each of our respondents chose between 3 different products for 4 repeats (with different sets of 3 products). I have also read through the m.logit pdf, but cannot work out from this what function I need to use, or whether our data is currently in the right format.

Please could you advise us a) how to run the initial conjoint analysis and derive the stated model, b) how to calculate the SE associated with the derived WTP estimate, and c) how to then run the conjoint analysis again with the added interactions from the demographic variable? If it would be loads easier in STATA or another program, we are open to switching, but as we are all familiar with R we would prefer to use that.

  • 1
    $\begingroup$ It seems to me - though I may be wrong - that the problem is that you are seeking to perform choice-based conjoint (CBC) analysis while you think in terms (or have at hand) classic conjoint (where each card is being rated or ranked). The two are very different. The first is based on multinomial modeling and the second is based on ANOVA. $\endgroup$ – ttnphns Mar 13 '15 at 8:54

The mlogit package can analyse this data, but you need to make sure that the data is transformed to the appropriate shape (either long or wide, depending on how your data look). See the mlogit.data function on page 24 of the documentation. Once you've specified the shape of the data, you can use the mlogit function. This function allows for respondents to have seen different alternatives in each task.

As for your other question, there are many way to test whether males and females had different preferences but an interaction term is likely to be the most straightforward.

  • $\begingroup$ Thank you for your help. We couldn't get the mlogit function to work for some reason - it kept telling us our factors didn't have at least 2 levels. But we managed to run a clogit on it which seems to have given us some results we can use. $\endgroup$ – elephants_neve_forget Mar 21 '15 at 19:35

The conditional logit is the type of multinomial logit model used for analyzing discrete choice data. Use clogit in R. See Appled Choice Analysis 1st and 2nd edition.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.