Have an idea?

Visit Sawtooth Software Feedback to share your ideas on how we can improve our products.

Display a specific CBC choice set after completing CBC

Could someone advise on how to achieve this….
I am running a lab experiment with a (10 task) CBC component (called ‘choice’).
To increase the consequentality we will generate a random number (1 – 10) after the choices have been made, and that task will be consequential.
We will ask respondents to enter the random number (generated by us, shared by all respondents)  into a numeric question (‘rand’).
We want the CBC set and the respondent’s choice to be displayed on their screen
ie if rand=5, display their 5th choice set, with their choice visible, and this choice to not be changeable by the respondent.


A related request…..
the value of a numeric pass-in variable (‘buy’) should be assigned a (0,1) value: =0 if they choose the opt-out (option 4), and =1 otherwise.
So something like the code below, but the choice set determining the value of ‘buy’ is set by the value of rand.

thanks
Dan

 
[% Begin Unverified Perl
my $a=1;
if(VALUE("choice5")==4)
{
  $a=0;
}
SETVALUE("buy",$a);
End Unverified %]
 
asked 5 days ago by dan r Bronze (4,645 points)
I'm a little confused here.  What does it mean for a task to "be consequential"?

What do you mean by the random number being shared by all respondents?  So all respondents would see the fifth task again at the end, for example?

Why is there a numeric question for respondents to enter the random number that we are choosing?  What happens if they don't enter the correct value?

Based on your last paragraph, this follow-up question is a four-item select question, right?
Hi Zachary
I'll answer each of your questions below.....
thanks
Dan

Consequential means binding, ie if you selected to buy (a version of) the product in the subsequently randomly selected choice set (eg set 5), then you are expected to buy it.

The intention is to reduce hypothetical bias (its a common approach in Econ and Psych experiments, but harder to implement in a CBC because you need to be able to provide the many possible variants of the product generated by the CBC design).

Yes, a single random number generated on the screen in the lab for all to see, so they would all re-view the same random set (as in, the 5th set if a 5 is generated) once they enter a value of 5  in the 'rand' question.

What if they do not enter the correct value?
- we will be able to see from the Admin Module if anyone has not entered 5 correctly.
This is a lab experiment - we are in the room with the respondents
  
"this follow-up question is a four-item select question, right?"
No, they enter a 1-10 in ‘rand’ based on the random number we generate.

The perl at the end is to generate a buyer /nonbuyer (0,1) var.

That requires 2 pieces of information:
1.    Which set has been randomly chosen (eg 5th set)
2.    Did they choose option 1,2 or 3 in that set (in which case buy=1) or option 4 [opt out] (in which case buy=0)

Hope that clarifies things
thanks
Dan
Okay, so the random number generation isn't part of the survey at all.  You're choosing a random number on your own and the survey programming just needs to take in that number and display the right task - just without the buttons for changing the response.

Then when the respondent sees this task, we record a value behind the scenes as to whether or not the selected concept of this task was option 4 or not.  I think I've got that all right?

1 Answer

0 votes
Perhaps I'm off on some of the lesser details, but I think we can start by modifying "Custom CBC" from the Community Question Library:

https://sawtoothsoftware.com/resources/question-library/custom-cbc

For the first modification, look for "# Find CBC task name" in the HTML and replace that area so it looks like this:

# Find CBC task name
sub findCbcTaskNameAndPosition {
    my $selectedTask = GETVALUE('Q1');
    return ($nameOfCbc . "_Random" . $selectedTask, $selectedTask);
}

# Generate HTML


"Q1" should be replaced by the name of the numeric question.

For the second modification, add this to the end of the HTML:

<style>
.attribute_label_column,
.cbc_concept {
    padding-bottom: 24px;
}

.cbc_response_cell {
    display: none !important;
}
</style>


Does this produce about what you visually want on the page?
answered 3 days ago by Zachary Platinum Sawtooth Software, Inc. (214,575 points)
Thank you Zachary, will get on this and feed back

Dan
...