## How to consider alternative levels

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

### How to consider alternative levels

Hi Michiel,

As discussed before, it is assumed that a taxi driver drops off a passenger and needs to select one of these three options: waiting at the drop-off location to receive next ride request, cruising based his experience to find a new request, and following the application recommendations. The attributes are the time of day (TD) and location (L) which are context variables. The issue is that one of the alternatives also have some levels. Waiting can be divided into three levels (10,20,30 min). I was wondering if I need to define a single utility function for each level (as follows) or another method is applicable?

Unique utility function for each level:

U(wait0) = td.dummy*TD[1,2] + l.dummy*L[1,2]
U(wait10) = td.dummy*TD[1,2] + l.dummy*L[1,2]
U(wait20) = td.dummy*TD[1,2] + l.dummy*L[1,2]
U(cruising) = td.dummy*TD[1,2] + l.dummy*L[1,2]
U(applicaton) = ASC

You have already answered this question and proposed the following approach:

design
;alts = waiting, cruising, application
;rows = all
;fact
;model:
U(waiting) = wait * WAIT[10,20,30] ? waiting time
+ td_wait.dummy[0] * TD[1,2] ? time of day with alternative-specific parameter
+ loc_wait.dummy[0] * LOC[1,2] ? location with alternative-specific parameter
+ i1 * WAIT * TD.dummy[1] ? interaction term between wait and time of day
+ i2 * WAIT * LOC.dummy[1] ? interaction term between wait and location
/
U(cruising) = cruise ? alternative-specific constant
+ td_cruise.dummy[0] * TD[TD] ? time of day with alternative-specific parameter
+ loc_cruise.dummy[0] * LOC[LOC] ? location with alternative-specific parameter
/
U(application) = app ? alternative-specific constant
\$

As far as I understood, you created a new attribute to define the alternative levels. In this setting, it seems that each respondent faces only one level (10,20,30) in each choice task. To clarify, If level 10 appears, the alternatives will be waiting for 10 min, cruising, and application while there are two more alternatives (waiting for 20 and 30 min). Therefore, he/she does not have full choice alternatives. Please correct me if I am wrong.
Could you also let me know whether my proposed method (having different alternatives for each alternative level) can work? If not, why?

thanks for your attention.
kind regards,
Peyman.
peyman_07

Posts: 22
Joined: Mon Nov 19, 2018 4:46 am

### Re: How to consider alternative levels

You can formulate any utility functions that you like, you just have to make sure that they make sense and that you can interpret them.

You can have the following alternatives:

1) Wait for a ride for 0 minutes
2) Wait for a ride for 10 minutes
3) Wait for a ride for 20 minutes
4) Cruise for a ride
5) Let the app decide

However, alternative 2 includes alternative 1, and alternative 3 includes alternative 2 (i.e., if you wait for 20 minutes, it means you also wait for 10 minutes). This results in an ordered logit model, a different type of choice model that a multinomial logit model. Ngene can only handle (mixed) multinomial logit models, not ordered logit models. I also do not know how to estimate a hybrid ordered-multinomial logit model, given that part of your alternatives are ordered and others are not, so you may want to consult an expert in choice model estimation and analysis.

You can avoid the ordering problem by having only one waiting alternative, but you have to decide whether that makes sense.

If you have Ngene specific questions I am happy to help on this forum. You can also consider posting general stated choice experiment questions on the other ChoiceMetrics forum.

Michiel
Michiel Bliemer

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

### Re: How to consider alternative levels

Hi Michiel,

If we specify a range for each alternative, it seems that there is no overlap between them. For example, the alternatives would be like this:

1) Wait for a ride for 1-10min
2) Wait for a ride for 10-20min
3) Wait for a ride for 20-30min
4) Cruise for a ride
5) Let the app decide

Could you please let me know if this approach can work?
However, I found some papers that discourage researchers to use a range in attribute/alternative levels. I would appreciate it if you mention the advantages and disadvantages of having ranges in this example?

Many thanks,
Peyman
peyman_07

Posts: 22
Joined: Mon Nov 19, 2018 4:46 am

### Re: How to consider alternative levels

Ranges should indeed be avoided. But your alternatives are still not disjoint.
Waiting for 20 minutes means waiting for 10 minutes plus waiting for another 10 minutes, using ranges does not solve this issue, so there is overlap between alternatives. Such an ordering needs to be accounted for, e.g. using order logit. So I think that it can be done, but you have to estimate a different type of choice model and I do not have expertise in such models.

Michiel
Michiel Bliemer

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