Gabor–Granger pricing analyzer
How does price change the purchase response?
Compare what people say they would buy at each tested price. See where revenue and contribution differ, how stable the results are, and what the study leaves unanswered.
Start with the data you actually have.
Explore the percentage example, import respondent records, or enter compatible purchase counts. Identify how prices were assigned before interpreting uncertainty. Your data stays in this browser. Use Clear data to remove the current inputs and results; the tool does not save them.
Illustrative example
Compare the tested prices
Supplied scenario percentages
Highest stated revenue index at
25USD · tested priceHighest contribution index at
30USD · cost 12 per unitThese comparisons use stated purchase response. They do not predict sales or identify a market-optimal price.
Within 5% of the highest revenue index: 25, 30 USD. This is a descriptive range, not a confidence set.
- Stated acceptance
- 78%
- Revenue index
- 15.6
- Contribution index
- 6.24
- Usable base
- Scenario only
Tested price → · Dashed lines connect tested points only. Vertical lines show pointwise intervals when available.
Tested price → · Dashed lines connect tested points only. Vertical lines show pointwise intervals when available.
Read alongside the result
- Supplied percentages are assumptions, not respondent evidence. No sampling intervals or winner stability can be calculated.
- 22.0% reject the lowest price; 28.0% accept the highest. For coherent ladders, these indicate thresholds outside the grid, not exact willingness to pay or zero willingness to pay.
- Stated purchase response does not establish realized demand, profit, competitive switching, or representativeness. Sampling intervals do not correct selection, order, or measurement bias.
Tested-price results and uncertainty
These inputs do not support uncertainty estimates in this release.
| Price | Usable base | Direct / inferred | Acceptance | 95% interval (%) | Revenue index | 95% interval | Contribution index | 95% interval | Revenue winner share | Contribution winner share | Arc elasticity from prior price |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 20 | — | Not supplied | 78% | Not calculated | 15.6 | Not calculated | 6.24 | Not calculated | Not calculated | Not calculated | Undefined |
| 25 | — | Not supplied | 68% | Not calculated | 17 | Not calculated | 8.84 | Not calculated | Not calculated | Not calculated | -0.62 |
| 30 | — | Not supplied | 55% | Not calculated | 16.5 | Not calculated | 9.9 | Not calculated | Not calculated | Not calculated | -1.16 |
| 35 | — | Not supplied | 40% | Not calculated | 14 | Not calculated | 9.2 | Not calculated | Not calculated | Not calculated | -2.05 |
| 40 | — | Not supplied | 28% | Not calculated | 11.2 | Not calculated | 7.84 | Not calculated | Not calculated | Not calculated | -2.65 |
Data diagnostics, segments, and starting prices
Supplied respondents: not supplied. Analyzed: not supplied. Excluded: 0. Inconsistent: 0. Unresolved: 0. Missing or unshown cells: 0. Unmapped columns: 0.
Map a segment column and analyze all people to compare groups. For within-segment intervals, select that segment and analyze again.
Starting-price groups describe an association. Without the randomization protocol and a suitable comparison, they do not establish an anchoring effect. Groups below 30 people are labeled as small; no group significance test is performed.
No starting-price data is available. Retain the initial price and the original question sequence in your study data.
0 analyzed people have no recorded starting price.
Variable-cost sensitivity
The response curve stays fixed. Costs of zero and ±20% around your entered cost are assumptions for comparison, not estimated cost uncertainty. Contribution excludes fixed costs.
| Cost per unit | Highest contribution at | Contribution index |
|---|---|---|
| 0 | 25 | 17 |
| 9.6 | 30 | 11.22 |
| 12 | 30 | 9.9 |
| 14.4 | 30 | 8.58 |
Analysis report and calculation policy
Includes context, mapping, exclusions, formulas, numerical results, and methods. It excludes raw respondent records.
ILLUSTRATIVE DEMONSTRATION DATA
Russell Research — Gabor–Granger analysis
Evidence: Supplied scenario percentages
Context: Illustrative single-unit offer; same audience and purchase occasion at every price.
Currency label: USD; prices and variable cost use the same purchase unit.
Design: complete; unweighted independent people; segment filter: all.
Variable cost: 12
Supplied people: not supplied; analyzed people: not supplied; excluded people: 0.
Incomplete: 0; inconsistent: 0; missing/unshown cells: 0; ignored columns: 0.
Exclusion policy: incomplete=false; inconsistent=false.
Mapping: {"price":"price","percent":"percent"}
Highest tested revenue index at: 25. Highest tested contribution at: 30.
Within 5% of peak revenue (descriptive sensitivity, not a confidence set): 25, 30.
Formulas: D=accepted/base (or supplied percent/100); revenue=p*D; contribution=(p-cost)*D. Arc elasticity uses midpoint percentage changes between adjacent prices.
No uncertainty intervals calculated.
Results CSV:
price,acceptance_percent,base,accepted,direct_responses,inferred_responses,revenue_index,contribution_index,acceptance_low_percent,acceptance_high_percent,revenue_low,revenue_high,contribution_low,contribution_high,revenue_winner_share,contribution_winner_share,arc_elasticity
20,78,,,,,15.6,6.24,,,,,,,,,
25,68,,,,,17,8.84,,,,,,,,,-0.616438356164
30,55,,,,,16.5,9.9,,,,,,,,,-1.16260162602
35,40,,,,,14,9.2,,,,,,,,,-2.05263157895
40,28,,,,,11.2,7.84,,,,,,,,,-2.64705882353
Cost sensitivity:
[{"cost":0,"prices":[25],"peak":17},{"cost":9.600000000000001,"prices":[30],"peak":11.22},{"cost":12,"prices":[30],"peak":9.9},{"cost":14.399999999999999,"prices":[30],"peak":8.580000000000002}]
Exploratory paired revenue differences:
[]
Segment curves (descriptive):
[]
Starting-price groups (descriptive association, not a causal test):
[]
Missing starting price: 0. Consistent-only highest revenue prices: not applicable.
Notes:
- Supplied percentages are assumptions, not respondent evidence. No sampling intervals or winner stability can be calculated.
- 22.0% reject the lowest price; 28.0% accept the highest. For coherent ladders, these indicate thresholds outside the grid, not exact willingness to pay or zero willingness to pay.
- Stated purchase response does not establish realized demand, profit, competitive switching, or representativeness. Sampling intervals do not correct selection, order, or measurement bias.
No interpolation, extrapolation, market-volume forecast, or raw respondent records are included in this report.Keep the pricing question specific.
A defined offer at different prices
Gabor–Granger asks whether a person would buy the same offer at specified prices. State the quantity, terms, audience, and purchase occasion clearly. Retain the initial price and each response so the analysis can distinguish observed answers from inferred ones.
Features, packages, and competitors
If people choose among competing offers or trade features against price, a choice study may better reflect the decision. Explore a conjoint questionnaire and plan its sample.
A financial decision
Revenue index multiplies price by stated acceptance. Contribution subtracts variable cost before multiplying. Neither includes a market-size forecast, fixed costs, retention, or the gap between survey intention and actual behavior.
Can I import an adaptive Gabor–Granger ladder?
Yes, when the records and declared grid determine acceptance at every tested price. Under a monotonic threshold assumption, accepting a price implies acceptance at lower prices; rejecting a price implies rejection at higher ones. An unanswered price between the highest yes and lowest no remains unresolved. The analyzer will not invent its answer. Wider intervals, threshold-only files, and partial ladders need an interval-censored estimator, which this release does not provide.
What happens to inconsistent or missing responses?
Complete-grid responses that reject a lower price and accept a higher one remain in the main result by default. They are counted, and a separate sensitivity shows the best revenue price without them. Adaptive inference cannot use those respondents. Unresolved missing values withhold results unless you explicitly exclude the affected people. No missing answer becomes a no, and no response is silently repaired.
Does the highest index identify the right market price?
It identifies the largest point estimate among the tested prices under the entered assumptions. Ties are retained. Prices within 5% of that peak form a descriptive comparison range, not a confidence set. A boundary maximum, unstable winner, or small difference deserves further study. No curve is extrapolated beyond the tested grid.
How should I interpret starting-price differences?
The starting-price table compares response curves across the recorded initial prices. A difference could reflect anchoring, audience imbalance, or sampling variation. The analyzer does not verify randomization or perform a causal test. Retain the questionnaire, allocation protocol, and sequence information when reviewing it.
Methods and research
Trace every result to its inputs.
Response and indices: acceptance is the accepted count divided by the usable base, or the supplied percentage divided by 100. Revenue index = price × acceptance. Contribution index = (price − variable cost) × acceptance. These are comparisons on the stated-response scale, with one unit per purchase. The optional cost sensitivity holds that curve fixed.
Respondent uncertainty: with at least 30 usable people, 1,000 seeded bootstrap samples draw whole respondents with replacement. The 2.5th and 97.5th percentiles form pointwise intervals; all answers from a person remain together. Winner shares split tied resamples equally. The 30-person minimum is a reporting policy, not a sample-adequacy finding. Percentile intervals may be unreliable for small or extreme samples and can collapse when everyone answers alike.
Aggregate and scenario uncertainty: independent price-group counts receive 95% Wilson score intervals. Same-base repeated counts receive descriptive results only because their cross-price dependence is unavailable. Supplied percentages receive no sampling intervals. Selected-reference revenue differences are exploratory and have no adjustment for selection or multiple comparisons.
Current scope: local CSV import, unweighted individual respondents, complete grids or fully resolved adaptive ladders, compatible counts, and supplied scenarios. Threshold-only and XLSX files, general interval-censored estimation, weights, clustered designs, smooth models, and actual-sales calibration require further methods. Segment and starting-price comparisons are descriptive; select one segment to obtain its own supported intervals.
The downloadable report records the design, context, mappings, exclusions, seed, formulas, and results. Sources below were reviewed September 29, 2026.
- Sawtooth Software: Gabor–Granger question library
Documents sequential price questions, starting-price settings, and stored responses. Preserve this design information with the original data.
- Sawtooth Software: Gabor–Granger pricing method
Explains the pricing exercise and why competitive feature and price trade-offs may call for conjoint research.
- Qualtrics: Pricing Study (Gabor Granger)
Documents adaptive pricing and demand/revenue reporting. This analyzer uses its own disclosed input and inference policy; it does not reproduce Qualtrics price buckets.
- SciPy: Bootstrap confidence intervals
Explains percentile resampling and paired data. Here, all answers from a selected respondent travel together in each resample.
- NIST: Confidence intervals for a proportion
Describes the Wilson score interval used for the independent count mode. An interval for one response proportion is not an interval for the best price.