Page 1 of 1

Fixed attribute level within the same scenario

PostPosted: Tue Sep 11, 2018 1:46 am
by belorma87
Hi people, i'm trying to create an eff design;
The codex is the following:

Code: Select all
Design
;alts= HVR,EG,ST,NM
;rows=15
;block=3
;con
;eff=(mnl,d)
;cond:
if(EG.C&PCCEG = 0, EG.WTHDEG >0 and EG.CCHDEG =[3,5,8]),
if(EG.C&PCCEG > 0, EG.WTHDEG =0 and EG.CCHDEG =0),
if(EG.CCHDEG = 0, EG.WTHDEG =0 and EG.C&PCCEG =[10,20,40]),
if(EG.CCHDEG > 0, EG.WTHDEG =[30,60,120] and EG.C&PCCEG = 0),
if(ST.WTHDST = 0, ST.CCHDST =0 and ST.PAYST =[3,5,8]),
if(ST.PAYST = 0, ST.WTHDST =[30,60,90] and ST.CCHDST =[0,2.5,5]),
if(ST.PAYST <> 0, ST.WTHDST = 0 and ST.CCHDST =0),
if(ST.PAYST =0, EG.WTHDEG =0)

;model:
U(HVR)=
bprice[-0.03]*PRICE.ref[20]
+ acch[-0.015]*ACCHR[10,20,30]
+ slch[-0.01]*SLCHR[20,30,50]
+ payh[-0.015]*PAYHR[10,15,20]
+ shph[-0.05]*SHPHR[1,2,4]
+ skuh[-0.01]*SKUHR[0,20,60]/

U(EG)= b2[0.3]
+ bprice*PRICE.piv[-10%,0,15%]
+ slce[-0.005]*SLCEG[10,20,40]     
+ wthde[-0.015]*WTHDEG[0,30,60,120]
+ cchde[-0.02]*CCHDEG[0,3,5,8]
+ c&pcce[-0.05]*C&PCCEG[0,10,20,40]
+ shpe[0.03]*SHPEG[1,2,4]
+ skue[-0.01]*SKUEG[0,20,60]/

U(ST)= b3[0.3]
+ bprice*PRICE.piv[0,10%,30%]
+ accs[-0.015]*ACCST[5,7,10]
+ slcs[-0.01]*SLCST[5,10,20]
+ pays[-0.015]*PAYST[0,3,5,8]
+ wthds[-0.01]*WTHDST[0,30,60,90]
+ cchds[-0.05]*CCHDST[0,2.5,5]
+ shps[-0.05]*SHPST[1,2,4]
+ skus[-0.01]*SKUST[0,20,60]/

U(NM)= b4[0.3]
+bprice*PRICE.piv[0,10%,30%]
+ accn[-0.015]*ACCNM[10,15,30]
+ slcn[-0.02]*SLCNM[10,20,40]
+ payn[-0.015]*PAYNM[3,5,8]                                                                                                           
+ shpn[-0.05]*SHPNM[1,2,4]
+ skun[0.01]*SKUNM[0,20,60]
$


I would like that in each scenario the level of the attributes SHPxx and SKUxx could be the same for the each 4 alternatives, if possible.

I have tried to modify it in some way but all time without success, so maybe i'm applying the solution incorrectly.
Until now i have tried to:
[*] use constraints with if
[*]encode to Ngene to chose level only for the first utility function and use the same one for the other, but obviously it doesn't work!

Thx

Re: Fixed attribute level within the same scenario

PostPosted: Tue Sep 11, 2018 2:41 pm
by Michiel Bliemer
Scenario variables (which are variables that are constant across all alternatives) can only be added as follows:

(i) in J-1 alternatives (where J is the number of alternatives), or
(ii) as interaction effects.

This is not a limitation of Ngene but rather this is necessary to make the model identifiable, otherwise it cannot be estimated and the design efficiency would be zero.

In your case, it may not be appropriate to leave it out in one of the alternatives, so strategy (i) would then only work if you include an opt-out alternative.
Strategy (ii) can always be applied, you just have to identify the best attribute to make an interaction with.

In Ngene, you can easily create scenarios using syntax like the following (see page 162 and further in the Ngene manual):

U(alt1) = b * x1[1,2,3] + ... /
U(alt2) = b * x2[x1] + ... /
U(alt3) = b * x3[x1] + ... /
U(optout) = 0

or as an interaction effect:

U(alt1) = b * y1[10,20,30] * x1[1,2,3] + ... /
U(alt1) = b * y1[10,20,30] * x2[x1] + ... /
U(alt1) = b * y1[10,20,30] * x3[x1] + ... /

You can also use constraints for scenario variables as you propose, that should work (just make sure that your model is estimable).

Michiel

Re: Fixed attribute level within the same scenario

PostPosted: Wed Sep 12, 2018 5:22 pm
by belorma87
Thx Sir.

I'm travellong at the moment once back i'll look with more attentition to your reply.

Just to add another detail, becasue in the previous message i did'n explain the reason of my question.
For each scenario i ask people to rank options from 1 to 4 in order to know they're preference.
In the first version of the code i have only worked on the numbers of time that each level of the attribute could appear.
Interviweed involved in this fisrt test told me that in their opinion was difficult to compare situations where the above mentioned variables changes within the same scenario.
For this reason i'm trying to use a costant values across the 4 alternatives proposed in each scenario.

Best regards
Marco