Customized MaxDiff Questions with "Free Format"
Top  Previous  Next

Warning: This is an advanced feature that if not executed properly can result in errors in design, data collection, and analysis. It requires careful, manual checking of Free Format HTML syntax.

Some researchers may encounter situations in which they need to customize the look and layout of their MaxDiff or MPC exercises beyond that which is provided by the MaxDiff templates within the SSI Web System. The instructions provided here will help you customize the look of your MaxDiff exercise.

To implement your own question format, you'll use the Free Format question type. You'll insert a Free Format question directly above each standard MaxDiff question. Within these Free Format questions, you'll be able to display the items to be asked in each MaxDiff question (according to the experimental plan) in most any way you desire. Then, you'll use a special programming instruction to suppress the standard MaxDiff questions so they do not display.

The steps are as follows:

1) Add a Free Format question directly above its corresponding MaxDiff question. Assuming your standard MaxDiff exercises were named "MaxDiff" and your Free Format variables were named FFMD1, FFMD2, etc. you would specify:

FFMD1  
MaxDiff_1  
<page break----------------->  
FFMD2  
MaxDiff_2  
<page break----------------->  
etc.  

Please refer to the documentation on Free Format if you are not familiar with adding Free Format questions supporting radio buttons within your survey.

If you are applying Styles to your survey, you may wish to refer to the styles documentation to see how to make your Free Format MaxDiff questions use the style settings that are applied to standard MaxDiff questions.

2) In each Free Format question, name your radio button variables "_b" for best and "_w" for worst. For example:

FFMD1_b  
FFMD1_w  
FFMD2_b  
FFMD2_w  
etc.  

If you are only asking for a single response within your MaxDiff questionnaire (not asking for "worst"), then only add a variable capturing the single response as "_b".

3) In your Free Format HTML use the system functions described below:

To return the label (the text or graphic you specified) for the item to display:

MaxDiffDesignLabel(ExerciseName_MaxDiffQuestionName, Position#)  
 
For example:  
 
MaxDiffDesignLabel(Myexercise_MaxDiff_1, 3)  
 
returns the text for the item label for the item in the 3rd position of the question MaxDiff_1 (e.g. "Red")  

To return the value for the item displayed:

MaxDiffDesignValue(ExerciseName_MaxDiffQuestionName, Position#)  
 
For example:  
 
MaxDiffDesignValue(Myexercise_MaxDiff_1, 3)  
 
returns the item value for the item shown in the 3rd position within question MaxDiff_1 (e.g. "5"  
where red is the 5th item in the parent list)  

4) When specifying your Free Format radio text and value, you'll need to ensure that you associate the correct values and labels with the correct radio buttons. For example, the instructions below display a radio button before the first item text for the third MaxDiff question in an exercise. The first radio button collects the "best" answer, which is the item value selected best (you must store the item value for analysis to function properly). The second radio collects the "worst" answer, which is the item value selected worst.

(Note: we have aligned the text in this example to make it easier to check that the function calls are indexed properly with the correct variable names.)
                     <input name="FFMD3_b" type="radio"
  value="[%MaxDiffDesignValue(ABC_MaxDiff_3, 1)%]"> 
         [%MaxDiffDesignLabel(ABC_MaxDiff_3, 1)%]
                     <input name="FFMD3_w" type="radio"
  value="[%MaxDiffDesignValue(ABC_MaxDiff_3, 1)%]">

To display the second item for this question and capture the appropriate answers for best and worst questions, you'd specify:

                     <input name="FFMD3_b" type="radio"
  value="[%MaxDiffDesignValue(ABC_MaxDiff_3, 2)%]"> 
         [%MaxDiffDesignLabel(ABC_MaxDiff_3, 2)%]
                     <input name="FFMD3_w" type="radio"
  value="[%MaxDiffDesignValue(ABC_MaxDiff_3, 2)%]">

etc. for as many items as are displayed in the question.

5) It is critical that you very carefully check that you have incremented your variables and function calls properly: that the correct information is displaying on the screen and the correct information is being saved when the respondent clicks any button on the screen. It is useful to view the original MaxDiff question and your custom Free Format question together via the Local Test Server to make sure that the displayed text matches the design for each question. Next, you must verify that the correct item numbers are being saved within the Free Format variables corresponding with the buttons you choose. You can do this by checking your original HTML coding, or by viewing what is stored in the respondent record through the Admin Module. The value saved must correspond to the label shown.

We suggest you just create a single Free Format question and test its behavior first prior to copying and indexing the HTML for each MaxDiff question.

6) To remove the MaxDiff question so that it does not display to respondents, enter the following HTML comment into the Header1 of the MaxDiff question:


<!--  
 
SSI_Comment: CUSTOM_MAXDIFF_DESIGN  
 
Free_Format_Base_Name: FFMD  
 
Verification: ON  
 
-->  

This comment suppresses the original MaxDiff question so it does not display to the screen. It also instructs SSI Web to save the data from the Free Format question, specified by Free_Format_Base_Name, in place of the data for the original MaxDiff question. Make sure that you have the original MaxDiff questions and your corresponding custom Free Format questions on the same page. If your Free_Format_Base_Name: is "FFMD" then your Free Format questions should be named:

FFMD1  
FFMD2  
etc.  

By placing "Verification: ON" within the HTML comment, it instructs SSI Web to use the original MaxDiff verification for your Free Format question (ensuring that respondents do not mark the same item as both "best" and "worst"). To turn off verification use the following: Verification: OFF