math · pricing · statistics
Van Westendorp: four blunt questions and one elegant X
Aug 3, 2026 · 15 min read
Price is not a number. It's a feeling with edges.
Ask someone straight out what your product should cost and you'll get a shrug, or a number pulled from the air and defended for the rest of the conversation. Ask instead where the edges of what still feels acceptable are — the point where cheap turns suspicious, the point where expensive turns absurd — and people answer with startling consistency. They know their edges even when they don't know their number.
That's the observation the Dutch economist Peter van Westendorp turned into a method in 1976. His price sensitivity meter asks nothing about buying, market share, or competitors. It asks about your boundaries. Four times. Then it counts, for every price, how many people sit on which side of their own boundary, and out roll four curves that cross each other in four places. The output isn't a price. It's a range of defensible prices — which is a far more honest thing to hand someone.
The method is fifty years old, costs four questions, and works without asking respondents to pretend they're economists. That is the entire explanation of its stubborn popularity — and simultaneously the source of nearly every abuse of it.
Four questions that never mention buying
The wording here is not a detail. The wording is the method. Each question aims at a different boundary in the respondent's head.
- Too cheap — At what price is this so cheap that you'd start doubting the quality?
- Cheap (a bargain) — At what price do you consider this a bargain — good value for money?
- Expensive (but still worth considering) — At what price does this feel expensive, but you'd still consider it?
- Too expensive — At what price is this so expensive that you definitely wouldn't buy it?
Look at the first one. It feels strange — too cheap, is that a thing? — but it's doing the heavy lifting. Price is also a quality signal. Leave that question out and you lose the entire bottom of the picture, and cheaper starts looking monotonically better, which is false for everything from wine to consultancy.
And look at the asymmetry between three and four. "Expensive but still considerable" is a discomfort point. "Too expensive" is a rejection point. The gap between discomfort and rejection is exactly the room your price has to breathe in, and it's the reason the method yields a band rather than a dot.
What you actually collect
Not curves. A spreadsheet. Every respondent hands you four numbers — four thresholds on the same price axis. Here are twelve respondents from a sample study (a fictional monthly-subscription tool, amounts in euros):
| respondent | too cheap | cheap | expensive | too expensive |
|---|---|---|---|---|
| 1 | 12 | 15 | 19 | 42 |
| 2 | 13 | 14 | 24 | 25 |
| 3 | 10 | 16 | 24 | 36 |
| 4 | 11 | 17 | 27 | 46 |
| 5 | 12 | 14 | 27 | 50 |
| 6 | 10 | 19 | 30 | 40 |
| 7 | 16 | 24 | 35 | 41 |
| 8 | 9 | 15 | 38 | 39 |
| 9 | 20 | 22 | 41 | 47 |
| 10 | 15 | 25 | 48 | 82 |
| 11 | 15 | 36 | 51 | 78 |
| 12 | 21 | 36 | 60 | 93 |
Two things stand out, and both are structural rather than accidental.
First: every row increases from left to right. Too cheap < cheap < expensive < too expensive. That's not luck and not a property of this particular sample — it follows from the questions themselves. A respondent whose ordering breaks has misunderstood something, and dropping them is a standard cleaning rule rather than data massage.
Second: between respondents the spread is enormous. Respondent 1 already finds €19 expensive; respondent 12 waits until €60. There is no such thing as "the price". There's a cloud of personal anchors.
From points to curves
So how do forty-eight scattered dots become four flowing lines? In four steps — and only the last one has anything to do with smoothness.
Step 1 · an answer is a threshold, not a point
When respondent 5 says "€27 is expensive", they are not making a claim about €27. They're saying: everything from €27 upward feels expensive to me. A single answer therefore paints an entire half-line on the price axis, not a single point.
That's the whole trick. An answer is a switch that flips at some price and stays flipped:
\mathbb{1}[t_i \le p] = \begin{cases} 1 & \text{if } p \ge t_i \quad \text{(switch on)} \\ 0 & \text{otherwise} \end{cases}
with t_i the threshold of respondent i and p the price you're currently looking at.
Step 2 · summing over respondents gives you a cumulative
Want to know what share of the market finds €40 expensive? Count the switches that are on at €40 and divide by the number of respondents:
F_{\text{expensive}}(p) = \frac{1}{n} \sum_{i=1}^{n} \mathbb{1}\!\left[t_i^{\text{expensive}} \le p\right].
Do that for every price p and you have a function: the empirical cumulative distribution function. That is what a Van Westendorp curve is. No trend line, no model, no fit — just "count and divide by n", over and over.
This is also where the most common misreading lives. A Van Westendorp curve is not a demand curve, and it is not a percentage measured at one price. It's a running total. Which means it can never rise and fall in the same direction of travel: a cumulative is monotone by construction. If your curve looks bumpy, with little hills and valleys, something is broken in your arithmetic — not in your market.
Step 2b · so why do two of the curves run the other way?
Because the four questions don't point the same way. "Expensive" and "too expensive" are upper bounds: the higher the price, the more people have passed that boundary, so you accumulate from left to right. "Cheap" and "too cheap" are lower bounds: the higher the price, the fewer people still call it a bargain, so you accumulate from right to left.
F_{\text{expensive}}(p) = \frac{1}{n} \sum_i \mathbb{1}[t_i \le p], \qquad F_{\text{cheap}}(p) = \frac{1}{n} \sum_i \mathbb{1}[t_i \ge p].
Same dots, same summation, opposite direction. That is why you get an X instead of four parallel lines. The X is not an aesthetic choice; it's the consequence of two accumulation directions sharing one axis.
Step 3 · why it's really a staircase
Look again at those two lines. They aren't curves, they're staircases. And they have to be, because the arithmetic in step 2 cannot produce anything else.
Between two answers, nothing happens. Move from €31 to €34 with no answer in between and the counter doesn't budge: horizontal segment. Land exactly on an answer and the counter jumps by one respondent: a vertical step of 1/n.
At n = 12 every step is 1/12 \approx 8.3\%. Those are monstrous treads — you can't ignore them, they are the graph. The cumulative distribution of a finite sample is always a step function. Always.
Step 4 · and then it turns smooth anyway
Here's the part worth getting right, because it's two completely different phenomena that get conflated constantly.
Part A · more people means smaller treads (genuinely smooth). The step is 1/n tall. Double n and every tread halves. Go from 12 to 480 respondents and the treads are 1/480 \approx 0.2\% tall — thinner than the line you're drawing them with. The staircase is still there; it has merely become invisible.
Something second happens at the same time: more respondents also means more distinct answer values, so you get more treads, smaller, packed closer together. Statisticians have a theorem for this with a gloriously heavy name — the Glivenko–Cantelli theorem — which says the empirical step function converges uniformly to the underlying, genuinely smooth distribution of the population as n grows. In plain language: the staircase is your sample, the smooth curve is the market. More respondents move you from the first toward the second.
This is also the unglamorous reason Van Westendorp studies want at least a few hundred respondents. Not statistical machismo. At n = 30 you are literally staring at treads of 3.3% and pointing at intersections that move when one person changes their mind.
Part B · the drawing software lies a little (cosmetically smooth). And then the part nobody mentions. Even at large n, your data is a finite set of measured points — say one value per half-euro. Every plotting library connects those points with straight segments, or worse, with splines. At 480 respondents on a fine price grid that looks like a flowing curve, but part of what you're seeing is interpolation: invented in-between values.
Usually that's harmless. Twice it isn't:
- On coarse price grids. Ask respondents for round amounts (€10, €20, €30) and your real measurements sit tens of euros apart, with interpolation inventing everything between. Your intersection then comes out of a line segment, not out of data.
- When locating the intersections themselves. These are almost always computed by linear interpolation between two grid points. An optimal price point of "€28.70" does not have two decimal places worth of reality behind it; it has two decimal places worth of calculator.
The one thing to remember: smoothness comes from many respondents (real) and from lines drawn between points (cosmetic). Only the first makes your conclusion stronger. Anyone who sees a smooth curve and thinks "lovely, so it's reliable" has mistaken the second for the first.
The four intersections
Now all four curves at once. Where they cross, two groups of respondents are saying opposite things in equal measure — which is what makes those points interesting.
| point | crossing of | what it means |
|---|---|---|
| PMC — point of marginal cheapness | too cheap × expensive | Below this price you lose more customers to quality doubt than to sticker shock. The floor. |
| OPP — optimal price point | too cheap × too expensive | The price where the total number of rejections, for any reason, is smallest. The price of least resistance — which is not the same as the price of most profit. |
| IPP — indifference price point | cheap × expensive | As many people call it a bargain as call it expensive. Often lands near the category's going rate or the market leader's price — a positioning anchor, not advice. |
| PME — point of marginal expensiveness | too expensive × cheap | Above this price the balance tips toward rejection. The ceiling. Together with PMC it forms the acceptable range, €23.68–€33.75 in the sample above. |
That word "optimal" in OPP is the most damaging word in this entire field. It optimises acceptance — not revenue, and certainly not margin. We'll come back to the difference, because it's worth about twelve euros in the example.
Why the curves look the way they do
Four properties of the shape, and where each comes from. Once you can see these, you can read a price sensitivity chart in about ten seconds.
They're always monotone, and they can't be otherwise. A running total cannot shrink. Every price increase only adds respondents who say "expensive", never removes them. So the two expensive curves rise without exception and the two cheap curves fall without exception. The practical use: this is your free error check. A non-monotone curve means a bug in your computation — or in your questionnaire.
They flatten against 0% and 100%. At €4 nobody finds it expensive (0%) and everybody finds it too cheap (100%). At €76 the picture has flipped: 96% find it expensive and nobody still finds it too cheap. The curves get squashed against a ceiling and a floor at both ends, and everything interesting happens in the middle. That S shape is not a fitted sigmoid; it's what you automatically get when you accumulate a bounded quantity.
The steepness is the price sensitivity. This is the most useful property of the shape and the one most often skipped. A steep curve means respondents agree with each other: within a few euros the whole market flips. A flat curve means disagreement — your audience is several groups with very different price anchors.
With the steep curve there is one price, and it sits around €34: at €20 only 0.5% call it too expensive, at €50 already 99.8%. With the flat curve, 22% already object at €20 while 19% are still paying at €50. A single price there leaves money on the table by construction — that's the statistical fingerprint of a market that wants different tiers or packages.
They're right-skewed, and that's real. Look again at the four-curve chart: the right tails run much further out than the left side is steep. That's because price anchors work multiplicatively, not additively. Someone willing to pay twice the median is entirely ordinary; someone willing to pay half of nothing doesn't exist, because €0 is a hard floor. Price distributions are therefore almost always lognormal-ish, with a fat right tail. The practical consequence: the mean of price answers is misleadingly high. Work with medians and with the intersections, exactly as the method prescribes.
From "acceptable" to money
The four curves tell you what people think. Not what they do, and certainly not what you earn. One simple derived quantity gets you a step closer.
At every price, add up the people who reject it — either as too cheap or as too expensive — and take the remainder as a crude indication of willingness:
\text{willing}(p) = 100\% - F_{\text{too cheap}}(p) - F_{\text{too expensive}}(p).
Multiply that by the price and you have a rough revenue index. And then something happens that ought to open every pricing discussion:
The left curve peaks at the OPP, and that's no coincidence: the OPP is by definition the price with the fewest rejections, hence the most acceptance. But acceptance is not money. The right curve peaks nearly €12 higher — because the customers you lose at that higher price are more than paid for by what the remaining ones hand over. And this is still before margins: fold in variable costs and the optimum slides further right still.
The OPP is seductive because it produces exactly one number with the word "optimal" attached. That's irresistible on a slide. But what it minimises is objection, not foregone revenue. Pricing at the OPP is choosing the least argument — a legitimate choice, as long as you're making it on purpose.
Pitfalls, before you advise anyone
- No purchase intent is measured anywhere. Respondents tell you what they think, not what they do. An acceptable price is not a sale. Combine with Gabor–Granger or the Newton–Miller–Smith extension if you need demand volume.
- An under-described product. All four answers hang on the mental image the respondent has of your product. Vague description in, noise out. Same questionnaire, different picture, different curves.
- Too few respondents. Below roughly 150, your treads are tall enough that one person visibly shifts an intersection. Below 50 it isn't analysis, it's tea leaves.
- False precision in the intersections. They come from interpolation between grid points. Report a range ("€24–€34"), not an amount with cents. Add a bootstrap interval if you want to be honest about it.
- Segments blended together. A flat curve is usually not an uncertain market but a bag of segments. Split first — by industry, company size, country — then analyse again. The per-segment curves are often steep.
- Ordering never checked. Discard respondents whose four answers don't increase. That isn't cleaning the data to taste, it's a validity check: their answers contradict each other.
The recipe, in five lines
Should you want to run this on your own survey data:
- Drop respondents whose four answers aren't in increasing order.
- Pick a price grid finer than the spread of your answers.
- For each grid point p: count "expensive" and "too expensive" answers \le p, and "cheap" and "too cheap" answers \ge p. Divide by n.
- Find the four intersections; interpolate linearly between the two grid points where the sign of the difference flips.
- Report PMC–PME as a range, and don't present the OPP as "the price".
What to carry away
An answer is a threshold. That's why every answer counts for a whole stretch of prices, and why the output is a cumulative curve rather than a series of loose percentages.
The X comes from two accumulation directions. Upper bounds accumulate left to right, lower bounds right to left. Without that mirroring there are no intersections.
Smooth means many respondents. Every tread is 1/n tall. At n = 12 you see a staircase; at n = 480 you see a curve. The staircase never leaves — it just becomes thinner than your pen.
Smooth does not mean reliable. The last sliver of smoothness comes from lines drawn between measured points. Pretty curve on a coarse price grid means your intersection is interpolation, not measurement.
Steepness is the real story. Two curves with the same median can describe two completely different markets. Read the slope before you read the intersections.
Report a range. PMC–PME is the honest output. A single amount with cents claims a precision that four survey questions cannot deliver.
Van Westendorp, P. (1976). NSS Price Sensitivity Meter (PSM): A new approach to study consumer perception of prices. ESOMAR Congress. — The figures in this piece come from a synthetic sample of 480 respondents drawn from lognormal price anchors; the shapes and proportions are representative of what real studies look like, but no actual humans were surveyed.
Thoughts? Find me on LinkedIn.