The ranking series
widget allows respondents to rank a specified number of favorite items within a list of choices. Similar to a MaxDiff exercise, the list of choices will be broken into sub-groups to display to the respondent, allowing them to rank their X number of top choices on each screen, and eventually ending in a "tournament" in which the favorites from each sub-set "compete" against each other for top rankings.
Why use ranking_series?
While MaxDiff exercises work well to determine which attributes or items are most desirable on a given topic, they dedicate as much time into determining which are least desirable/worst as they do to determining which are most desirable/best. The ranking series
widget, on the other hand, asks respondents to rate the top items (typically the top two) on each page, and therefore gathers more information about the respondent's preferred items. In addition, the ranking series ends with "play-off" rounds that compare the items with the highest ratings so far, again gathering more information comparing the top items. Like the maxdiff
widget, ranking series
can use lists or sheets for options, and it does allow for subsets of elements specified through inclusion and exclusion logic.
Rather than working from a pre-set model, ranking series
is dynamic. The first few selections will be random, but as the exercise continues, the widget chooses the necessary items to allow the respondent enough information to rate the top items. Depending on the respondent's choices and how the items are randomly grouped, some respondents will view more selection screens than others. A rank variable will be created for each item in the list, with intermediate variables also created to help track selections on each page and to determine the sets of items to show in the exercise.
Click here for more on general ranking questions.
Tip! SPs should note that ranking_series
works best for cases with less than 40 elements.
Syntax
# Basic 'ranking series' usage set list: LIST1 1. Item 1 2. Item 2 . . . N. Item N create ranking series: R intro: Rank your favorite N items in each group, in order. items from: LIST1 group size: X {# of items to show in each grouping} show each: N {min times to show} rank: N {# of items to rank each time} shuffle: n # Using sheets with 'ranking series' with sheet "ranking_list"; includes optional 'instruct' and turns on 'shuffle' for random order. create ranking series: S intro: Rank your favorite N items in each group, in order. instruct: Optional instructions here. items from: survey_name.ranking_list group size: 4 show each: 3 rank: 3 shuffle: y
Caution! Since each item may be shown multiple times based on the number specified with the show each
tag, larger lists may not be ideal for use with ranking series
. Consider first asking a screening question with the list items to pare down the list, then those items can be evaluated with the ranking series
widget.
See example below for further details.
Tags
The following tags are commonly used with the ranking series
widget.
Tag | Description |
---|---|
instruct/instructions |
Optional tag used to provide instructions to the respondent. |
group size |
Specifies the number of items displayed in each grouping. |
show each |
Specifies the minimum number of times each item should be displayed. After each item has been displayed the minimum number of times, it picks the top items, enough to fill two pages, and displays them again to determine a final winner. |
rank |
Specifies the number of items to be ranked in each grouping. |
shuffle |
Optional; works similar to the If the desire is to randomize the list order, simply leave off the |
audit |
Attaching This tag should not be used for live surveys. |
Examples
Basic
The following example asks respondents to rank in order their favorite two fruits and/or vegetables, with list items being displayed in groups of five. The shuffle is disabled (shuffle: n
) here to show that all items will be displayed only once until all items have been displayed once. Since items are displayed in groups of five and there are 28 items, the final "original" grouping will display two options for their second time so that one group of three isn't displayed to the respondent.
Leading with a screening question
Although the above example's list is manageable for ranking series
, with a list size of 28 items grouped into groups of five where each is to be shown twice, this question will still take some time to get through. There will be at least 12 pages shown to respondents (6 pages to get through the list once, with each item shown a minimum of 2x's) before the "tournament" begins, which will generally be another two pages of responses, and this doesn't include an attention check page. In other words, respondents would cycle through a minimum of 15 pages for a single question. In order to prevent respondent fatigue, programmers can add in a screening question first to reduce the list size and make the question more manageable for the respondent.
The shuffle
tag has been removed to keep the display order of the list items random in the ranking question.
Using decorators for inclusion/exclusion
List items may include either Boolean or string text decorators in order to limit which sub-groups of a list are displayed to the respondent. The example uses an extended version of the list ITEMS, where each item is coded as either a fruit ({{ FRUIT: 1 }}
) or not ({{ FRUIT: 0 }}
). The condition decorator { if [FRUIT] }
applied to the list call for ITEMS2 will only allow items identified as fruit to be displayed and ranked.
Using sheets
Depending on the length of the list to be used with ranking series
, it might be more desirable to use a spreadsheet instead of a list within the source code - especially if conditions may be applied to use subsets of the list. In the following examples, the spreadsheet fruitveglist provides a list of fruits and vegetables (see expand). In order to determine which items should be pulled in as 'fruit' or not, the column header 'food_type' is added, with each item being labeled "fruit" or "veg".
[insert spreadsheet here]
In order to evaluate the string descriptions for each item, a conditioned element decorator is used to either call in all the items labeled as fruit - {if [food_type] eq 'fruit'}
- or not fruit - {if [food_type] ne 'fruit'}
.
The above examples would also work with a Boolean column instead, e.g., renaming "food_type" as "fruit" and applying 1's and 0's to each fruit and non-fruit, respectively. To then use only fruit options in the list call, instead use the conditional decorator [ if [fruit] ]
, similar to the Boolean list example above.
Comments
0 comments
Please sign in to leave a comment.