Availability design

This forum is for posts that specifically focus on the Windows desktop version of Ngene (i.e. all version 1.x releases).

Moderators: Andrew Collins, Michiel Bliemer, johnr

Post Reply
NassarN
Posts: 8
Joined: Wed Feb 02, 2022 2:24 am

Availability design

Post by NassarN »

Hi all

I'm getting an error when trying to develop an availability design

[Modified Fedorov] ERROR: The candidate set of the Modified Fedorov algorithm is smaller than the number of rows specified. That is, there are not enough unique choice sets to generate the number required as specificed in the ;rows property. This problem sometimes appears when there are too many reject and/or reject constraints.

1- I developped a factorial design without any constraints

Code: Select all

Design
;alts = hotelA*, hotelB*, hotelC*, None
;rows = 7200
;fact
;model:
U(hotelA) = b1 * price[100,125,150,175,200] + b2 * stars[1,3,5] + b3 * distance[5,10,15] + 
            b4 * wifi[0,1] + b5 * breakfast[0,1] + b6 * pool[0,1] /
U(hotelB) = b1 * price + b2 * stars + b3 * distance + b4 * wifi + b5 * breakfast + b6 * pool  /
U(hotelC) = b1 * price + b2 * stars + b3 * distance + b4 * wifi + b5 * breakfast + b6 * pool
$
The 7200 choice sets had been copied into an excel file. Then, I selected randomly some choicesituations where hotelA is unavailable (all code are 999 or -999)
and then I used the following code

Code: Select all

Design
;alts = hotelA*, hotelB*, hotelC*, None
;rows = 240
;block = 20
;eff = (mnl,d)
;alg = mfederov(candidates = D:\Naji\All_I_Know\ConjointAnalysis\availability.xlsx)
;model:
U(hotelA) = b1[-.01] * price[100,125,150,175,200,999] + b2[.1] * stars[1,3,5,-999] + b3[-.1] * distance[5,10,15,999] + 
            b4[.2] * wifi[0,1,-999] + b5[.2] * breakfast[0,1,-999] + b6[.2] * pool[0,1,-999] /
U(hotelB) = b1 * price + b2 * stars + b3 * distance + b4 * wifi + b5 * breakfast + b6 * pool /
U(hotelC) = b1 * price + b2 * stars + b3 * distance + b4 * wifi + b5 * breakfast + b6 * pool 
$
It happened whatever the propension of hotelA's availability choice situations -in excel- (10% vs 50% vs 90%)
Additionnal question I would like to add in U(hotelB) & U(hotelC) the cross effect of A unavailability
Thanks for your help

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

Re: Availability design

Post by Michiel Bliemer »

Did you put the design in the correct format as specified in the manual?
So when you copy the design with 7200 rows into Excel, you need to add an extra first column that indicates the respondent number. In your case, it is simply a column containing only ones, with as header something like resp.

If that does not fix the issue, you may want to try to first load the Excel spreadsheet into Ngene using Open etc. Then, when the file is locally known by Ngene, you can use ;alg = mfederov(candidates = availability.xlsx)

I do not understand this question: "I would like to add in U(hotelB) & U(hotelC) the cross effect of A unavailability"

Michiel
NassarN
Posts: 8
Joined: Wed Feb 02, 2022 2:24 am

Re: Availability design

Post by NassarN »

Thanks a lot Michiel


It comes from Excel file (when I opened it using NGENE, all columns -except the first one- showed 0),but when I copy the same columns in .TXT file (with comma delimiter), the code went quite fine using the TXT file.
Thanks for the trick

"I would like to add in U(hotelB) & U(hotelC) the cross effect of A unavailability". I just wanted to add a term in U(HotelB) and U(HotelC) like (hotelA.price > 900), which would measure the impact of A unavailability on competitors. Finally, I will incorporate this cross effect in the choice model (increasing the nb of rows in the design) and keep the design as it is.

Best
Naji
Michiel Bliemer
Posts: 2039
Joined: Tue Mar 31, 2009 4:13 pm

Re: Availability design

Post by Michiel Bliemer »

The Excel file needs to be a "clean" file without any formulas formatting, like with other software it should only contain text. Copying it to TXT/CSV removes all the formulas and formatting so that will always work.

You should be able to add additional terms in the choice model after you have collected the data given that you have a large number of rows and therefore have quite a bit of flexibility in specifying the utility functions.

Michiel
Post Reply