Here is what the user experiences in the chat, from start to finish.
- 1
Ask the question
The user types something like:
- "What price maximises revenue for this product?"
- "Run Gabor Granger on our pricing data."
- "How elastic is demand at the prices we tested?"
The platform recognises the intent and selects Gabor Granger automatically.
- 2
Map the column
The chat asks the user to confirm which column contains the maximum willingness-to-pay values. Unlike Van Westendorp (which needs four columns), Gabor Granger needs just one:
- Maximum willingness to pay
The platform suggests a mapping if a column name looks like a match (e.g.
max_wtp,willingness_to_pay). Otherwise it asks the user to pick. - 3
Apply filters (optional)
The chat asks whether the user wants to filter the data:
- "Only premium subscribers"
- "Exclude respondents who said N/A to the pricing question"
The platform validates that enough responses remain after filtering.
- 4
Choose a subgroup (optional)
The chat asks whether the user wants to split the analysis:
- "Compare loyal customers vs. new prospects"
- "Split by distribution channel"
If set, each group gets its own demand curve and revenue-optimal price.
- 5
Confirm and run
The chat shows a final confirmation screen:
- The mapped WTP column
- Any active filters
- The subgroup variable (if set)
- The expected sample size
The user confirms, and the analysis runs.
- 6
Review results
Within seconds, the chat returns:
- A demand curve chart — price vs. acceptance rate
- A per-price-point table — price, demand %, respondent count, projected revenue at each tested price
- The revenue-optimal price — highlighted in the table and chart
- Summary statistics — n, price range, max revenue
- A written summary calling out the optimal price and key observations
If subgroups were requested, each group gets its own set of results plus a comparison highlighting where pricing power differs.
- 7
Follow up
The user can refine in the same conversation:
- "What if we exclude the outlier prices above $200?"
- "Split that by age group instead"
- "Now run Van Westendorp on the same data to see the acceptable range"