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.

SAS Employee
Posts: 154

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

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