1) Your prior for price relatively small, therefore according to your priors the price does not matter much
2) Using the mfederov algorithm does not maintain attribute level balance. Since price is added as a linear effect (not using dummy coding), it is more efficient to mostly use the extreme levels, i.e. 20 and 228, because this will give you the largest trade-offs.
This can easily be resolved by adding attribute level constraints, e.g. WTRPRI[...](1-3,1-3,1-3,1-3,1-3,1-3), which means that each attribute level needs to appear between 1 and 3 times. This gives you additional control over the levels that appear.
I made some modifications to your syntax to allow for this, I introduced a WTRPRIsq and PRDURsq variable, which also means you can remove some constraints.
- Code: Select all
Design
;alts = alt1*, alt2*, sq
;rows = 12
;eff = (mnl,d,mean)
; alg = mfederov(stop = total(10000000 iterations))
;require:
sq.ALOM = 0, sq.IRGM = 0, sq.POLUNCER = 0
;bdraws = gauss(1)
;model:
U(alt1) = b2[(n,0.209265,0.0086001)] * PRDUR[2,5,1] +
b3.dummy[(n,0.199165,0.0108026)] * ALOM[1,0] +
b4.dummy [(n,-0.361222,0.007969)] * IRGM[1,0] +
b5.dummy [(n,0.395512527,0.01824397)|(n, 0.476775789,0.02880091)] * POLUNCER[1,2,0] +
b6[(n,-0.0018, 0.0038606)] * WTRPRI[20,38,76,114,152,228](1-3,1-3,1-3,1-3,1-3,1-3) /
U(alt2) = b2 * PRDUR + b3 * ALOM + b4 * IRGM + b5 * POLUNCER + b6 * WTRPRI /
U(sq) = b7[0] + b2 * PRDURsq[1] + b3 * ALOM + b4 * IRGM + b5 * POLUNCER + b6 * WTRPRIsq[38]
$