Have an idea?

Visit Sawtooth Software Feedback to share your ideas on how we can improve our products.

Block Randomization with Priority

I am currently  working on a survey where respondents name what brands they have used in Q4. Q4 is a list of 8 key brands and an "other specify". Later on in the survey, I want respondents to rate up to 2 of the brands they named in Q4 (NOT including the "other specify"), randomly chosen, with priority on certain brands and an even distribution quota (where a brand is moved to the "bottom" of the list when it has been rated by 50 respondents). My current block randomization list has some sort of error where respondents are looped back to Q4 after they finish rating their 2 brands.

My lists:
 Q4 brand list: 8 members and an "other specify"

BrandShowParent List:
Begin Unverified Perl

if (VALUE("Q4_1")==1)
{
ADD ("BrandParentList",1);
}

if (VALUE("Q4_5")==1)
{
ADD ("BrandParentList",5);
}

if (VALUE("Q4_2")==1)
{
ADD ("BrandParentList",2);
}

if (VALUE("Q4_3")==1)
{
ADD ("BrandParentList",3);
}

if (VALUE("Q4_4")==1)
{
ADD ("BrandParentList",4);
}

if (VALUE("Q4_7")==1)
{
ADD ("BrandParentList",7);
}

if (VALUE("Q4_6")==1)
{
ADD ("BrandParentList",6);
}

if (VALUE("Q4_8")==1)
{
ADD ("BrandParentList",8);
}

End Unverified

BrandShowList (used for my block randomization):

Mirror(BrandShowParentList)

Begin Unverified Perl

  my $i=1;

 for($i=1; $i<=8; $i++)
  {
   if (ISQUOTACELLOPEN("QTBrand".$i,0))
     {  
      REMOVE("BrandParentList",$i);
     }  
  }

 LISTMAX(2);

End Unverified

Randomize()

And a quota (QTBrand1, QTBrand2, etc.) for each brand with the following logic:
ListValue(BrandShowList,1)=1 or ListValue(BrandShowList,2)=1

Any help figuring this out would be greatly appreciated!
asked Nov 1, 2018 by Hannah Locke
reshown Nov 7, 2018 by Walter Williams

1 Answer

0 votes
Once you have selected your 2 brands, what sort of question/s do you need to ask? You just mentioned "rating the 2 brands". Is it a single question for each brand or multiple questions for each brand?

If it is just a simple grid to rate the 2 brands, you won't need randomised blocks. You will only need a grid question with the rows using a constructed list that stores the 2 selected brands.

If you do need to ask multiple questions of each of the 2 brands, you maybe able to use a loop instead of randomised blocks? This depends on the questions being asked - are they the same for each brand?

And if the questions for each brand do differ, then randomised blocks come into play.

May I ask you also check the anchor questions you have defined for your multiple blocks.

It's a bit difficult to tell exactly what your problem is without further details or without seeing the ssi file?
answered Nov 1, 2018 by Paul Moon Platinum (74,405 points)
...