Page 1 of 1

Availability design

PostPosted: Fri Oct 18, 2024 4:55 am
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

Re: Availability design

PostPosted: Thu Oct 24, 2024 7:27 am
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

Re: Availability design

PostPosted: Sun Oct 27, 2024 11:45 am
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

Re: Availability design

PostPosted: Tue Oct 29, 2024 12:59 pm
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