I've received survey data from a sample of 1000 responses from a choice-based conjoint analysis where a respondent were presented with two cards and had to choose their preferred option. In the survey there were 3 attributes with 4 levels each and the sample was split in to 5 blocks with 10 choice sets presented to each respondent. Each of these blocks had 200 responses in them.

The design of the conjoint choice-sets was not done by me, but I'm now stuck with analysing these results. I've primarily used SPSS before, but from my quick research it seems SPSS might not be suitable and thus I might have to resort to R. I have no experience of doing Conjoint analysis on a split-sample so I'm rather desperate to find help with this.

Are there any examples of R or SPSS used out there of analysis of a choice based conjoint for a split sample?

For reference, a similar question was asked in this thread

EDIT: I was able to put together a model using the mlogit-package and my model output is the following:

mlogit(formula = choice ~ speed + price + cat1 + cat2 + cat3, 
    data = test.data, method = "nr", print.level = 0)

Frequencies of alternatives:
      1       2 
0.71558 0.28442 

nr method
5 iterations, 0h:0m:0s 
g'(-H)^-1g = 0.000741 
successive function values within tolerance limits 

Coefficients :
                Estimate Std. Error  t-value Pr(>|t|)    
2:(intercept) -0.3582505  0.0372617  -9.6144  < 2e-16 ***
speed          -0.1726341  0.0105252 -16.4020  < 2e-16 ***
price         -0.1672694  0.0073242 -22.8380  < 2e-16 ***
cat1           0.0965562  0.0415806   2.3221  0.02023 *  
cat2           0.8722452  0.0526031  16.5816  < 2e-16 ***
cat3          -0.0788710  0.0451093  -1.7484  0.08039 .  
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Log-Likelihood: -5419.7
McFadden R^2:  0.093196 
Likelihood ratio test : chisq = 1114 (p.value = < 2.22e-16

Speed & Price are numerical variables while cat1, cat2 & cat3 are dummy categorical variables and cat4 is the reference category that is left out from the model to avoid singularity.

I have previously used the Conjoint package which has a function (caImportance) for constructing relative factor importance and function (caUtilities) which calculates utilities of attribute levels. Is it possible for me to get similar outputs from my model that was constructed using the mlogit package?

  • $\begingroup$ Have you checked the: keii.ue.wroc.pl/pracownicy/tb/… $\endgroup$ Mar 6, 2018 at 10:21
  • $\begingroup$ I have had a look at that paper, but in that I have not found anything that could help me deal with the issue of having a split sample where all respondent have not seen the same choice set. Or is there something I'm missing? $\endgroup$
    – Cadbon
    Mar 6, 2018 at 21:37
  • $\begingroup$ No, I have misread a part of the question. What if you simply start by using only common choices? $\endgroup$ Mar 7, 2018 at 5:36
  • $\begingroup$ Could you potentially explain a bit further what you mean by "only using common choices"? $\endgroup$
    – Cadbon
    Mar 8, 2018 at 14:49

1 Answer 1


I use choiceModelR package in R for my conjoint analysis. Check the documentation for this package to see if it can work for you. There is also a great demonstration of this package in this book by Chris Chapman and Elea Feit: https://www.amazon.com/Marketing-Research-Analytics-Use/dp/3319144359

You can also look at mlogit, conjoint, and bayesm packages, which also can work with choice data, but I have never used them. I suggest looking for something that performs Hierarchical Bayesian (HB), as it is generally viewed as the most robust for conjoint data.

If you want to get away from scripting languages to perform conjoint analysis, I suggest purchasing Lighthouse Studio or CBC/HB from Sawtooth Software: https://www.sawtoothsoftware.com/. Sawtooth also has a great technical paper on HB models for conjoint data that is relatively easy to follow:


If when you say that the sample is "split" you mean that there are subgroups of respondents that performed the same conjoint exercise (i.e. they looked at choice sets with the same attributes/levels being tested), AND you assume that these subgroups have significantly different preference structures from other subgroups, then you should add the split variable as a co-variate to your HB model. The HB model will give you individual-level part worth scores, so as long as you've defined significant subgroups, you can split your model results however you think is appropriate.

  • $\begingroup$ Thanks for the help. I was able to run a logit model using the mlogit package with statistically significant results for all the attributes. However, now I've run into the issue that I do not know how I'm able to get utilities for specific levels which I would need to calculate relative importance by attribute. In the past I have been able to do this as I've used the Conjoint package, but not sure how to do this now that I've used the mlogit package. $\endgroup$
    – Cadbon
    Mar 18, 2018 at 16:17
  • $\begingroup$ What does your output look like? $\endgroup$ Mar 19, 2018 at 17:43
  • $\begingroup$ I edited my model output to my original post. $\endgroup$
    – Cadbon
    Mar 20, 2018 at 11:20
  • $\begingroup$ Variable importance is typically calculated based on how much preference "space" exists within an attribute. First you would need to exponentiate the utilities to get them on a linear scale, and then subtract the minimum from the maximum within each attribute. That will tell you how much preference is taken up by each attribute, and if it takes up more preference space, we consider that more important. If we proportion the preference space by the total preference space (the sum of the preference spaces of all attributes), then we get a proportion of preference space, or relative importance. $\endgroup$ Mar 20, 2018 at 18:59
  • $\begingroup$ sawtoothsoftware.com/download/techpap/interpca.pdf Look at section 9.4 $\endgroup$ Mar 20, 2018 at 19:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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