Research & Evidence

Search for a method

Search titles, questions, territories and MSC identifiers.

41 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-043What is a subscriber worth with only six months of retention data?Customer Science↗
  36. MSC-P-031How do you build a useful customer segmentation?Customer Science↗
  37. MSC-P-032How do you test segmentation stability?Customer Science↗
  38. MSC-P-033How do you validate a marketing forecast?Decision Science↗
  39. MSC-P-034How do you build a Monte Carlo simulation for a marketing decision?Decision Science↗
  40. MSC-P-035How do you model saturation and adstock?Marketing Models↗
  41. MSC-P-039Which statistical test should you choose?Decision Science↗
← All methods
METHOD DOSSIERMSC-P-028Customer scienceVerified scientific dossier

How do you estimate CLV with BG/NBD and Gamma-Gamma?

BG/NBD predicts future transactions in a noncontractual setting; Gamma-Gamma can model their mean value under additional assumptions. CLV then discounts the expected flows.

Scientific editorial team: Marketing Science Center

Direct answer

Rank customers by expected future value with temporal validation.

BG/NBD predicts future transactions in a noncontractual setting; Gamma-Gamma can model their mean value under additional assumptions. CLV then discounts the expected flows.

Fader, Hardie & Lee, RFM and CLV, 2005Fader, Hardie & Lee, BG/NBD, 2005

01

Operational summary

Scientific question and scope

How do you estimate CLV with BG/NBD and Gamma-Gamma?

Supported

Rank customers by expected future value with temporal validation.

Forbidden

Interpret predicted CLV as the causal gain from a retention action.

02

Three reading levels

  1. 01

    Decision-maker — Connect the result to a declared decision, useful threshold and error cost.

  2. 02

    Practitioner — Fix population, unit, horizon, available variables and analysis rule before calculation.

  3. 03

    Analyst — Reproduce the calculation, quantify uncertainty and document diagnostics, failures and sensitivities.

03

Concrete marketing situation

BG/NBD predicts future transactions in a noncontractual setting; Gamma-Gamma can model their mean value under additional assumptions. CLV then discounts the expected flows.

04

Scientific question and scope

How do you estimate CLV with BG/NBD and Gamma-Gamma?

Expected discounted future contribution under a declared BG/NBD transaction model and a separately validated value model

Required data

Customer × calibration window × holdout or forecast horizon

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

  • Interpret predicted CLV as the causal gain from a retention action.
  • Noncontractual setting
  • BG/NBD calibration and holdout
  • Frequency-value dependence test

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.

Expected discounted future contribution under a declared BG/NBD transaction model and a separately validated value model

07

Required data

Scientific symbol dictionary

predicted_transactions_t
Expected transaction count in future period t from the declared transaction model. Unit: transaction · Type: nonnegative number · Role: input
mean_value
Calibrated mean monetary value per transaction under the declared monetary model. Unit: euro per transaction · Type: nonnegative number · Role: input
margin_rate
Contribution margin share applied consistently to transaction value. Unit: proportion · Type: number in [0, 1] · Role: input
discount_rate
Per-period discount rate aligned with the forecast period. Unit: rate per period · Type: number greater than -1 · Role: input
t
Future period index measured from the declared forecast origin. Unit: period · Type: positive integer · Role: index
CLV
Expected discounted contribution over the declared finite horizon, conditional on both calibrated models and the aggregation assumptions. Unit: euro · Type: number · Role: output

Exact sealed engine inputs

predicted_transactions_period_1
Value: 0.8 · Unit: transaction · Type: number · Data status: synthetic
predicted_transactions_period_2
Value: 0.7 · Unit: transaction · Type: number · Data status: synthetic
predicted_transactions_period_3
Value: 0.6 · Unit: transaction · Type: number · Data status: synthetic
mean_transaction_value_eur
Value: 60 · Unit: EUR_per_transaction · Type: number · Data status: synthetic
contribution_margin_rate
Value: 0.40 · Unit: proportion · Type: number · Data status: parameter
discount_rate_per_period
Value: 0.02 · Unit: rate per period · Type: number · Data status: parameter
frequency_value_correlation
Value: 0.06 · Unit: dimensionless · Type: number · Data status: synthetic
independence_diagnostic_completed
Value: 1 · Unit: binary · Type: integer · Data status: parameter
monetary_model_calibrated
Value: 1 · Unit: binary · Type: integer · Data status: parameter

08

Formal model

Formal model

Gate: independence_diagnostic_completed = 1 and monetary_model_calibrated = 1; frequency_value_correlation is reported but does not prove independence. CLV = discounted_sum(predicted_transactions_t × mean_transaction_value_eur × contribution_margin_rate / (1 + discount_rate_per_period)^t)

Evidence claims: MSC-P028-C01 · MSC-P028-C02 · MSC-P028-C03 · MSC-P028-C04 · MSC-P028-C05 · MSC-P028-C06

Scientific question and scope

Expected discounted future contribution under a declared BG/NBD transaction model and a separately validated value model

09

Declared calculation

  1. 01

    Require a completed dependence diagnostic and monetary-model calibration before multiplying frequency and value components.

  2. 02

    Convert mean transaction value to contribution, multiply by each expected transaction count and discount every period separately.

  3. 03

    Sum the discounted flows only after both gates pass and state that low sample correlation is not proof of independence.

10

Numerical example or application case

Worked example — synthetic data or declared parameters; no real observations

Sealed inputs

  • predicted_transactions_period_1=0.8 [transaction]
  • predicted_transactions_period_2=0.7 [transaction]
  • predicted_transactions_period_3=0.6 [transaction]
  • mean_transaction_value_eur=60 [EUR_per_transaction]
  • contribution_margin_rate=0.40 [proportion]
  • discount_rate_per_period=0.02 [rate per period]
  • frequency_value_correlation=0.06 [dimensionless]
  • independence_diagnostic_completed=1 [binary]
  • monetary_model_calibrated=1 [binary]

Reproducible results

  • mean_contribution=€24
  • discounted_flows=[18.823529;16.147636;13.569442]
  • expected_discounted_CLV=€48.540607

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

  • Were transaction frequency and monetary value models calibrated on an appropriate holdout?
  • Is the dependence between transaction count and value assessed substantively rather than inferred from one small correlation?
  • Are horizon, margin and discount period aligned with the decision?

12

Diagnostics and uncertainty

Diagnostics and uncertainty

Noncontractual setting · BG/NBD calibration and holdout · Frequency-value dependence test · Gamma-Gamma eligibility · Margin and discount period conventions

Bounded diagnostic

Aggregation is allowed only after declared independence diagnostics and monetary-model calibration; a low sample correlation is not proof of independence.

Explicit uncertainty contract · not_estimable_from_sealed_inputs

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

Target: Uncertainty of finite-horizon discounted customer value.

Engine evidence: diagnostic=aggregation_only_after_declared_independence_diagnostic_and_monetary_calibration_low_correlation_is_not_proof

Interpretation: Point forecasts and binary calibration gates do not provide a predictive distribution; low correlation is not proof of independence.

Stop when

Interpret predicted CLV as the causal gain from a retention action.

13

Result interpretation

  • Rank customers by expected future value with temporal validation.
  • 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

Rank customers by expected future value with temporal validation.

Forbidden

Interpret predicted CLV as the causal gain from a retention action.

15

Possible marketing decision

  1. 01

    Rank customers by expected future value with temporal validation.

  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

Rank customers by expected future value with temporal validation.

Customer × calibration window × holdout or forecast horizon

Stop when

Interpret predicted CLV as the causal gain from a retention action.

Methodological alternatives

  • Fit a joint frequency-value model when dependence is material.
  • Use nonparametric customer-level holdout value when model assumptions are weak.
  • Report a finite-horizon value distribution rather than a single point estimate when uncertainty is decision-relevant.

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: a2f01105b3c5d241542a4a19ae1afc63bc39cddd8c5ac4fb926e84d214895d42

Available asset · MSC-004

Synthetic noncontractual CLV

Formal model

Gate: independence_diagnostic_completed = 1 and monetary_model_calibrated = 1; frequency_value_correlation is reported but does not prove independence. CLV = discounted_sum(predicted_transactions_t × mean_transaction_value_eur × contribution_margin_rate / (1 + discount_rate_per_period)^t)

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 CLV with BG/NBD and Gamma-Gamma? — Customer × calibration window × holdout or forecast horizon

  2. 02

    predicted_transactions_t · mean_value · margin_rate · discount_rate · t · CLV

  3. 03

    Gate: independence_diagnostic_completed = 1 and monetary_model_calibrated = 1; frequency_value_correlation is reported but does not prove independence. CLV = discounted_sum(predicted_transactions_t × mean_transaction_value_eur × contribution_margin_rate / (1 + discount_rate_per_period)^t)

  4. 04

    Noncontractual setting · BG/NBD calibration and holdout · Frequency-value dependence test · Gamma-Gamma eligibility · Margin and discount period conventions

  5. 05

    Rank customers by expected future value with temporal validation. / Interpret predicted CLV as the causal gain from a retention action.

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-P028-C01 — The monetary model assumes stable individual transaction value.
  2. MSC-P028-C02 — The monetary-value and transaction processes require an independence assumption.
  3. MSC-P028-C03 — Model components are checked with holdout tests.
  4. MSC-P028-C04 — CLV is expressed as a discounted expected value for a defined customer base.
  5. MSC-P028-C05 — BG/NBD is the declared repeat-purchase model.
  6. MSC-P028-C06 — The cited comparison is empirical and bounded to the studied purchasing environments.
  1. Fader, Hardie & Lee, RFM and CLV, 2005
  2. Fader, Hardie & Lee, BG/NBD, 2005

Dataset · Tool

Dataset · MSC-004Synthetic noncontractual CLV→

Method connections

Parent territoryCustomer and choice science: behavior, value and heterogeneityCompare withHow do you analyze retention with a survival model?Compare withWhich customers have the highest probability of churn?

Read next

MSC-H-004Customer and choice science: behavior, value and heterogeneity→MSC-P-029Which customers have the highest probability of churn?→MSC-P-030How do you analyze retention with a survival model?→MSC-P-003How should uncertainty in a marketing result be expressed?→