Open navigation
OpenOpen workspace

Market research tool

Gabor-Granger pricing calculator

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

简体中文版

Revenue-maximising price

24.00of 5 tested

71.3% would buy at 24.00 (top-2-box)

19.00: 88.3% · 24.00: 71.3% · 29.00: 55.8% · 34.00: 41.0% · 39.00: 29.3%

Synthetic pricing study · 400 respondents · same data as “Use sample data”

The Gabor-Granger method asks respondents whether they would buy a product at each of a set of specific prices. The share who would buy at each price is a demand curve; multiplying by price gives expected revenue per respondent, and the tested price with the highest revenue is the revenue-maximising price. Elasticity between neighbouring prices shows where demand turns sensitive.

Run Gabor-Granger on your data

Open a respondent-level file with one column per tested price (purchase intent on a rating scale, or yes/no), tick the price columns, check the price each column stands for, and choose what counts as "would buy". The analysis runs in this browser tab — free, no account, and the file is never uploaded. "Use sample data" loads a synthetic subscription study with 5 tested prices.

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.

Demand, revenue and elasticity

Demand at a price is the weighted share of respondents with an answer at that price who pass the "would buy" rule (top-2-box by default, for example 4 or 5 on a 5-point scale). Prices a respondent was not asked are filled from their other answers by default (a "would buy" carries down to lower prices, a "would not buy" up to higher ones), so adaptive ladders are not biased towards the people who reached each price. Revenue is price × demand, shown as an index where the best tested price is 100. The calculator reports only tested prices; it does not assume a value between them.

Elasticity is the arc (midpoint) elasticity between neighbouring prices. Demand should never rise with price: the tool counts respondents who would buy at a higher price but not a lower one (they can be excluded) and warns when aggregate demand rises between two prices, which usually means a column has the wrong price. For crosstabs of intent by segment, use the survey crosstab tool.

The method

Formula

Definition

Demand(p) = Σ wᵢ · 1[i would buy at p] / Σ wᵢ Revenue(p) = p × Demand(p)

where

wᵢ
respondent weight (1 when unweighted), over respondents with an answer at price p, given or filled from their own ladder
Revenue index
100 × Revenue(p) / maxₚ Revenue(p)
Arc elasticity
[(D₂ − D₁) / ((D₁ + D₂)/2)] ÷ [(p₂ − p₁) / ((p₁ + p₂)/2)] between neighbouring tested prices

Worked example

Worked example

In the synthetic sample (400 respondents), purchase intent is rated 1–5 at prices from 19.00 to 39.00. Counting 4 or 5 as "would buy", demand falls from 88.3% at 19.00 to 71.3% at 24.00 and 29.3% at 39.00.

Revenue per respondent peaks at 24.00, where 71.3% would buy. Elasticity is -0.92 between the two lowest prices and -2.44 between the two highest: demand becomes more price-sensitive as price rises. 30 respondents would buy at a higher price but not at a lower one — normal survey noise at this level, flagged by the monotonicity check.

The "would buy" rule matters: counting only 5 (top-box), demand at 19.00 is 48.3% and revenue peaks at 19.00. Top-box is the more conservative reading of stated intent.

Using it well

When to use it

Use it when

  • Use: You already have a short list of candidate prices and need demand and revenue at each.
  • Use: Checking how sensitive demand is around the current price before a price change.
  • Use: Each respondent rated purchase intent (or yes/no) at every tested price.

Not the right tool when

  • Avoid: You do not yet know the plausible price range — start with the Van Westendorp price sensitivity meter.
  • Avoid: Competitor prices or product features drive the choice — use a choice-based conjoint instead.
  • Avoid: You need absolute sales forecasts: stated intent overstates real purchase and needs calibration.

How to interpret it

Rule of thumb

Read the revenue index, not demand alone: the cheapest price always sells to the most people, but revenue peaks where an extra price step loses proportionally fewer buyers than it gains in price (elasticity above −1). Stated intent runs high, so compare prices with each other rather than treating the shares as forecasts. To find the price range to test in the first place, use the Van Westendorp price sensitivity meter.

Questions

Frequently asked questions

How should the survey ask Gabor-Granger questions?

Show the product and ask purchase likelihood at one price at a time, usually on a 5-point scale from 'definitely would not buy' to 'definitely would buy', or as yes/no. Classic Gabor-Granger starts at a random or high price and moves down after a 'no' or up after a 'yes'. The calculator needs one column per tested price, with blanks where a price was not shown. By default it fills those blanks from the respondent's own ladder — would buy at a price means would buy at every lower blank price, would not buy means would not buy at every higher blank price — so demand at each price covers everyone, not only the people who happened to be asked it. Given answers are never changed, a blank with conflicting evidence stays blank, and the number of filled cells is reported. Untick the option if every respondent saw every price.

Which 'would buy' rule should I use?

Top-2-box (4 or 5 on a 5-point scale) is the common default. Top-box counts only 'definitely would buy' and gives lower, more conservative demand. Use the yes/no rule when each price column is already 1/0 or yes/no.

What is arc elasticity?

The percentage change in demand divided by the percentage change in price, each measured against the midpoint of the two prices so the result is the same in either direction. Below −1, demand is elastic: raising the price from the lower to the higher point loses revenue.

What does the monotonicity check do?

Demand should not rise with price. The tool counts respondents who would buy at a higher price but not at a lower one and can exclude them, and it warns when the overall would-buy share rises between neighbouring prices.

Why is the revenue-maximising price always one of the tested prices?

Only the tested prices were asked, so the calculator does not interpolate demand between them. If revenue is nearly flat between two neighbours, test intermediate prices in the next wave.

Sources and next steps

References & further reading

  1. [1]Gabor, A., & Granger, C. W. J. (1966). Price as an indicator of quality: Report on an enquiry. Economica, 33(129), 43–70.

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