Have an idea?

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

MBC design and number of tasks


I have a potential  MBC project for which the respondent will need to configure his "most preferred" service subscription (a baseline bundle and some additional options). the tricky point is that selecting the bundle and the additional options should be done on 2 different screens and the prices for some of the additional options vary depending not only on the initial baseline bundle but also on other additional options already selected (e.g if option A is selected, then option D will have a different price than as if option A not selected). while i understand we can use CBC to generate the design for MBC, I'm not clear how can i combine the alternatives generated by CBC into one single MBC task ...

At the same time, since respondent will need to go through 2 screens for each "menu", we are a bit worried that respondent will be reluctant to go through more than 3-4 MBC tasks - is there a way to calculate the number of mbc tasks needed? would it be safe to have respondent completing just one mbc task? (of course given we collect a lot more respondents)

Since not many attributes involved (around 6 only) i suggested to do it via CBC, but the client is insisting on MBC. Do you see any advantage in using MBC instead CBC? if so can anyone suggest how to generate the MBC design?

Thanks a lot for your feedback,

asked Jul 6, 2017 by marinicab (155 points)

1 Answer

+2 votes
Best answer
When I have to make MBC questions, I will create a CBC  for the design, but I will move all the CBC questions to take place after the terminate questions.

I will then create a Free Format question and loop over it with as many iterations in the loop as I want total MBC tasks.

The questions can be built something like this :

<thead class="tableHeader">
  <td width="32.5%"> Attribute </td>
  <td width="22.5%"> Product A</td>
  <td width="22.5%"> Product B</td>
  <td width="22.5%"> Option C</td>
<tr class="conceptRow">
  <td> [% Begin Unverified Perl CBCATTRIBUTELABEL("CBC_Random".LOOPITERATION(),1) End Unverified %] </td>
  <td> [% Begin Unverified Perl CBCDESIGNLEVELTEXT("CBC_Random".LOOPITERATION(),1,1) End Unverified %]</td>
  <td> [% Begin Unverified Perl CBCDESIGNLEVELTEXT("CBC_Random".LOOPITERATION(),2,1) End Unverified %] </td>
  <td rowspan="8"> Your current approach: <br>[% First %] </td>
<tr class="conceptRow">
  <td> [% Begin Unverified Perl CBCATTRIBUTELABEL("CBC_Random".LOOPITERATION(),2) End Unverified %] </td>
  <td> [% Begin Unverified Perl CBCDESIGNLEVELTEXT("CBC_Random".LOOPITERATION(),1,2) End Unverified %]</td>
  <td> [% Begin Unverified Perl CBCDESIGNLEVELTEXT("CBC_Random".LOOPITERATION(),2,2) End Unverified %] </td>

etc. etc. etc.

Each item has just a little bit of Perl to concatenate the name of the CBC Question with a number so it can properly reference the design.

If you loop over multiple questions you can easily reference the same design on both.

For all MBC tasks, there needs to be some recoding on the back end to make it work with the MBC software. The raw data output will be one line per respondent, but the MBC format requires one line per task.  So you will have to do some recoding in all cases.

For number of tasks, I agree, it will be hard to ask a respondent to do very many of this type of task, which is often true of MBC exercises. This usually needs to be compensated with large sample sizes to stabilize estimates. To get the number of tasks total (across all respondents), you can either run random data to get estimated standard error, or you can follow a similar rule of thumb to CBC and make sure each option is seen a certain number of times.

MBC certainly gives you more flexibility to design the choice exercise how you want it, but is tremendously more difficult than a CBC from beginning to end, since for MBC you will need a custom programmed survey, followed by a much more complicated analysis. If you can make it work as a CBC, it makes it easier for everyone, but sometimes MBC is the only way.
answered Jul 6, 2017 by Kenneth Fairchild Bronze Sawtooth Software, Inc. (3,095 points)
selected Jul 7, 2017 by marinicab
thanks Kenneth, much appreciated!

Right now i'm not convinced I'll script this in SSI as my html/perl knowledge are not that advanced, so will most likely use a "proper" web developer to do this.  however, regardless the scripting environment, for now I need to understand the process of getting from the several alternatives CBC generates for 1 task to 1 menu task. If I understand correctly your code, for each task, you're taking all the levels for a single attribute from all the alternatives from the design file and put them as "options" in the corresponding menu task, right?

thanks again,

The design needs depend a lot on the problem itself. Depending on the problem, sometimes completely random designs work the best, sometimes you can do all the design with one CBC design, sometimes 2 CBC designs, sometimes a CBC and a MaxDiff.  

The code above just shows how I use how I pull attributes and levels out of a design using the name of the conjoint and the current loop iteration. The specifics of using that in a specific MBC varies between MBCs.