Open navigation
OpenOpen workspace

Market research tool

MaxDiff analysis

Published by crosstabs.com · Last updated ·
How results are checkedNamed statistical review pending. Selected automated reference cases are published on the validation page.

简体中文版

Most important snack claim

22.2of 100 points

Great taste, then Low price (14.3)

Probability-rescaled scores · aggregate best–worst logit · 10 items · McFadden R² 0.132

Synthetic sample · 300 respondents · same data as “Use sample data”

MaxDiff (maximum difference or best-worst scaling) asks respondents to pick the best and the worst item in a series of small sets. Because every answer is a trade-off, it avoids the "everything is important" flatness of rating scales. A multinomial logit model turns the picks into utilities, and probability-rescaled scores put every item on a 0–100 scale where 20 means twice as preferred as 10.

Run MaxDiff on your data

Open a respondent-level file — one row per task with the items shown and the best and worst picks, or one row per item shown with best and worst flags — and the scores appear at once. Hierarchical Bayes runs on request in a background thread of this tab: free, no account, and the file is never uploaded. "Use sample data" loads a synthetic study of 300 snack buyers rating ten product claims. Still planning the survey? Build balanced sets with the MaxDiff design generator: its data template opens here without any column setup.

CSV, Excel, SPSS, Stata, SAS, R, Parquet, SQLite or JSON. The file is read in this browser tab and never uploaded. For Triple-S, select the .sss or .xml metadata file and its data file together.

Counts, aggregate logit and hierarchical Bayes

Counts — (times best − times worst) ÷ times shown — need no model and are a good first check, but they depend on which items happened to share a set. The aggregate logit models each best pick as a choice among the items shown and each worst pick as a choice among the items left (sequential best-worst), giving one utility per item for the average respondent with standard errors.

Hierarchical Bayes (HB-MNL) estimates a separate utility set for every respondent by borrowing strength from the whole sample: individual utilities are drawn from a multivariate normal whose mean and covariance are estimated at the same time. The tool uses Metropolis-within-Gibbs sampling with 10,000 burn-in and 10,000 saved iterations by default, a fixed seed so results are reproducible, and reports root likelihood, acceptance rate and a split-half R̂ to check convergence. Individual utilities feed the simulator and the per-respondent CSV export. For tabulating the scores by segment, use the survey crosstab tool.

The method

Formula

Definition

P(best = i | S) = exp(uᵢ) / Σⱼ∈S exp(uⱼ); P(worst = k | S∖{i}) = exp(−uₖ) / Σⱼ∈S∖{i} exp(−uⱼ)

where

S
the set of items shown in one task
uᵢ
utility of item i, zero-centred across items
Rescaled score
100 · pᵢ / Σ p, with pᵢ = exp(uᵢ) / (exp(uᵢ) + a − 1) for a items per task — the chance item i is picked best against average items
HB
βₙ ~ N(b, D) per respondent; b and D get normal and inverse-Wishart updates, βₙ a Metropolis step

Worked example

Worked example

In the synthetic sample, 300 respondents each completed 8 tasks of 5 claims, so every claim was shown 1200 times in total. Great taste was picked as most important 590 times and least important 27 times — a count score of 0.47.

The aggregate logit (McFadden R² 0.132) ranks Great taste first with a rescaled score of 22.2 of 100, followed by Low price (14.3) and Natural ingredients (14.2). Locally made trails at 3.0: on a ratio scale, great taste is 7.4 times as important.

Simulating the top three claims as a shortlist, they take 58.5% of the share of preference across all ten; within the shortlist, Great taste gets 51.4%. Run HB on the sample to see that a health-focused minority rates natural ingredients, low sugar and organic far higher than the average suggests — exactly what an aggregate model hides.

Using it well

When to use it

Use it when

  • Use: Prioritising claims, features, benefits or messages where rating scales come back all "important".
  • Use: Between about 8 and 40 items, shown 3–6 at a time, with each item appearing about three or more times per respondent.
  • Use: You want individual-level scores to segment respondents or feed a TURF-style shortlist.

Not the right tool when

  • Avoid: Items are full products with prices and attributes — use choice-based conjoint instead.
  • Avoid: You need absolute purchase intent: standard MaxDiff scores are relative, so the best of a weak list still scores high.
  • Avoid: Very few tasks per respondent (fewer than each item twice): HB has little individual information to work with.

How to interpret it

Rule of thumb

Read rescaled scores as ratios: an item at 20 is twice as preferred as one at 10, and with ten items the average is 10. Prefer HB means over the aggregate logit when respondents disagree, and check the diagnostics — RLH well above chance and R̂ at or below 1.1 — before acting on individual scores.

Questions

Frequently asked questions

What data layout does the MaxDiff tool need?

Either wide — one row per task with a respondent ID, a column for each item shown, and best and worst columns holding the item text (or code) or its position in the task; the “Best/worst columns contain” setting picks which, and by default it is detected once for the whole file — or long — one row per item shown with respondent, task, item, and best and worst flags (1 = picked; or one column coded 1 for best and −1 for worst).

What are probability-rescaled scores?

For each respondent, every utility u becomes exp(u) / (exp(u) + a − 1), where a is the number of items per task: the probability the item is picked best in a set with average items. Scores are then normalised to sum to 100 and averaged across respondents. They are ratio-scaled and easier to explain than raw logit utilities.

How is the hierarchical Bayes model estimated?

With a Metropolis-within-Gibbs sampler: each respondent's utilities get a random-walk Metropolis step whose size is tuned toward 30% acceptance during burn-in; the population mean gets a normal draw and the covariance an inverse-Wishart draw (prior variance 1, degrees of freedom = parameters + 5). Utilities are posterior means over the saved draws. A fixed seed makes runs reproducible.

Will HB freeze my browser?

No. HB runs in a Web Worker with a progress bar and a cancel button, so the page stays responsive. Very large runs are refused before they start (at most 5,000 respondents and 60 parameters); a typical study of 300 respondents and 10 items takes a few seconds.

Is my data uploaded?

No. The file is read and analysed in this browser tab, and exports are created on your device. No account is needed.

Sources and next steps

References & further reading

  1. [1]Louviere, J. J., Flynn, T. N., & Marley, A. A. J. (2015). Best-Worst Scaling: Theory, Methods and Applications. Cambridge University Press.doi.org
  2. [2]Rossi, P. E., Allenby, G. M., & McCulloch, R. (2005). Bayesian Statistics and Marketing. Wiley.doi.org
  3. [3]Orme, B. K. (2009). MaxDiff Analysis: Simple Counting, Individual-Level Logit, and HB. Sawtooth Software Research Paper.

Try it on your own data — free, no signup

Upload a CSV, Excel, SPSS, Stata, SAS, R, Parquet or JSON file. Everything runs in your browser; your file never leaves your device.

Open the workspace →

← All calculators & guides