Qualtrics branching based on the average of a multiple-item scale

In a recent project, I identified a work-around for one of the limitations of Qualtrics.  In my situation, I had a three-item scale from a published source (each item measured on a 1-to-7 response scale), and I had a series of follow-up questions that I wanted to ask, but only if the person had averaged 2 or more on the three-item scale.  In other words, I wanted to have a skip pattern based on the average of three previous responses.  Qualtrics makes it easy to have a skip pattern based on the result of one previous response (with the “add skip logic” function shown here).  However, the “add skip logic” in Qualtrics is not flexible enough to do branching based on a combination of previous responses.

A work-around for this limitation is to use embedded data and then branching logic in the survey flow.  In essence, the technique is to create an Embedded Data field that is the average of the three responses, and then add a branch to the survey flow that conditions on the average.

A screen-shot of a working example is available here.  The first step is to create an Embedded Data field that calculates the average of the responses to the three questions in the Default Question Block.  This is done under Survey Flow / Add a New Element, choose Embedded Data.  In terms of placement in the survey flow, the Embedded Data field must be below the questions of interest so that the responses have already been collected when we attempt to retrieve them from the data. Replace “Enter Embedded Data Field Name Here…” with a variable name.  In the example project, I chose “att_avg” to be the variable that holds the average.  Then choose “set value now,” and replace “Custom Value” with a formula that defines the variable in the way you like.  In the example project shown in the screen shot, I use this formula:

$e{ ( ${q://QID2/ChoiceNumericEntryValue/1} + 
   ${q://QID2/ChoiceNumericEntryValue/2} + 
   ${q://QID2/ChoiceNumericEntryValue/3} ) / 3 }

Note that the formula has both curly brackets and parentheses.  The “$e{” at the beginning and the “}” at the end are necessary for the formula to be evaluated as a number rather than as a string.  The three terms such as “${q://QID2/ChoiceNumericEntryValue/1}” return the answer to the previous questions.  The easiest way to create these terms is to Insert Piped Text (see here) / Survey Question.  If the questions you’re accessing are in a Qualtrics Matrix Table question type like mine were, it can be tricky to figure out which option to select (e.g., here).  The solution is that math operations like the ones I’m discussing require the selections at the bottom of the list, i.e., the selections that show the question text and then “(Value)”.   By selecting these as the Piped Text, the value of the option that was chosen by the participant for that question will be entered into the equation as a single number.  Obviously, the formula I’ve used above calculates the mean of the three responses.  This “Embedded Data” technique writes this field directly into the data.  That is, when the data are downloaded from Qualtrics, the “att_avg” variable will be listed in the data as if it were a response from a participant.

The second step within the Survey Flow is to Add a New Element / Branch / Add a condition / Embedded data (as here).  As shown here, the name of our new variable goes in the blank field.  This variable is available for branching logic because we created it and wrote it to the data in the previous step.  The branch logic is finished by moving the specialized questions under the branch element.

– Eric DeRosia