I have been attempting to create a choice experiment design with a dual response format. Although I referred to some relevant postings in this forum, this is my first try and I am not sure if there is anything that could go wrong. So, it will be greatly appreciated if you could provide me with any inputs with the following questions!
This initial design has three labelled alternatives:
- A battery electric truck
- A hydrogen fuel cell electric truck
- A diesel truck as a reference alternative
And, there are five attributes and alternative-specific constants (ASC):
- Purchase costs
- Operating costs
- Driving range
- Shortest distance to an off-site fueling station
- On-site station construction costs
- ASC
My plan is to do a pilot survey before a main one (as suggested before in this forum) to obtain more reliable prior information. Here is a draft script for the pilot. I assume approximately 5 to 10 respondents.
- Code: Select all
Design
? Dual response format
? Reference alternative: diesel truck
? Efficient design with noninformative priors
;alts (forced) = BEV*, HFCEV*, DSL
;alts (unforced) = BEV*, HFCEV*, DSL
;rows = 18
;block = 3
;eff = combined (mnl,d)
;alg = swap (stop = noimprov(1000 iterations))
;fisher(combined) = design1(forced[0.5], unforced[0.5])
;model(forced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(DSL) = b7[-9] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
;model(unforced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(DSL) = b7[0] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
$
In the questionnaire, a set of two questions will follow after presenting a choice scenario:
- 1) If you must choose only between battery electric and hydrogen fuel cell electric trucks, what is the most preferred option?
- Battery electric truck
- Hydrogen fuel cell electric truck
2) If a diesel truck were available, would the one previously selected be still the most preferred? - Yes
- No
Here are my questions:
1. Would you please review this script and let me know if you find anything you'd like to suggest to do differently?
2. When I checked the output in the Ngene, I found two same matrices but different block numbers between the forced and unforced designs. I wonder which set of block numbers should be used?
3. I am curious whether it is possible to include multiple types of reference alternatives. Why I wonder about this is because, in reality, some respondents could have more than one reference options. For example, there are companies that are operating natural gas trucks and diesel trucks at the same time. So, in this case, the same question will be used for the first question, but the second question could be modified as below:
- 2) If diesel and natural gas trucks were available, would the one previously selected be still the most preferred?
- Yes
- No, we prefer a diesel truck.
- No, we prefer a natural gas truck.
And, here is a draft script:
- Code: Select all
Design
? Dual response design
? Efficient design with noninformative priors
;alts (forced) = BEV*, HFCEV*, NGV, DSL
;alts (unforced) = BEV*, HFCEV*, NGV, DSL
;rows = 18
;block = 3
;eff = combined (mnl,d)
;alg = swap (stop = noimprov(1000 iterations))
;fisher(combined) = design1(forced[0.5], unforced[0.5])
;model(forced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(NGV)= b7[-9] +
b2*pcostn[130] +
b3*ocostn[90] +
b4*rangen[700] +
b5*offsiten[10] +
b6*onsiten[100] /
U(DSL) = b8[-9] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
;model(unforced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(NGV)= b7[0] +
b2*pcostn[130] +
b3*ocostn[90] +
b4*rangen[700] +
b5*offsiten[10] +
b6*onsiten[100] /
U(DSL) = b8[0] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
$
Do you think this design looks okay?
4. Lastly, I wonder if an attribute for a reference alternative should have only single level, or can have multiple levels? For example, some attributes for natural gas trucks could have a range of levels (e.g., 70% or 90 % of operating costs) in reality. Thus, I wonder if it is okay to assign more than one levels to an attribute of a reference alternative. Here is an example of script.
- Code: Select all
Design
? Dual response design
? Efficient design with noninformative priors
;alts (forced) = BEV*, HFCEV*, NGV, DSL
;alts (unforced) = BEV*, HFCEV*, NGV, DSL
;rows = 18
;block = 3
;eff = combined (mnl,d)
;alg = swap (stop = noimprov(1000 iterations))
;fisher(combined) = design1(forced[0.5], unforced[0.5])
;model(forced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(NGV)= b7[-9] +
b2*pcostn[105,130] +
b3*ocostn[70,90] +
b4*rangen[700] +
b5*offsiten[10,20] +
b6*onsiten[100] /
U(DSL) = b8[-9] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
;model(unforced):
U(BEV) = b1[0] +
b2[-0.0001]*pcostz[105,110,115,125,150,175,200] +
b3[-0.0001]*ocostb[50,70] +
b4[ 0.0001]*rangeb[100,200,300,500] +
b5[-0.0001]*offsitez[10,20,60] +
b6[-0.0001]*onsiteb[0,25,50,75,100] /
U(HFCEV)= b2*pcostz +
b3*ocosth[90,115,130] +
b4*rangeh[300,500,700] +
b5*offsitez +
b6*onsiteh[0,25,50,75,100] /
U(NGV)= b7[0] +
b2*pcostn[105,130] +
b3*ocostn[70,90] +
b4*rangen[700] +
b5*offsiten[10,20] +
b6*onsiten[100] /
U(DSL) = b8[0] +
b2*pcostd[100] +
b3*ocostd[100] +
b4*ranged[700] +
b5*offsited[5]
$
Please feel free to let me know if any clarifications are needed in my questions. Again, I greatly appreciate your time and help!
Best regards,
yb