Beginner's Questions on E-Cigarette DCE

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Beginner's Questions on E-Cigarette DCE

Postby Deisenkr1 » Sat Feb 20, 2021 7:54 am

Hi all,

I'm completely new to DCEs and, truthfully, my stats knowledge is quite limited in general. It's a long story in terms of how it's ended up being me working on this, but I'm really trying my best nonetheless. I have read the manual cover to cover, but I'm still pretty lost.

Here are the basics of what I'm trying to accomplish:

Respondents are being asked for willingness-to-purchase only. Attributes/Characteristics:

Flavour Availability
Tobacco Only
Tobacco and Menthol Only
Tobacco, Sweet and Fruits Only
Tobacco, Menthol, Sweet and Fruits

Availability
Prescription-Only
Adult-Only Vape Shops
Online Only
Available at All Retail Locations

Level of Nicotine
High (20+ mg/ml)
Medium (10-20 mg/ml)
Low (1-9 mg/ml)
Zero

Price (per pod or 30 ml bottle)
$3 CAD
$5 CAD
$7 CAD
$10 CAD

We are surveying 600 participants (and thus using a fractional design), providing two choices each and making it a forced choice (no "None" option). We are looking at doing 10 choice scenarios per participant, and 3 separate choice blocks. It is asking many of the same questions as here: https://tobaccocontrol.bmj.com/content/25/e1/e30, but with different attributes/characteristics, and only measuring e-cigarettes.

I am lost as to how to code this into syntax. I'm sure this sounds like a simplistic question (or perhaps overly simplified and I'm not providing nearly enough data?). Thank you so much for any and all help you can provide.
Deisenkr1
 
Posts: 3
Joined: Thu Feb 18, 2021 2:18 pm

Re: Beginner's Questions on E-Cigarette DCE

Postby Michiel Bliemer » Sat Feb 20, 2021 9:01 am

First, let me say that creating a choice experiment is not as difficult as it may seem, and it is an art, not a science, so there is many ways of constructing a design. Even if you would create random choice tasks, it is fine (it is just not the most efficient way of data collection).

You can use the syntax below as a starting point. Usually I do not write the entire syntax for users, at least I want people to first try themselves, but hopefully this helps. Note that you can also consider taking one of the courses in experimental design (some offered online) a few times a year.

Code: Select all
design
;alts = ecig1*, ecig2*, none  ? none = opt-out alternative with zero utility and does not need to be specified in ;model below but does impact utilities
;rows = 30                   
;block = 3                   
;eff = (mnl,d)
;alg = mfederov(candidates = 2000)             ? this algorithm is better at finding designs without dominant alternatives
;model:                                        ? all priors in the models are essentially set to zero since no prior information is available, but in order to avoid dominant altermatives the very small values indicate sign and/or order
U(ecig1) = asc[0]                                                    ? alternative-specific constant related to buying e-cigarettes relative to not buying (none)
         + flavour.dummy[0.001|0.002|0.003]  * FLAVOUR[1,2,3,0]      ? 0 =  Tobacco only (base), 1 = Tobacco + Menthol, 2 = Tobacco + Menthol + Fruit, 3 = Tobacco + Menthol + Fruit + Sweet
         + availability.dummy[0.001|0|0.002] * AVAILABILITY[1,2,3,0] ? 0 = Prescription-only (base), 1 = Adult-only vape shops, 2 = online only, 3 = available at all retail locations
         + nicotine.dummy[0.001|0.002|0.003] * NICOTINE[1,2,3,0]     ? 0 = zero (base), 1 = low, 2 = medium, 3 = high
         + price[-0.00001]                   * PRICE[3,5,7,10](6-9,6-9,6-9,6-9)  ? in CAD, each attribute level appears 6 to 9 times within the design for some degree of attribute level balance
         /
U(ecig2) = asc
         + flavour      * FLAVOUR
         + availability * AVAILABILITY
         + nicotine     * NICOTINE
         + price        * PRICE
$


Michiel
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Re: Beginner's Questions on E-Cigarette DCE

Postby Deisenkr1 » Sat Feb 20, 2021 11:24 am

Hi Michael,

This is, it should go without saying, HUGELY helpful. Thank you so much. It's exactly what I was hoping to work off of. And I do indeed hope to take a course down the line. To better understand, can I ask a few things?

1. I was not planning to put in an opt-out feature. Did you include this as a necessity? I assume I can merely remove it, if I decide I do not want it.
2. For price, we chose those categories based on feedback from experts. That said, am I correct that having the prices at 3, 5, 7, 9 (rather than 10) would simplify the analysis?
3. Can I ask why price was set to [-0.00001]? And the 6-9?
4. Lastly, I appreciate you suggesting the mfederov! I hadn't come across it. May I ask what the (candidates = 2000) refers to?

Thank you so much again.

Best,
Daniel
Deisenkr1
 
Posts: 3
Joined: Thu Feb 18, 2021 2:18 pm

Re: Beginner's Questions on E-Cigarette DCE

Postby Michiel Bliemer » Sat Feb 20, 2021 12:18 pm

1. Sorry I misread, i thought you said you wanted an optout option. Yes you can definitely leave out, the syntax would then become as below.
2. For a continuous attribute like Price, it does not matter which attribute levels you choose, it does not affect estimation.
3. Price should have a negative prior, so by using -0.00001 I tell Ngene that it is negative so it can avoid dominant alternatives, but by making it very small it is essentially 0, i.e. uninformative priors except for sign. The modified Federov algorithm cannot maintain attribute level balance. For dummy coded variables there will automatically a reasonable balance as otherwise the design would be inefficient, but for continuous variabes (like Price) you need add such constraints since the most efficient design would only use the lowest and highest value and would ignore the middle levels.
4. The modified Federov algorithm creates a candidate set (without dominant alternatives) consisting of 2000 feasible choice tasks. The algorithm then chooses the 30 choice tasks that are most efficient. You can set the candidate set to different values, but 2000 is generally a large enough pool to select choice tasks from.

Code: Select all
design
;alts = ecig1*, ecig2*
;rows = 30                   
;block = 3                   
;eff = (mnl,d)
;alg = mfederov(candidates = 2000)             ? this algorithm is better at finding designs without dominant alternatives
;model:                                        ? all priors in the models are essentially set to zero since no prior information is available, but in order to avoid dominant altermatives the very small values indicate sign and/or order
U(ecig1) = flavour.dummy[0.001|0.002|0.003]  * FLAVOUR[1,2,3,0]      ? 0 =  Tobacco only (base), 1 = Tobacco + Menthol, 2 = Tobacco + Menthol + Fruit, 3 = Tobacco + Menthol + Fruit + Sweet
         + availability.dummy[0.001|0|0.002] * AVAILABILITY[1,2,3,0] ? 0 = Prescription-only (base), 1 = Adult-only vape shops, 2 = online only, 3 = available at all retail locations
         + nicotine.dummy[0.001|0.002|0.003] * NICOTINE[1,2,3,0]     ? 0 = zero (base), 1 = low, 2 = medium, 3 = high
         + price[-0.00001]                   * PRICE[3,5,7,10](6-9,6-9,6-9,6-9)  ? in CAD, each attribute level appears 6 to 9 times within the design for some degree of attribute level balance
         /
U(ecig2) = flavour      * FLAVOUR
         + availability * AVAILABILITY
         + nicotine     * NICOTINE
         + price        * PRICE
$


Michiel
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Re: Beginner's Questions on E-Cigarette DCE

Postby Deisenkr1 » Sun Feb 21, 2021 4:03 am

Thanks so much for this, Michiel. My final question! I am playing around with the syntax now, but I continue to get the following error message no matter what I play with:

Warning: One or more attributes will not have level balance with the number of rows specified: ecig1.flavour, ecig1.availability, ecig1.nicotine, ecig1.price, ecig2.flavour, ecig2.availability, ecig2.nicotine, ecig2.price
Note: Defaulting to assigning blocks with the 'minsum' method.

Similarly, my price column continues to respond with an error:

price
-1E-05
679359450.783771
7.5E-05

Am I missing something? It is a continuous variable, I understand, so I'm not sure why this continues to create problems. Thanks again!
Deisenkr1
 
Posts: 3
Joined: Thu Feb 18, 2021 2:18 pm

Re: Beginner's Questions on E-Cigarette DCE

Postby Michiel Bliemer » Tue Feb 23, 2021 7:53 am

You have chosen 30 rows but with 4 levels of each attribute, you can never obtain attribute level balance. With 36 rows you would in principle be able to find an attribute level balanced design (since 36 is divisible by 4) using the default swapping algorithm, but the modified Federov algorithm cannot guarantee attribute level balance and therefore gives a warning, this is NOT an error, it merely notifies the user that the design will not be attribute level balanced. Which is fine. You do not need attribute level balance.

There is no error in your price column. You have set uninformative priors (small values), therefore your sample size estimates have NO MEANING and should be ignored. Only when you use informative priors (e.g. from a pilot study) then these S-estimates are meaningful.

Michiel
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm


Return to Choice experiments - Ngene

Who is online

Users browsing this forum: No registered users and 26 guests

cron