Have an idea?

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

Price Ladder Questions

Zach,

I'm using the revised Price Ladder question from the Question Library.  First, you have done a FANTASTIC job incorporating all the things we've talked about before and it looks great.  I think my clients will be very happy with the overall look and feel.  I added a little code to show a message once the final price was reached and the exercise ended, but otherwise it looked great.

I've been testing and looking over how the data is stored.  I have 5 price points and I did add the additional variables to account for that as it instructed.  I've had some odd behavior in my data though.  What exactly is the the Fixed Response variable supposed to represent?  The Dynamic response seems to be correctly showing me what answer I chose, but in some cases the Fixed Response is different.  I also had one case where the I only answered 3 prices but there was a random value in the Fixed response for the 5th price.  I even had one case where everything was blank in the data.

I have removed the previous button just in case there was some bad behavior because of that (although I don't recall using it).

I'm going to be doing a bit more testing to see if I encounter other issues, but for now, I'm hoping you can explain the Fixed Response values for me.
asked Apr 20 by Jay Rutherford Gold (41,660 points)

1 Answer

0 votes
While the Dynamic variables record data in the order that respondents saw prices, the Fixed variables record data in the order that the prices were defined by the survey author.  So if a respondent started with the third price, their response would be recorded in _DynamicResponse1 and _FixedResponse3.  If that moves them to the first price, their next response gets recorded as _DynamicResponse2 and _FixedResponse1, and so on.  There was interest from users for recording responses in both of these ways, so I figured I'd just record it all; you can optionally remove any of those from the free format settings if you aren't interested in having the data formatted that way.

That ought to explain how you saw _FixedResponse5 answered despite only seeing three prices.  I'm not sure about your case with the data being blank.  Have you set the question to not require a response?
answered Apr 20 by Zachary Platinum Sawtooth Software, Inc. (171,950 points)
Try changing the update function to look like this:

    var update = function(position) {
        $('#[% QuestionName() %]_div .priceLadderingPrice').html(priceLabels[position - 1]);
        SSI_RadioReset('[% QuestionName() %]_Radio');
        $(qdiv).animate({
            'background-color': 'rgb(173,216,230,.2)'
        }, 1000, undefined, function(){
            $(qdiv).animate({
                'background-color': 'rgb(255,255,255,0)'
            }, 2000);
        });
    };


Those numbers can be tweaked to your liking.
Zach, thanks for the revised script.  I do have the prices in different colors, but is there any way to have the radio button selection show momentarily before the next price comes up?  With how you had it coming in from the side you do see the selection as it's moving.  That's the only other area that they may have an issue with.
I believe I recall that was an issue to change previously.  I have gotten my client to sign off as I have it now so it we can't adjust that, no biggie.  Thanks again.
This will add a one second delay after a response is given, which can be tweaked as well of course:

    var update = function(position) {
        var interval = setInterval(function(){
            $('#[% QuestionName() %]_div .priceLadderingPrice').html(priceLabels[position - 1]);
            SSI_RadioReset('[% QuestionName() %]_Radio');
            $(qdiv).animate({
                'background-color': 'rgb(173,216,230,.2)'
            }, 1000, undefined, function(){
                $(qdiv).animate({
                    'background-color': 'rgb(255,255,255,0)'
                }, 2000);
            });
            clearInterval(interval);
        }, 1000);
    };
FANTASTIC!  That really makes it all come together nicely.  Nice work!
...