Operations Research topics: SAS/OR,
SAS Optimization, and SAS Simulation Studio

Help using %Mktex/discrete choice suite for blended branded design

Posts: 1

Help using %Mktex/discrete choice suite for blended branded design


I'm trying to construct a choice experiment design that isn't a true branded application and I can't seem to find an example on the Internet for it.

I have 3 brands: BrandA, BrandB, BrandC. Each brand has a specific price vector assigned to it. All other product attributes are the same (or will be the same in testing).

Ex: BrandA has prices from $1.5 to $3.5; BrandB has prices from $3.5 to $7; BrandC has prices from $5 to $9. Color options are red, blue, and yellow for all the brands. Size options are 5oz, 6oz, and 7oz for all the brands. Etc.

I tried following a generic experimental design with the following code, but it doesn't give me what I need, and the d-efficiency score is extremely low:

%mktruns (3**2 3 3 3 3 3 3 8);
%mktex(3**8 8, n=72, seed=3);
%mktlab(data=design, int=f1-f2);
%choiceff(data=final, model=class(x1-x9),nsets=72,flags=f1-f2,beta=zero,options=nodups,maxiter=50,seed=3);

If I try to use the branded design, it also gives me something funny.

Any advice would be much appreciated.

Posts: 442

Re: Help using %Mktex/discrete choice suite for blended branded design

Posted in reply to ame_kurenai
You can email me (saswfk at sas dot come) if this does not help. This seems to be an approach to do what you want. Do not expect a large efficiency value from choiceff. In pre-9.2, it is not on a useful scale. This all changes in 9.2 (at least for some problems) and is discussed in detail in my new book, which is not released yet. I can however on request provide a sneak preview of one of the most useful chapters in this regard.

%mktex( 3 3 3 , n=27 )

data cand(drop=x1-x3);
retain f1-f2 1;
set design;
color = scan('red blue yellow', x2);
size = scan('5oz 6oz 7oz', x3);
brand = 'A'; price = 2 * (x1 - 1) / 2 + 1.5; output;
brand = 'B'; price = 3.5 * (x1 - 1) / 2 + 3.5; output;
brand = 'C'; price = 4 * (x1 - 1) / 2 + 5.0; output;

proc print; run;

%choiceff(data=cand, model=class(brand price color size), nsets=72, flags=f1-f2,
beta=zero, options=nodups, seed=104)
Ask a Question
Discussion stats
  • 1 reply
  • 2 in conversation