# Rstats: From Discrete choice to Conjoint utilities

I'm having trouble figuring out how to correctly calculate Conjoint Part-worth-utility from a Discrete choice experiment.

I have recently run a Pilot study to analyse in R where I used the packages “support.CEs” and “survival” and I’m trying to figure out how to calculate conjoint part-worth-utilities from the coefficients, but not sure I’m doing it correctly.

For simplicity sake ill use a simplified example about rice to explain my problem.

The experiment contains the following Attributes and levels.

Region = c("RegA", "RegB", "RegC"),
Cultivation = c("Conv", "NoChem", "Organic"),
Price = c("1700", "2000", "2300")),


I then used the clogit() function to analyses the results of the experiment using the following model.

RES ~ ASC + RegB + RegC + NoChem + Organic + Price + strata(STR)


This gave the following result.

        coef    exp(coef)   se(coef)     z   p
ASC     4,443   85,035      0,483    9,199   0,00E+00
RegB    0,469   1,599       0,137    3,417   6,30E-04
RegC    0,968   2,632       0,108    8,996   0,00E+00
NoChem  0,752   2,120       0,177    4,257   2,10E-05
Organic 1,165   3,205       0,141    8,252   1,10E-16
Price  -0,002   0,998       0,000   -9,732   0,00E+00


Now my assumption is that the part-worth-utilities for each attribute level is simply the corresponding coefficients, with the remaining level not part of the model(RegA for the Region attribute) being 0?

However, while looking at another R package called “conjoint”, made to analyses rating based conjoint, I noticed that they determined the last levels value in a different way.

 #Example 1
library(conjoint)
data(herbata)
ul<-caUtilities(hpref,hprof,hlevn)
print(ul)


To find the remaining levels utility they take the sum of all other levels in the attribute and subtract it from 0, meaning RegA would have an utility of -1,437 instead of 0.

0 - (0,469 + 0,968) = -1,437

I can’t quite figure out the logic behind this as it seems to considerably widen the distance in utility between RegA and RegB/RegC while keeping the distance between RegA and RegC fixed.

At first I dismissed this as being a mistake, however I then saw that the example for the “ChoiceModelR” package also calculated the remaining attribute level as the inverse sum of the rest.

# Is this truly the correct way to determine the utility of the remaining attribute level?

secondary question:

If so, how is the result of say the “marginal willingness to pay” function mwtp() reliable, when it would sets RegA as 0?