Page 1 of 1

Specifying an opt-out correctly

PostPosted: Wed Jul 22, 2015 1:26 am
by djmott
Hi there,

I am designing a DCE with 3 alternatives. Alt1 and alt2 refer to "Programme A" and "Programme B" respectively. Alt3 is an opt-out, meaning "No Programme".

Normally I believe you would not specify a utility function for alt3. However, the problem I am facing is that opting out has implications and these could be defined using my attribute levels. In other words, if you choose alt3 this implies that:
    COST=0
    OUTCOME=100
The levels that are specified in alt1 and alt2 for the other 4 attributes are not applicable in alt3 as these can only exist if you choose a programme. I am unsure how to incorporate this in the utility function, if at all.

How might I correctly specify alt3 in this case?

This is my syntax:
Design
;alts = alt1, alt2, alt3

;block = 4
;rows = 40

;eff = (mnl,d)

;cond:
if(alt1.ONLINE=3,alt1.FEEDBACK=[0,1,3]),
if(alt2.ONLINE=3,alt2.FEEDBACK=[0,1,3]),
if(alt1.ONLINE=3,alt1.REMINDERS=[0,1,3]),
if(alt2.ONLINE=3,alt2.REMINDERS=[0,1,3])

;model:
U(alt1) = ba1 + b2 * LENGTH[6,12,18,24] + b3.dummy[0|0|0] * FEEDBACK[0,1,2,3] + b4.dummy[0|0|0] * REMINDERS[0,1,2,3] + b5.dummy[0|0|0] * ONLINE[0,1,2,3]
+ b6[(u,-0.001,0)] * OUTCOME[0,10,20,40,60,80,90,100] + b7[(u,-0.001,0)] * COST[0,10,20,30] + b8 * COST * LENGTH + b9 * OUTCOME * LENGTH /

U(alt2) = bb1 + b2 * LENGTH + b3 * FEEDBACK + b4 * REMINDERS + b5 * ONLINE + b6 * OUTCOME + b7 * COST + b8 * COST * LENGTH + b9 * OUTCOME * LENGTH $


Thanks very much in advance.

Re: Specifying an opt-out correctly

PostPosted: Wed Jul 22, 2015 3:40 am
by Michiel Bliemer
You mean something like this?

Code: Select all
Design
;alts = alt1, alt2, alt3

;block = 4
;rows = 40

;eff = (mnl,d)

;cond:
if(alt1.ONLINE=3,alt1.FEEDBACK=[0,1,3]),
if(alt2.ONLINE=3,alt2.FEEDBACK=[0,1,3]),
if(alt1.ONLINE=3,alt1.REMINDERS=[0,1,3]),
if(alt2.ONLINE=3,alt2.REMINDERS=[0,1,3])

;model:
U(alt1) = b2 * LENGTH[6,12,18,24] + b3.dummy[0|0|0] * FEEDBACK[0,1,2,3] + b4.dummy[0|0|0] * REMINDERS[0,1,2,3] + b5.dummy[0|0|0] * ONLINE[0,1,2,3]
+ b6[(u,-0.001,0)] * OUTCOME[0,10,20,40,60,80,90,100] + b7[(u,-0.001,0)] * COST[0,10,20,30] + b8 * COST * LENGTH + b9 * OUTCOME * LENGTH /

U(alt2) = b2 * LENGTH + b3 * FEEDBACK + b4 * REMINDERS + b5 * ONLINE + b6 * OUTCOME + b7 * COST + b8 * COST * LENGTH + b9 * OUTCOME * LENGTH /
U(alt3) = asc + b6 * OUTCOME2[100] + b7*COST2[0]
$


Note that I have put the constant in alt3 (it does not make much sense having two different constants in alt1 and alt2 since they are unlabelled). Since COST = 0, this part disappears from the utility function so could be omitted. Since OUTCOME = 100, it will have an impact on utility and should be added. You have to think about LENGTH, if LENGTH = 0 then the interaction effect can be omitted, otherwise you need to specify the value of LENGTH as well.

Re: Specifying an opt-out correctly

PostPosted: Tue Jul 28, 2015 10:48 pm
by djmott
Thanks very much