Have an idea?

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

Quota for randomly shown 2 Blocks of questions with random order

Hey,

I have the following blocks of questions  (including choice-based CA):

Block A
Block B1
Block B2
Block B3

I want to set quotas for showing 1 of  6 versions of the survey:

(1) Block A & Block B1 (100 respondents)
(2) Block A & Block B2 (100 respondents)
(3) Block A & Block B3 (100 respondents)

(4) Block B1 & Block A (100 respondents)
(5) Block B2 & Block A (100 respondents)
(6) Block B3 & Block A (100 respondents)

I have constructed:

(I). Predefined List "DesignList" that has 4 values:
  1.Block A
  2.Block B1
  3.Block B2
  4.Block B3

(II). Constructed List "BlockADesignConList" with Parent "DesignList" and instructions:
  Add(DesignList,1)
  SETLISTLENGTH(1)

(III). Constructed List "BlockBDesignConList" with Parent "DesignList" and instructions:
  Add(DesignList,2,4)
  Randomize()
  SETLISTLENGTH(1)

(IV). Constructed List "AllDesignConList" with Parent "DesignList" and instructions:

  ADD(BlockADesignConList)
  ADD(BlockBDesignConList)
  Randomize()

(V). In "Randomize - Blocks" I have a Set containing 4 blocks of questions corresponding to 1. Block A, 2. Block B1, 3. Block B2, 4. Block B3 with constructed List "AllDesignConList"

These 5 steps enable me to have a randomized order of 2 randomly selected blocks.

But I have troubles at setting the quotas for each of 6 versions, so that a person is reassigned to one of the non-filled quota cell, without terminating the survey. Only if all quota cell have 100 respondents, then the survey is terminated.  

I appreciate any help.
 Vlada
asked Jul 13 by Vlada

1 Answer

+1 vote
 
Best answer
I believe I've achieved your intended behavior through a slightly different approach.  I started out by creating a quota question with six quota cells, each with a cell limit of 100 and set to always qualify.  I randomized cell membership, but I'm unsure if that is a requirement for you.

I built the same predefined list as you, but I created a constructed list with this code:

Begin Unverified Perl
if (GETVALUE('QuotaQ') == 1) {
    ADD('list1', 1);
    ADD('list1', 2);
}
elsif (GETVALUE('QuotaQ') == 2) {
    ADD('list1', 1);
    ADD('list1', 3);
}
elsif (GETVALUE('QuotaQ') == 3) {
    ADD('list1', 1);
    ADD('list1', 4);
}
elsif (GETVALUE('QuotaQ') == 4) {
    ADD('list1', 2);
    ADD('list1', 1);
}
elsif (GETVALUE('QuotaQ') == 5) {
    ADD('list1', 3);
    ADD('list1', 1);
}
else {
    ADD('list1', 4);
    ADD('list1', 1);
}
End Unverified


"QuotaQ" and "list1" must be replaced with the names of your quota question and predefined list, respectively.

Finally, I added the randomized blocks and used this constructed list.  The first six hundred respondents should all see one of your six block options.

Does this approach meet your needs?
answered Jul 13 by Zachary Platinum Sawtooth Software, Inc. (63,775 points)
Zachary, this all looks fine providing the advanced setting (check for cell membership) is randomising open quotas only. Can I confirm that behaviour? Thanks.
That's a good question.  I lowered the cell limits and performed a few tests.  Each time, the software never produced a disqualified respondent until all quota cells were full.
Then you have a working solution!

My only concern was a closed quote being randomly selected when other quota cells were open.

Nice work!

This is a method Jay Rutherford likes to use.
Hey Zachary,  thank you  for your answer. With the generated data it seems to work well. And if it does assure that a respondent will not be sent to terminating the survey if s/he is first assigned to a full quota cell, but rather be sent to another quota cell, then it is perfect!
No respondent will be disqualified until all cells are full.
This is a method I use a bit.  I had a similar concern in the past Paul, that a closed cell would be selected and thus result in an over quota.  It was confirmed that every cell in a quota gets checked first for qualification and then quota cell limits.  If the cell is closed it then checks the next one and so on.  So one would either Disqualify if none of the cells criteria were met and Over quota only if ALL cells were full that they could have qualified for.
Makes sense thanks Jay.
...