## High or low number of choice situations using blocks?

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

### High or low number of choice situations using blocks?

Dear prof. Bliemer,
I am designing some experiments related to electric vehicles: I want to investigate the decision factors involved in buying a new car (called Car Ownership Experiment, COE) and the ones related to recharging an electric vehicle (Charging Infrastructure Experiment, CIE).
I made a pilot survey and I used the minimum amount of choice situation requested (15 for COE, 10 CIE).
For the definitive survey, I want to use blocks in order to reduce the choice situation presented to each respondent. The block presented to each respondent will be picked up randomly.

Do you suggest to use that minumum number (15 for COE) and divide them in blocks (3 I would say) or to increase the number of situation and create more blocks (e.g. 100 block).
It is better to get the same situation filled by many respondent or to have less answers for each choice situation, but with a large variety of attribute-level combination evaluated?

I hope my question is clear

I leave you the syntax for the COE, if it can be useful. Here the syntax usign the minimum amount of choice situations.

Code: Select all
`Design;alts=A*, B*, Opt-out;rows=15;block=3;eff=(mnl,d);cond:?                                    CONSTRAINTS ON PRICEif(A.ENGINE<=3, A.PRICE=[1.5,2,2.5]),if(A.ENGINE>=4, A.PRICE=[2.5,3]),if(B.ENGINE<=3, B.PRICE=[1.5,2,2.5]),if(B.ENGINE>=4, B.PRICE=[2.5,3]),?                                    CONSTRAINTS ON RANGEif(A.ENGINE<=5, A.RANGE=[5,6,8]),if(A.ENGINE=6, A.RANGE=[2,3,4,5]),if(B.ENGINE<=5, B.RANGE=[5,6,8]),if(B.ENGINE=6, B.RANGE=[2,3,4,5]),?                                    CONSTRAINTS ON DIFFUSION OF CHARGING INFRASTRUCTURESif(A.DIFFUSION<>B.DIFFUSION, A.DIFFUSION=B.DIFFUSION or B.DIFFUSION=A.DIFFUSION ),?                                    CONSTRAINTS ON CHARGING TIMEif(A.ENGINE=[1,2,3,4], A.CHARGING_TIME=0),if(A.ENGINE>=5, A.CHARGING_TIME<>0),if(B.ENGINE=[1,2,3,4], B.CHARGING_TIME=0),if(B.ENGINE>=5, B.CHARGING_TIME<>0),?                                    CONSTRAINTS ON PURCHASE INCENTIVESif(A.ENGINE=1, A.PURCHASE_INC<=0),if(A.ENGINE=[2,3], A.PURCHASE_INC=[0,1]),if(A.ENGINE=[4,5], A.PURCHASE_INC=[0,1,2]),if(A.ENGINE=6, A.PURCHASE_INC=[0,1,2,3]),if(B.ENGINE=1, B.PURCHASE_INC<=0),if(B.ENGINE=[2,3], B.PURCHASE_INC=[0,1]),if(B.ENGINE=[4,5], B.PURCHASE_INC=[0,1,2]),if(B.ENGINE=6, B.PURCHASE_INC=[0,1,2,3]),?                                    CONSTRAINTS ON UTILIZATION INCENTIVESif(A.ENGINE=[1,2,3], A.UTILIZ_INC=0),if(A.ENGINE=4, A.UTILIZ_INC=[0,1]),if(B.ENGINE=[1,2,3], B.UTILIZ_INC=0),if(B.ENGINE=4, B.UTILIZ_INC=[0,1]);model:U(A)= asc + b_eng.dummy[0.00001|0.00001|0.00001|0.00001|0.00001] * ENGINE[2,3,4,5,6,1]          + b_p[(n,-0.5,0.2)]                                    *PRICE[1.5,2,2.5,3]           + b_rng[(n,0.25,0.1)]                                 *RANGE[2,3,4,5,6,8]          + b_operCost[(n,-0.2,0.15)]                       *OPER_COST[-2.5,0,2.5]          + b_diff[(n,0.2,0.1)]                                  *DIFFUSION[0,2,5,7.5,10]          + b_ct[(n,0.2,0.1)]                                    *CHARGING_TIME[0,1,2,4,8]          + b_pi[(n,0.15,0.12)]                                 *PURCHASE_INC[-1,0,1,2,3]          + b_ui[(n,0.125,0.15)]                                *UTILIZ_INC[0,1,2]/U(B)= asc + b_eng     *ENGINE          + b_p       *PRICE          + b_rng     *RANGE          + b_operCost*OPER_COST          + b_diff    *DIFFUSION          + b_ct      *CHARGING_TIME          + b_pi      *PURCHASE_INC          + b_ui      *UTILIZ_INC\$`

Thank you,
Davide
davidelg

Posts: 2
Joined: Fri Sep 24, 2021 1:37 am

### Re: High or low number of choice situations using blocks?

In general, more variety is good, so I would choose to increase the number of rows (and hence have a larger number of blocks).

You have attributes with 3, 4, 5, and 6 levels. If you want to have attribute level balance within your design, then a natural choice for the number of rows is 60 (which is divisible by 3, 4, 5 and 6). Then you can use either 6 or 10 blocks.

? if each respondent is given 6 choice tasks
;rows = 60
;block = 10

or

? if each respondent is given 10 choice tasks
;rows = 60
;block = 6

Note that with 60 rows Ngene will struggle with the default swapping algorithm to find designs that satisfies all your if-then constraints as well as your dominance constraints, but it should work. If you use 100 rows then Ngene is unlikely to find designs with the default swapping algorithm. In that case you need to change to the modified Federov algorithm and rewrite your if-then constraints into ;reject constraints.

Michiel
Michiel Bliemer

Posts: 1588
Joined: Tue Mar 31, 2009 4:13 pm

### Re: High or low number of choice situations using blocks?

Thank you Professor,
I have tried the syntax with 60 rows and in fact it struggle a bit to find solutions.

Anyway, I will try this way before swapping to modified Federov algorithm.

Thank you again.

Davide
davidelg

Posts: 2
Joined: Fri Sep 24, 2021 1:37 am