FreeStatisticalTools.com
Marketing research

Gabor-Granger Pricing Analysis

Find the price that maximises revenue or profit. Respondents say whether they would buy at several prices; the tool builds the demand curve, smooths it with a logistic model, and finds the best price with its elasticity.

Free · No sign-upReplaces Qualtrics · SurveyMonkeyWorks with your data
Updated · By Bibin Xavier

Data 220 × 8

Paste from Excel, or drop a CSV, TSV or Excel file here.
Example data 220 rows, 8 variables. Data stays in this browser tab.
Respondenttext · 220 levelsBuy_at_19numeric · codedBuy_at_24numeric · codedBuy_at_29numeric · codedBuy_at_34numeric · codedBuy_at_39numeric · codedBuy_at_44numeric · codedBuy_at_49numeric · coded
R0010000000
R0021111000
R0031111000
R0041110000
R0051000000
R0061110000
R0071111000
R0081111000

Variables and options

Price columns 7 selected · min 2
The price is read from the last number in each column name, e.g. Buy_at_29 or P_12.99.
Results update automatically when you change an option.

Results

220 rows · example data
Revenue-maximising price24.48logistic demand curve
Share buying at that price81.7%
Profit-maximising price28.00unit cost 12.00
Price elasticity at that price-1.01
Table 1

Demand at each price

PricenWould buyShare buying95% CIMonotone demandRevenue indexProfit indexArc elasticity
19.0022020794.1%[90.2%, 96.5%]94.1%90.560.9—
24.0022018182.3%[76.7%, 86.8%]82.3%100.091.3-0.58
29.0022014063.6%[57.1%, 69.7%]63.6%93.5100.0-1.35
34.002209744.1%[37.7%, 50.7%]44.1%75.989.7-2.29
39.002206529.5%[23.9%, 35.9%]29.5%58.473.7-2.88
44.002202812.7%[9.0%, 17.8%]12.7%28.437.6-6.60
49.00220167.3%[4.5%, 11.5%]7.3%18.024.9-5.07

Note. Monotone demand applies the pool-adjacent-violators algorithm so that demand never rises with price. Revenue index = price × monotone demand, scaled to a maximum of 100. Arc elasticity = % change in demand / % change in price between adjacent prices.

Table 2

Logistic demand model

TermCoefficientSEzp
Intercept19.0500.94920.07< .001
ln(price)-5.4900.270-20.31< .001

Note. P(buy) = 1 / (1 + e−(a + b ln p)), fitted to 1,540 respondent × price answers; McFadden R² = .321. The point elasticity of demand is b(1 − P).

Demand curve and revenue

Interpretation

Demand falls from 94.1% at 19.00 to 7.3% at 49.00. On the smoothed demand curve, revenue is highest at a price of 24.48, where 81.7% would buy; among the tested prices, 24.00 gives the highest revenue. With a unit cost of 12.00, profit is highest at 28.00. At the revenue-maximising price the point elasticity is -1.01, as expected at a revenue maximum (−1).

In a Gabor-Granger price test (1,540 responses across 7 prices), the share willing to buy declined with price, b = -5.49 for ln(price), p < .001. Expected revenue was maximised at 24.48 (81.7% purchase intent).

How to cite this tool

Using these results in a thesis, journal article, report or class assignment? Please cite this free tool so others can find it. It keeps the site free.

APA 7

Xavier, B. (2026). Gabor-Granger Pricing Analysis [Web application]. FreeStatisticalTools.com. https://freestatisticaltools.com/gabor-granger-pricing/

BibTeX

@software{xavier_gaborgranger_2026,
  author = {Xavier, Bibin},
  title = {Gabor-Granger Pricing Analysis},
  publisher = {FreeStatisticalTools.com},
  year = {2026},
  url = {https://freestatisticaltools.com/gabor-granger-pricing/},
  note = {Web application}
}
Download citation:

Suggested sentence for your methods section: “The analysis was carried out with the free Gabor-Granger Pricing Analysis tool on FreeStatisticalTools.com (Xavier, 2026).”

What is the Gabor-Granger method?

The Gabor-Granger method asks respondents whether they would buy a product at a series of prices. This calculator turns the answers into a demand curve, smooths it with a logistic model in log price, and finds the revenue-maximising and profit-maximising price together with the price elasticity of demand.

When to use the Gabor-Granger method

Use Gabor-Granger when you have a short list of candidate prices for an existing or well-defined product and want the demand curve and the revenue-maximising price.

Assumptions

  • Stated purchase intent overstates real buying; compare prices with each other rather than reading the shares as forecasts.
  • Each respondent sees the same product and is asked about each price (in random or sequential order).
  • The logistic curve assumes demand falls smoothly with log price.

How to set up your data

Either one row per respondent with one column per price (column names such as Buy_at_29 hold the price) containing 1 = would buy and 0 = would not, or a 1–5 likelihood scale with a threshold; or long data with one row per respondent and price.

What the Gabor-Granger method is

The Gabor-Granger technique, developed by the economists André Gabor and Clive Granger in the 1960s, is the most direct way to measure price sensitivity in a survey. Respondents see a product and are asked whether they would buy it at a given price. The question is repeated at several prices, either in a fixed sequence (start high and go down until the answer is yes, or start in the middle and move up or down) or in random order. The answers trace out a demand curve: the share of people who would buy at each price. Multiplying price by demand gives a revenue curve, and its peak is the revenue-maximising price.

Compared with Van Westendorp, which asks people to name prices, Gabor-Granger tests prices you choose, so it is best when you already know the plausible range (for example from a Van Westendorp study, competitor prices or costs) and want to pick a specific price. Compared with choice-based conjoint, it is much simpler to design and analyse but does not show competing products or trade-offs between features and price.

What this calculator does

  1. Reads the answers in either of two layouts: one column per price with the price in the column name (Buy_at_29, Price_12.99, P49), or long data with one row per respondent and price. Yes/no answers coded 1/0 work directly; likelihood scales work with a threshold, for example 4 or more on a five-point scale (“probably” or “definitely would buy”).
  2. Builds the observed demand curve: for each price, the number and share of respondents who would buy, with a 95% Wilson confidence interval.
  3. Makes demand monotone. Sampling noise can make demand go up slightly as price rises, which is not plausible. The pool-adjacent-violators algorithm (isotonic regression) adjusts such pairs to their weighted average so that demand never increases with price. Revenue and profit indices use this monotone curve.
  4. Fits a smooth logistic demand model: P(buy) = 1 / (1 + e−(a + b ln p)), estimated by logistic regression on all respondent × price answers. The smooth curve lets the tool find the optimal price between the tested points, not just at them.
  5. Finds the optimal prices: the revenue-maximising price (maximum of p × P(buy)) and, if you enter a unit cost, the profit-maximising price (maximum of (p − cost) × P(buy)).
  6. Reports elasticity: the arc elasticity between each pair of adjacent prices and the point elasticity of the logistic curve, b(1 − P). At the revenue-maximising price the point elasticity equals −1, the textbook condition for maximum revenue.

Worked example with the built-in data

The example simulates 220 respondents asked about seven prices from 19 to 49. Demand falls from 94% at 19 to 7% at 49. Among the tested prices, 24 gives the highest revenue index. The logistic curve (b = −5.49 for ln price, McFadden R² = .32) places the revenue maximum at about 24.5, where around 82% would buy, and the point elasticity there is −1.01. With a unit cost of 12, the profit-maximising price is higher, at 28, because each sale is worth more at a higher margin and losing some buyers is acceptable. This gap between the revenue and profit optima is typical and is why entering the cost matters.

Designing a Gabor-Granger question

  • Choose 5 to 8 prices that span the plausible range, with the expected price near the middle. Too narrow a range may put the optimum at the edge (the tool warns when this happens); too wide a range wastes questions on prices no one would choose.
  • Use equal or proportional steps, for example 10% apart, and realistic price endings.
  • Decide on the order. Sequential designs (stop once the respondent says yes) are shorter but can create anchoring; random order avoids anchoring but takes longer. In sequential designs, fill in the logically implied answers before analysis: someone who would buy at 34 would also buy at 29.
  • Use a clear product description and, if possible, mention the competitive context.
  • Sample size: 150–300 respondents gives demand shares within about ±5–8 points.

Interpreting the results

Stated purchase intent is almost always higher than real purchase rates, so do not read the shares as forecasts of market share. What is usually stable is the shape of the curve: how quickly demand falls as price rises. The revenue-maximising price is therefore a good relative guide, especially when comparing concepts or segments in the same study. Many researchers apply a calibration (for example counting only “definitely would buy”, or discounting “probably” answers by half) before using the curve for volume forecasts.

Look at where demand drops most steeply: the largest arc elasticities show the price thresholds that customers react to, often round numbers such as 29.99 → 34.99. If the profit-maximising price lies far above the revenue-maximising price, the trade-off between volume and margin is large and strategic considerations (market share goals, competitive response, lifetime value) should drive the final choice.

Common pitfalls

  • Optimum at the edge of the range: test a wider range rather than extrapolating the curve.
  • Mixing products: run the analysis separately for each product or concept.
  • Ignoring segments: price sensitivity often differs strongly between new and existing customers or between countries; filter the data and rerun.
  • Forgetting variable costs: revenue maximisation is rarely the right goal for a business; enter the unit cost.

Reporting

Report the prices tested, the sample size, how “would buy” was defined, the share buying at each price, the revenue- (and profit-) maximising price and the elasticity. Example: “In a Gabor-Granger test with seven prices from 19 to 49 (N = 220), the share willing to buy fell from 94.1% to 7.3%. A logistic demand model (b = −5.49 for ln price, p < .001) placed the revenue-maximising price at 24.48.”

Glossary of pricing research terms

  • Demand curve: the share of potential customers willing to buy at each price.
  • Revenue index: price × demand, scaled so that the highest value is 100, used to compare prices.
  • Profit index: (price − unit cost) × demand, scaled the same way.
  • Arc elasticity: the % change in demand divided by the % change in price between two tested prices.
  • Point elasticity: the elasticity at one price on the smooth demand curve, b(1 − P) in the logistic model.
  • Isotonic regression: a method that adjusts estimates so they never increase with price, removing implausible bumps.
  • Price threshold: a price point where demand drops sharply, often at round numbers.
  • Stated vs revealed preference: answers to survey questions versus actual purchase behaviour; stated intent is usually higher.

Key references: Gabor and Granger (1966), Economica; Gabor (1988), Pricing: Concepts and Methods for Effective Marketing.

How to use this tool

  1. Enter your data. Paste columns from Excel, Google Sheets or SPSS with variable names in the first row, or upload a CSV or Excel file. The example data shows the expected layout.
  2. Choose the variables. Select the price columns.
  3. Set the options. Fill in data layout, counts as “would buy” when the response is at least, unit cost (optional and for the profit-maximising price).
  4. Read the results. Results update automatically. Read the plain-English interpretation, then use Copy table to paste APA-style tables into Word and Copy for the results sentence.

How to report the Gabor-Granger method in APA style

Report the prices tested, the share willing to buy at each price, the revenue-maximising price and the elasticity.

Frequently asked questions

How does the Gabor-Granger method work?

Respondents see a product and answer whether they would buy it at each of several prices. The share saying yes at each price traces a demand curve; price × demand gives revenue.

How many prices should I test?

Five to eight prices spanning the plausible range, with the expected price near the middle and steps of about 10%.

Why does the tool fit a logistic curve?

The smooth curve P(buy) = 1/(1 + e^−(a + b ln p)) lets the tool find the optimum between tested prices and gives a point elasticity, b(1 − P).

What is the difference between revenue- and profit-maximising price?

Revenue maximisation ignores costs. With a unit cost, profit (price − cost) × demand peaks at a higher price because each sale is worth more.

Can I use a purchase-likelihood scale?

Yes. Set the threshold that counts as “would buy”, for example 4 or more on a 5-point scale.

How does it compare with Van Westendorp?

Van Westendorp finds an acceptable range when you have no idea of the price; Gabor-Granger tests specific prices within that range and estimates demand.

Related tools

See also

Learn this method step by step in the free course Marketing Research with Survey Data, with exercises and a certificate.

Browse all categories