Identifying straightlining

Problem

You want to identify straightlining behaviour and you want to react to it.

Solution

Use the straightlined function in a Test pound instruction.

Discussion

Straightlining occurs when a survey respondent selects the same answer to a series of questions. Typically, this is seen as a way to speed through a questionnaire, not answering thoughtfully.

The straightlined function can test for this behavour and, coupled with the # TEST instruction, it can react to it. This function is used as follows:

    straightlined("Qn-Qm","QFLAG")

It returns a 1 if all answers from Qn to Qm are the same while disregarding empty answers (which would correspond to false display conditions, for example). QFLAG is an optional question name; if it is present two things happen:

  • first, a 1 is stored in that field if the test fails;
  • second, the test is not conducted if there is already a 1 in that field.

Couple this with a # TEST instruction and you get something like this:

    # Test WhateverName =
      #> [TRIGGER]Q1
      #> [CONDITION] { straightlined("Q1-Q10","QFLAG") }
      #> [MESSAGE]
      #> [EN]One answer to all questions? Click Next page again if this is what you want to do or revise your answers.
      #> [FR]Une réponse à toutes ces questions? Cliquez sur Page suivante si c'est ce que vous vouluez ou révisez vos réponses.
      #> [TYPE]TABLE

That will display the error message and the matrix (presumably) if the respondent straightlined Q1 to Q10. If the respondent moves on without changing their answers, CallWeb accepts the straightlined answers because QFLAG contains a 1, thanks to the first test performed.

Identifying straightlining

Problem

You want to identify straightlining behaviour and you want to react to it.

Solution

Use the straightlined function in a Test pound instruction.

Discussion

Straightlining occurs when a survey respondent selects the same answer to a series of questions. Typically, this is seen as a way to speed through a questionnaire, not answering thoughtfully.

The straightlined function can test for this behavour and, coupled with the # TEST instruction, it can react to it. This function is used as follows:

    straightlined("Qn-Qm","QFLAG")

It returns a 1 if all answers from Qn to Qm are the same while disregarding empty answers (which would correspond to false display conditions, for example). QFLAG is an optional question name; if it is present two things happen:

  • first, a 1 is stored in that field if the test fails;
  • second, the test is not conducted if there is already a 1 in that field.

Couple this with a # TEST instruction and you get something like this:

    # Test WhateverName =
      #> [TRIGGER]Q1
      #> [CONDITION] { straightlined("Q1-Q10","QFLAG") }
      #> [MESSAGE]
      #> [EN]One answer to all questions? Click Next page again if this is what you want to do or revise your answers.
      #> [FR]Une réponse à toutes ces questions? Cliquez sur Page suivante si c'est ce que vous vouluez ou révisez vos réponses.
      #> [TYPE]TABLE

That will display the error message and the matrix (presumably) if the respondent straightlined Q1 to Q10. If the respondent moves on without changing their answers, CallWeb accepts the straightlined answers because QFLAG contains a 1, thanks to the first test performed.