0
$\begingroup$

I am ran a Choice based Conjoint analysis, where I provided a Dual Response - No Choice. So after choosing the preferred product out of 3 alternatives, I asked the participants if they would actually buy the choosen product. The topic of my research are crowdfunding platforms which posess different levels of Earnings and Supporters (these are my two of my attributes).

I am currently struggling with the analysis regard this Dual Response - No Choice. I am unsure how to include the No Choice in my model. I know that it is suppose to be a negative constant which acts as a kind of "hurdle" which the utility of a product needs to cross in order to be purchased.

I am using the RSGHB package for R (https://cran.r-project.org/web/packages/RSGHB/RSGHB.pdf) for the analysis. RSGHB provides the doHB()-function which performs a hierarchical Bayes estimation for the parameters. My code looks like this:

#Earning
ea_low1 <- data$earning1_Low
ea_med1 <- data$earning1_Medium
ea_hgh1 <- data$earning1_High
ea_sus1 <- data$earning1_Superstar
ea_low2 <- data$earning2_Low
ea_med2 <- data$earning2_Medium
ea_hgh2 <- data$earning2_High
ea_sus2 <- data$earning2_Superstar
ea_low3 <- data$earning3_Low
ea_med3 <- data$earning3_Medium
ea_hgh3 <- data$earning3_High
ea_sus3 <- data$earning3_Superstar
#Supporters
su_med1 <- data$supporters1_Medium
su_hgh1 <- data$supporters1_High
su_sus1 <- data$supporters1_Superstar
su_med2 <- data$supporters2_Medium
su_hgh2 <- data$supporters2_High
su_sus2 <- data$supporters2_Superstar
su_med3 <- data$supporters3_Medium
su_hgh3 <- data$supporters3_High
su_sus3 <- data$supporters3_Superstar
# Choices
choice1 <- (data$Selected==1)
choice2 <- (data$Selected==2)
choice3 <- (data$Selected==3)
no_choice <- (data$DualResponse==0)

# The model likelihood function
likelihood <- function(fc, b) {
# Assign Beta vectors to named parameters for convenience
cc <- 1
#Tierprice
tp <- b[, cc]; cc <- cc + 1
#Earning
ea_low <- b[, cc]; cc <- cc + 1
ea_med <- b[, cc]; cc <- cc + 1
ea_hgh <- b[, cc]; cc <- cc + 1
ea_sus <- b[, cc]; cc <- cc + 1
#Supporters
su_med <- b[, cc]; cc <- cc + 1
su_hgh <- b[, cc]; cc <- cc + 1
su_sus <- b[, cc]; cc <- cc + 1
# No Choice
NC <- b[, cc]; cc <- cc + 1

#price <- b[, cc]; cc <- cc + 1
# Discrete choice utility in WTP-space
v1 <- ea_low*ea_low1 + ea_med*ea_med1 + ea_hgh*ea_hgh1 + ea_sus*ea_sus1 + su_med*su_med1 + su_hgh*su_hgh1 + su_sus*su_sus1
v2 <- ea_low*ea_low2 + ea_med*ea_med2 + ea_hgh*ea_hgh2 + ea_sus*ea_sus2 + su_med*su_med2 + su_hgh*su_hgh2 + su_sus*su_sus2 
v3 <- ea_low*ea_low3 + ea_med*ea_med3 + ea_hgh*ea_hgh3 + ea_sus*ea_sus3 + su_med*su_med3 + su_hgh*su_hgh3 + su_sus*su_sus3
# Only a constant
v4 <- NC*1

# Return the probability of choice
p <- (exp(v1)*choice1 + exp(v2)*choice2 + exp(v3)*choice3) / (exp(v1) + exp(v2) + exp(v3)) * (exp(v1)*choice1 + exp(v2)*choice2 + exp(v3)*choice3) / (exp(v1)*choice1 + exp(v2)*choice2 + exp(v3)*choice3 + exp(v4))
return(p)
}
  • ea_low1 indicates that the first choice had a low earning.
  • ea_low2 is the same for the second choice.
  • ea_med1 indicates that the first choice had a medium earning.
  • and so on

In the probability function I am comparing the three different alternatives to each other:

(exp(v1)*choice1 + exp(v2)*choice2 + exp(v3)*choice3) / (exp(v1) + exp(v2) + exp(v3))

and multiply that percentage with the comparison of the chosen alternative to the no choice option:

(exp(v1)*choice1 + exp(v2)*choice2 + exp(v3)*choice3) / (exp(v1)*choice1 + exp(v2)*choice2 + exp(v3)*choice3 + exp(v4)

I am not sure if this is the right approach for modeling the utility of the no choice. Right now the variable no_choice is nowhere used in the utility function nor the probability function. This doesnt seem right to me, but I cant find any answers in the literature.

$\endgroup$

Your Answer

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

Browse other questions tagged or ask your own question.