Randomizing sections (not questions)

Hi all,

I am working on a survey instrument and would like to perform several randomizations tasks. For simplicity, lets assume I have 4 sections, (sections A, B, C, D). A respondent can only respond to section A or B (not both) and section C or D (not both). I would like to do the following:

  1. Randomize questions within each section (This is straightforward task)
  2. Randomize the order in which the sections are presented. Assume there are no enabling conditions in either of these sections that would be affected in the randomization takes place. If correctly programmed the randomization would result allow for sections to be presented in the following iterations:
    A, C
    A, D
    C, A
    D, A

B, C
B, D
C, B
D, B

I would greatly appreciate any suggestions/feedback on how to approach this.




this is an interesting challenge. Survey Solutions is built on the premise that the interviewer has to follow a certain plan of questions. Effectively, if section A is preceding section C in the Designer, it will always precede in the Interviewer as well. There is absolutely no way to move it around dynamically. Hence given the design A,C the design C,A is impossible.

That said, I see two routes.

  1. you can try to mimique your desired behavior with the technique that between A,C and C,A the least common structure is A,C,A2, where A2 is identical to A (with just the varnames indexed). At any moment only A or A2 is visible, but not both. I guess your modules are not to much entangled with each other, so it shouldn’t be very difficult to achieve with copy/paste. After exporting the data you can clearly move everything from var*_2 to var* for simplicity of subsequent processing. But things will get much messier with addition of B and D, since the number of combinations increases (you would still need 2 copies of every module since you are asking only 2 of them, but it would be more complex if you wanted to ask ALL of them in a random order).

  2. Create actually 8 versions of the questionnaires corresponding to scenarios you’ve listed. Clearly develop a single master copy of each module A,B,C,D and then just copy/paste them into each of the scenario versions. Then make assignments based on different scenarios of the questionnaires. You will end up with 8 different downloads, 8 copies of reports, etc. But this will all be easily stackable.

Solution 2 isn’t suitable for the case where in fact you have some screener module S which is used to identify the proper sequence of the ABCD modules. In that case solution 1 is still possible.

Finally, from the practical standpoint it is probably possible to put it down to the protocol level. You can relatively easy generate an instruction to the interviewer a la:
“For this respondent start with module C, then continue to A”
and disable the modules that are irrelevant.

Furthermore, to switch the modules you can have a multiselect question MODULES with values ABCD and selection order tracking. You can validate that the interviewer is selecting the modules correctly (in proper order), and as selection happens instruct them to go an do that section before selecting the next module. They will need to come back to that MODULES question to make the second module selection.

The last solution is akin to the selection of a household member, where Survey Solutions is telling “Continue the rest of the interview with JESSICA”. It also relies on the interviewer actually reading this instruction and continuing with Jessica if she is selected for the remainder of the interview.

Best, Sergiy Radyakin