Research & Evidence

Search for a method

Search titles, questions, territories and MSC identifiers.

40 results
  1. MSC-P-001How do you turn a marketing claim into a testable question?Decision Science
  2. MSC-P-002Correlation or causality: what can an analysis actually support?Marketing Measurement
  3. MSC-P-003How should uncertainty in a marketing result be expressed?Decision Science
  4. MSC-P-004Statistical significance or effect size: which result should be interpreted?Decision Science
  5. MSC-P-005How do you measure a marketing construct that is not directly observable?Market Research
  6. MSC-P-006How do you design and validate a measurement scale?Market Research
  7. MSC-P-007Alpha or omega: how should scale reliability be assessed?Market Research
  8. MSC-P-009PCA, EFA or CFA: which method should you choose?Market Research
  9. MSC-P-010When should you run a marketing experiment?Marketing Measurement
  10. MSC-P-011How do you design an A/B test that actually estimates an effect?Marketing Measurement
  11. MSC-P-012How many observations does an experiment need?Decision Science
  12. MSC-P-013How do you measure campaign incrementality with a control group?Marketing Measurement
  13. MSC-P-017How do you detect selection, contamination and attrition in an experiment?Marketing Measurement
  14. MSC-P-018Predictive or causal regression: what are you trying to estimate?Marketing Models
  15. MSC-P-019How do you diagnose a marketing regression before interpreting it?Marketing Models
  16. MSC-P-022How do you estimate price elasticity and its uncertainty?Pricing Science
  17. MSC-P-026Logit vs Probit: how do you choose for purchase probability?Customer Science
  18. MSC-P-029Which customers have the highest probability of churn?Customer Science
  19. MSC-P-027TAM, UTAUT or UTAUT2: which framework should be used to study technology acceptance?Market Research
  20. MSC-H-001Measurement and causality: how can a marketing effect be established?Marketing Measurement
  21. MSC-H-002Marketing response models: shape, delay and saturationMarketing Models
  22. MSC-H-003Pricing science: connecting price, demand and contributionPricing Science
  23. MSC-H-004Customer and choice science: behavior, value and heterogeneityCustomer Science
  24. MSC-H-005Measurement science: building valid indicatorsMarket Research
  25. MSC-H-006Statistical decision methods: choose, quantify, validateDecision Science
  26. MSC-P-008How do you validate a marketing measurement scale?Market Research
  27. MSC-P-014How do you design a marketing geo experiment?Marketing Measurement
  28. MSC-P-015How do you estimate an effect with difference-in-differences?Marketing Measurement
  29. MSC-P-020How do you address price endogeneity?Pricing Science
  30. MSC-P-021Fixed or random effects: which panel model should you choose?Marketing Models
  31. MSC-P-023How do you estimate a demand function?Pricing Science
  32. MSC-P-024How do you simulate a price-volume-margin scenario?Pricing Science
  33. MSC-P-028How do you estimate CLV with BG/NBD and Gamma-Gamma?Customer Science
  34. MSC-P-030How do you analyze retention with a survival model?Customer Science
  35. MSC-P-031How do you build a useful customer segmentation?Customer Science
  36. MSC-P-032How do you test segmentation stability?Customer Science
  37. MSC-P-033How do you validate a marketing forecast?Decision Science
  38. MSC-P-034How do you build a Monte Carlo simulation for a marketing decision?Decision Science
  39. MSC-P-035How do you model saturation and adstock?Marketing Models
  40. MSC-P-039Which statistical test should you choose?Decision Science
All methods
METHOD DOSSIERMSC-P-023Pricing scienceVerified scientific dossier

How do you estimate a demand function?

A demand function connects quantity, price and context over an observed domain. Shape, heterogeneity, competition and endogeneity determine what can be simulated.

Scientific editorial team : Marketing Science Center

Direct answer

Compare scenarios near observed data with intervals and diagnostics.

A demand function connects quantity, price and context over an observed domain. Shape, heterogeneity, competition and endogeneity determine what can be simulated.

Tellis, 1988Villas-Boas & Winer, 1999

01

Operational summary

Scientific question and scope

How do you estimate a demand function?

Supported

Compare scenarios near observed data with intervals and diagnostics.

Forbidden

Extrapolate stable demand through an unobserved structural change.

02

Three reading levels

  1. 01

    Decision-makerConnect the result to a declared decision, useful threshold and error cost.

  2. 02

    PractitionerFix population, unit, horizon, available variables and analysis rule before calculation.

  3. 03

    AnalystReproduce the calculation, quantify uncertainty and document diagnostics, failures and sensitivities.

03

Concrete marketing situation

A demand function connects quantity, price and context over an observed domain. Shape, heterogeneity, competition and endogeneity determine what can be simulated.

04

Scientific question and scope

How do you estimate a demand function?

Associational target by default: E[ln(Q)|ln(P),X]. Structural target only under a separately justified identification design: counterfactual demand Q(p)

Required data

Market × product × period

Population, unit of analysis, origin date and horizon must be declared in the deliverable. Without them, the estimand silently changes.

05

Why a simple analysis can fail

  • Extrapolate stable demand through an unobserved structural change.
  • Declare associational or structural target
  • Functional form
  • Price endogeneity

06

Method intuition

The method does not automatically turn an association into evidence. It links a declared question to an estimand, specification, compatible data and a bounded interpretation rule.

Associational target by default: E[ln(Q)|ln(P),X]. Structural target only under a separately justified identification design: counterfactual demand Q(p)

07

Required data

Scientific symbol dictionary

P0
Baseline unit price before the scenario. Unit: euro per unit · Type: positive number · Role: input
P1
Scenario unit price P0 multiplied by the declared price ratio. Unit: euro per unit · Type: positive number · Role: derived
Q0
Baseline volume over the declared horizon. Unit: unit · Type: positive number · Role: input
Q1
Conditional scenario volume under constant supplied elasticity. Unit: unit · Type: positive number · Role: derived
VC
Variable cost per unit, held constant in this sealed branch. Unit: euro per unit · Type: nonnegative number · Role: input
price_ratio
Multiplicative scenario price P1/P0. Unit: ratio · Type: positive number · Role: input
elasticity
Externally supplied constant price elasticity used only for the scenario range. Unit: dimensionless · Type: number · Role: input
delta_fixed_cost
Signed change in fixed cost; a negative value is a saving and therefore increases delta profit through the minus sign. Unit: euro · Type: number · Role: input
delta_profit
Conditional change in contribution after the signed fixed-cost change. Unit: euro over declared horizon · Type: number · Role: output

Exact sealed engine inputs

baseline_price_eur
Value: 100 · Unit: EUR_per_unit · Type: number · Data status: synthetic
baseline_volume
Value: 10000 · Unit: unit · Type: number · Data status: synthetic
variable_cost_eur
Value: 55 · Unit: EUR_per_unit · Type: number · Data status: synthetic
fixed_cost_change_eur
Value: 0 · Unit: EUR · Type: number · Data status: synthetic
elasticity
Value: -1.3 · Unit: dimensionless · Type: number · Data status: synthetic
price_ratio
Value: 1.05 · Unit: ratio · Type: number · Data status: synthetic

08

Formal model

Formal model

P1 = P0 × price_ratio; Q1 = Q0 × price_ratio^elasticity; delta_profit = (P1−VC)Q1 − (P0−VC)Q0 − delta_fixed_cost

Evidence claims: MSC-P023-C01 · MSC-P023-C02 · MSC-P023-C03 · MSC-P023-C04 · MSC-P023-C05

Scientific question and scope

Associational target by default: E[ln(Q)|ln(P),X]. Structural target only under a separately justified identification design: counterfactual demand Q(p)

09

Declared calculation

  1. 01

    Validate positive prices and volumes, nonnegative variable cost, a positive price ratio and the signed fixed-cost convention.

  2. 02

    Compute the scenario price and volume with the supplied elasticity, then calculate baseline and scenario contribution.

  3. 03

    Subtract the signed fixed-cost change and label the result as a conditional scenario, not demand estimation or a causal effect.

10

Numerical example or application case

Synthetic illustration — teaching values, not observedsynthetic data or declared parameters; no real observations

Sealed inputs

  • baseline_price_eur=100 [EUR_per_unit]
  • baseline_volume=10000 [unit]
  • variable_cost_eur=55 [EUR_per_unit]
  • fixed_cost_change_eur=0 [EUR]
  • elasticity=-1.3 [dimensionless]
  • price_ratio=1.05 [ratio]

Reproducible results

  • Q1=9385.424301
  • conditional_volume_change=-6.1458%
  • incremental_contribution=€19,271.215054

Verified dossier: claims are linked to passage-level sources, the Python/R calculation is reproduced, limits are explicit, and independent scientific review is complete.

11

Validity assumptions

  • Is the supplied elasticity credible over the exact price range and horizon?
  • Are variable and fixed cost sign conventions reconciled with finance?
  • Could capacity, competitor response, substitution or endogeneity invalidate the constant-elasticity scenario?

12

Diagnostics and uncertainty

Diagnostics and uncertainty

Declare associational or structural target · Functional form · Price endogeneity · Residual structure · Observed support for scenarios

Bounded diagnostic

Conditional scenario using a supplied elasticity; neither demand estimation nor causal effect.

Explicit uncertainty contract · not_estimable_from_sealed_inputs

Method : Explicit non-estimability assessment against the sealed input schema.

Target : Uncertainty of incremental contribution under uncertain elasticity and costs.

Engine evidence : diagnostic=conditional_scenario_using_supplied_elasticity_not_demand_estimation_or_causal_effect

Interpretation : No sampling distribution or credible range for elasticity and costs is supplied, so the example is a conditional point scenario only.

Stop when

Extrapolate stable demand through an unobserved structural change.

13

Result interpretation

  • Compare scenarios near observed data with intervals and diagnostics.
  • The result is conditional on the declared population, horizon, specification and diagnostics. It must not be extended to another decision without new justification.

14

Supported and forbidden conclusions

Supported

Compare scenarios near observed data with intervals and diagnostics.

Forbidden

Extrapolate stable demand through an unobserved structural change.

15

Possible marketing decision

  1. 01

    Compare scenarios near observed data with intervals and diagnostics.

  2. 02

    The result is conditional on the declared population, horizon, specification and diagnostics. It must not be extended to another decision without new justification.

16

When to use — when to stop

Use when

Compare scenarios near observed data with intervals and diagnostics.

Market × product × period

Stop when

Extrapolate stable demand through an unobserved structural change.

Methodological alternatives

  • Estimate a demand model with explicit price endogeneity controls.
  • Run a randomized price experiment where legal and operationally feasible.
  • Use a richer demand system when substitution across products matters.

17

Reproducibility contract

Python and R are the executable references. SPSS and SAS remain secondary syntaxes until checked on the same data, specification and diagnostics.

The engine selects only this page’s explicit slice and branch. Its hash, outputs, and diagnostics remain sealed in the atomic dossier; no generic fallback branch is allowed.

Slice fingerprint: 27a93ef2c767497234093d2e6d4cb40930812f450e9b235f978cfa4a11ab6b84

Formal model

P1 = P0 × price_ratio; Q1 = Q0 × price_ratio^elasticity; delta_profit = (P1−VC)Q1 − (P0−VC)Q0 − delta_fixed_cost

Verified dossier: claims are linked to passage-level sources, the Python/R calculation is reproduced, limits are explicit, and independent scientific review is complete.

18

Expected final deliverable

  1. 01

    How do you estimate a demand function?Market × product × period

  2. 02

    P0 · P1 · Q0 · Q1 · VC · price_ratio · elasticity · delta_fixed_cost · delta_profit

  3. 03

    P1 = P0 × price_ratio; Q1 = Q0 × price_ratio^elasticity; delta_profit = (P1−VC)Q1 − (P0−VC)Q0 − delta_fixed_cost

  4. 04

    Declare associational or structural target · Functional form · Price endogeneity · Residual structure · Observed support for scenarios

  5. 05

    Compare scenarios near observed data with intervals and diagnostics. / Extrapolate stable demand through an unobserved structural change.

19

Scientific sources and evidence status

Verified dossier: claims are linked to passage-level sources, the Python/R calculation is reproduced, limits are explicit, and independent scientific review is complete.

  1. MSC-P023-C01Elasticity is a dimensionless relative response measure.
  2. MSC-P023-C02A log-log price coefficient can be interpreted as elasticity under the stated form.
  3. MSC-P023-C03Omitted variables, cross-sectional design and aggregation can bias elasticity estimates.
  4. MSC-P023-C04Price may be correlated with unobserved demand determinants.
  5. MSC-P023-C05Ignoring marketing-mix endogeneity can materially bias parameters.
  1. Tellis, 1988
  2. Villas-Boas & Winer, 1999

Method connections

Parent territoryPricing science: connecting price, demand and contributionRequiresHow do you address price endogeneity?EstimatesHow do you estimate price elasticity and its uncertainty?

Read next

MSC-H-003Pricing science: connecting price, demand and contributionMSC-P-020How do you address price endogeneity?MSC-P-022How do you estimate price elasticity and its uncertainty?MSC-P-024How do you simulate a price-volume-margin scenario?