Have an idea?

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

How to randomize answer options but keep the order afterwards?

Hi there,

I have a 2 questions, each with the same set of possible answers, which should be displayed randomized in the first question but the same order should be displayed in the second questions.

For example:
1. X
2. Y
3. Z

Randomized in Q1:
1. Z
2. X
3. Y

Continued in Q2:
1. Z
2. X
3. Y

So in the end, the answer list of Q2 should be a hard copy of the randomized order in Q1.

How do I do that? Any suggestions?

Thanks in Advance
asked Jun 23, 2017 by Alex

1 Answer

0 votes
Create a constructed list that uses your X-Y-Z list as its parent.  Give the constructed list this code:


"list1" should be replaced with the name of the parent list.

Finally, set Q1 and Q2 to use your constructed list.
answered Jun 23, 2017 by Zachary Platinum Sawtooth Software, Inc. (214,575 points)
Spot on as always Zachary.

Note the following ...

1/ If you use AIC, that will keep the randomisation order the same too.

2/ And if you use different constructed lists but need to keep the randomisation the same, use seeds within the randomize() function.
Seeding is a great way to produce consistent randomization.  Using something like the respondent number as a seed will result in a single respondent always getting the same result, but other respondents getting an entirely different result.

Really, you can stick together any 2+ parameters to get consistent randomization that is unique to those parameters.  For example, if I want consistent randomization per respondent per page, this is the seed I'd use:

RespNum() * 1000 + PageNumber()
Makes sense. Appreciate your comments Zachary.