Have an idea?

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

Is there a formula for calculating the zero-centered diffs?

Yesterday a client ask me about the meaning of zero-centered diffs. I was able to explain what they mean, but the client wanted to know exactly how these utilities are calculated. I told him, I will give him the formula in the upcoming days. I tried to calculate the ZC-Diffs from the part-worths of a HB/CBC estimation of a recent study, but was not able to get the right values for the ZC-Diffs. I already read the article from Sawtooth Solutions, 1999, Issue 10 and the explanation in die SSI Web Manual.

Can anybody help me with this issue, please? I would really appreciate it!

Thank you in advance,
asked Jun 4, 2014 by Frank

1 Answer

+1 vote
For each respondent...

1. Within each attribute, compute the mean utility.  Within each attribute, subtract the mean utility from each utility (this zero-centers the utilities within each attribute...which often doesn't have to be done since they are often already zero-centered in their raw form).

2. Then, for each attribute compute the difference between best and worst utilities.  Sum those across attributes.

3.  Take 100 x #attributes and divide it by the sum achieved in step 2.  This is a single multiplier that you use in step 4.

4.  Multiply all utilities from step 1 by the multiplier.  Now, the average difference between best and worst utilities per attribute is 100 utility points.
answered Jun 4, 2014 by Bryan Orme Platinum Sawtooth Software, Inc. (174,215 points)
Hi Bryan,

Couple of queries on the steps. Step 1 - is this within attribute across respondents or for each respondent across attributes? I have HB maxdiff raw utilites which already sums to 0 across attributes.

Step 2: Is this across respondents for each attribute or across attributes for reach respondent?
What are Diffs used for in ACBC?
What if preference order changes between raw values and zcd?

the above mentioned formula does not work for my estimation, when I try to reconstruct the calculation from raw to zcd values.

The following could play a role: What if I have
- an advanced design with primary and conditional attributes
- interactions
- dual-response none option
in my result table?

Can you please mention the exact formula for the multiplier which also applies for these cases?

Thank you in advance!
This does not work
this doesn't work - I don't get the same values and the Sawtooth Ouput  average differences do not sum to 100
Dear Monica,

Please call our tech support line at 801 477 4700 or Kenneth Fairchild, and we will step you through it.  Converting raw utilities to zero-centered diffs is usually quite straightforward if you have main effects estimation only.  If you have interaction effects or have fit a linear term (a linear slope to an attribute), there is something additional to consider.  But, we will be able to show you where it is going wrong for you.
This works when I calculate by the formula above but again, why doesn't the sawtooth output for Individual Utilities (ZC Diffs) match or sum Average sums to 100?

I want to know exaclty how sawtooth is going from the Individual (Raw) Utilities to the Zero-Centered ones

Within each respondent, zero-centered diffs finds the multiplier (and multiplies the raw utilities by this) such that the average difference between best & worst levels is 100 across attributes.  For example:

Imagine the raw utilities from HB are as follows for a given respondent:

Raw Utilities:
Attribute 1:
Level 1: -2.5
Level 2: +2.5

Attribute 2:
Level 1: -7.5
Level 1: +7.5

From the raw utilities, the range of utilities is 5 for the first attribute and 15 for the second attribute, for an average across the attributes of 10.  But, we want the average to be 100, so we would need to multiply by a factor of 100/10 = 10 so that the raw utilities are set on the right scale such that the average of the differences across attribute is 100.  Resulting in:

Zero-Centered Diffs:
Attribute 1:
Level 1: -25
Level 2: +25

Attribute 2:
Level 1: -75
Level 1: +75

Notice now for the zero-centered diffs, the difference for attribute 1 is 50 and for attribute 2 is 150.  Their average is 100.

But, when we average such utilities across people, the differences in utilities for the mean population utilities may not necessarily reflect the same 100 average difference.  That's because not all respondents have utility preferences running the same way, and differences in opinion for some attributes (like brand or color) can tend to cancel each other out when taking averages across people; but an attribute like price where most people agree regarding the direction of preference will not tend to cancel out.

So, the property that the average range across attributes is exactly 100 holds at the individual level, but not necessarily when examining a table of average "zero-centered diffs" across people.
Traditionally, one would use a utility and calculate the score as 100*(exp(utility)/(1+exp(utility)). Does Sawtooth/Lighthouse Studio provide that? All these are closely correlated, but is there a way to validate which one is the best approach: 100*(exp(utility)/(1+exp(utility)),  Zero-Anchored Interval Scale, Probability Scale, or raw utilities?
Is the number of attributes to calculate the multiplier also includes utility for the none option?

Thank you
The None utility is ignored when calculating the scaling multiplier for each respondent.  But, we do multiply the None utility by the scaling multiplier that was developed by referencing the other attributes.
Hi Bryan,

Could you provide some clarity around why we want the average difference between best and worst utilities per attribute to be 100 utility points? In other words, why do we want to multiply by the multiplier? I'm having trouble understanding why that is an important step and how the 100 point difference comes in as being important.

Thank you!
With MNL estimation, the magnitude of the utilities is inversely related to the response error.  So, in HB estimation, if one respondent answers with half the response error as another respondent, that respondent's utilities will all grow in magnitude by a factor of 2x compared to the second respondent.  For this reason, when we report average utilities, we are worried that different respondents will have different weight in the sample mean calculation depending on their response error.  So, to try to put respondents more-or-less on the same scale for reporting of average utilities, we have decided to choose a common scale and find the multiplier for each respondent that puts them on the same scale so each respondent gets essentially equal weight (pull) on the sample means.  We could have chosen 1, 100, 143, or whatever target value we wanted.  We chose 100 points to be the common "average" scaling of the utilities and find the multiplier for each respondent that makes the average difference between best and worst utilities for that respondent equal to 100.

When conducting market simulations, we use the raw utilities as they came out of the HB algorithm.  We don't use the normalized to 100-pt "zero-centered diffs" for computing shares of preference in market simulations.