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-029Customer scienceVerified scientific dossier

Which customers have the highest probability of churn?

Churn is predicted for a fixed decision date and horizon. Temporal separation, leakage prevention and calibration matter as much as discrimination.

Scientific editorial team : Marketing Science Center

Direct answer

Prioritize human review using calibrated probabilistic risk.

Churn is predicted for a fixed decision date and horizon. Temporal separation, leakage prevention and calibration matter as much as discrimination.

scikit-learn average_precision_scoreDimitriadis et al., 2023

01

Operational summary

Scientific question and scope

Which customers have the highest probability of churn?

Supported

Prioritize human review using calibrated probabilistic risk.

Forbidden

Claim which action will reduce churn from the predictive model alone.

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

Churn is predicted for a fixed decision date and horizon. Temporal separation, leakage prevention and calibration matter as much as discrimination.

04

Scientific question and scope

Which customers have the highest probability of churn?

P(churn within H | information available at t)

Required data

customer at decision date

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

  • Claim which action will reduce churn from the predictive model alone.
  • Temporal holdout
  • Brier and log-loss
  • Threshold-grouped non-interpolated average precision

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.

P(churn within H | information available at t)

07

Required data

Scientific symbol dictionary

p_i
Predicted churn probability for holdout customer i using only information available at the decision date. Unit: probability · Type: number strictly between 0 and 1 · Role: input
y_i
Observed binary churn outcome by the fixed horizon for holdout customer i. Unit: binary · Type: 0 or 1 · Role: input
Brier
Mean squared probability error on the temporal holdout. Unit: squared probability · Type: nonnegative number · Role: output
log_loss
Mean negative Bernoulli log likelihood on the temporal holdout. Unit: nat per observation · Type: nonnegative number · Role: output
calibration_gap
Mean predicted probability minus observed event rate; negative means average underprediction under this sign convention. Unit: probability · Type: number in [-1, 1] · Role: output
AP_threshold
Non-interpolated average precision computed over unique prediction thresholds with tied scores grouped; not generic PR-AUC. Unit: proportion · Type: number in [0, 1] · Role: output

Exact sealed engine inputs

predicted_risk_1
Value: 0.05 · Unit: probability · Type: number · Data status: synthetic
predicted_risk_2
Value: 0.10 · Unit: probability · Type: number · Data status: synthetic
predicted_risk_3
Value: 0.20 · Unit: probability · Type: number · Data status: synthetic
predicted_risk_4
Value: 0.30 · Unit: probability · Type: number · Data status: synthetic
predicted_risk_5
Value: 0.45 · Unit: probability · Type: number · Data status: synthetic
predicted_risk_6
Value: 0.60 · Unit: probability · Type: number · Data status: synthetic
predicted_risk_7
Value: 0.75 · Unit: probability · Type: number · Data status: synthetic
predicted_risk_8
Value: 0.90 · Unit: probability · Type: number · Data status: synthetic
outcome_1
Value: 0 · Unit: binary · Type: integer · Data status: synthetic
outcome_2
Value: 0 · Unit: binary · Type: integer · Data status: synthetic
outcome_3
Value: 0 · Unit: binary · Type: integer · Data status: synthetic
outcome_4
Value: 1 · Unit: binary · Type: integer · Data status: synthetic
outcome_5
Value: 0 · Unit: binary · Type: integer · Data status: synthetic
outcome_6
Value: 1 · Unit: binary · Type: integer · Data status: synthetic
outcome_7
Value: 1 · Unit: binary · Type: integer · Data status: synthetic
outcome_8
Value: 1 · Unit: binary · Type: integer · Data status: synthetic
temporal_holdout_declared
Value: 1 · Unit: binary · Type: integer · Data status: parameter

08

Formal model

Formal model

temporal_holdout_declared = 1; Brier = mean((p_i−y_i)^2); log_loss = −mean(y_i×log(p_i)+(1−y_i)×log(1−p_i)); calibration_gap = mean(p_i)−mean(y_i); AP_threshold = grouped_average_precision(p_i, y_i)

Evidence claims: MSC-P029-C01 · MSC-P029-C02 · MSC-P029-C03 · MSC-P029-C04 · MSC-P029-C05 · MSC-P029-C06 · MSC-P029-C07 · MSC-P029-C08 · MSC-P029-C09 · MSC-P029-C10

Scientific question and scope

P(churn within H | information available at t)

09

Declared calculation

  1. 01

    Freeze the temporal holdout and validate paired probabilities/outcomes with both outcome classes represented.

  2. 02

    Compute Brier score, log loss, threshold-grouped average precision and the predicted-minus-observed calibration gap.

  3. 03

    Report discrimination and calibration separately and label the tiny synthetic holdout as insufficient for deployment or causal validation.

10

Numerical example or application case

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

Sealed inputs

  • predicted_risk_1=0.05 [probability]
  • predicted_risk_2=0.10 [probability]
  • predicted_risk_3=0.20 [probability]
  • predicted_risk_4=0.30 [probability]
  • predicted_risk_5=0.45 [probability]
  • predicted_risk_6=0.60 [probability]
  • predicted_risk_7=0.75 [probability]
  • predicted_risk_8=0.90 [probability]
  • outcome_1=0 [binary]
  • outcome_2=0 [binary]
  • outcome_3=0 [binary]
  • outcome_4=1 [binary]
  • outcome_5=0 [binary]
  • outcome_6=1 [binary]
  • outcome_7=1 [binary]
  • outcome_8=1 [binary]
  • temporal_holdout_declared=1 [binary]

Reproducible results

  • Brier=0.122188
  • log_loss=0.385684
  • threshold_grouped_average_precision=0.95
  • mean_predicted_minus_observed=-0.08125

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

  • Was every feature available at the declared prediction time and was the holdout later in time?
  • Are tied prediction scores grouped consistently when average precision is computed?
  • Are calibration, discrimination and decision utility assessed separately on a sufficiently large deployment-representative sample?

12

Diagnostics and uncertainty

Diagnostics and uncertainty

Temporal holdout · Brier and log-loss · Threshold-grouped non-interpolated average precision · Calibration sign: mean predicted risk minus observed event rate

Bounded diagnostic

The sign convention is predicted minus observed. Average precision is threshold-grouped and is not generic PR-AUC. Tiny synthetic illustration only.

Explicit uncertainty contract · not_estimable_from_sealed_inputs

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

Target : Sampling uncertainty of holdout calibration and discrimination metrics.

Engine evidence : diagnostic=average_precision_is_threshold_grouped_not_generic_pr_auc_tiny_synthetic_holdout_not_deployment_validation_or_causal_effect

Interpretation : Eight synthetic holdout observations are insufficient for defensible confidence intervals or subgroup uncertainty.

Stop when

Claim which action will reduce churn from the predictive model alone.

13

Result interpretation

  • Prioritize human review using calibrated probabilistic risk.
  • 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

Prioritize human review using calibrated probabilistic risk.

Forbidden

Claim which action will reduce churn from the predictive model alone.

15

Possible marketing decision

  1. 01

    Prioritize human review using calibrated probabilistic risk.

  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

Prioritize human review using calibrated probabilistic risk.

customer at decision date

Stop when

Claim which action will reduce churn from the predictive model alone.

Methodological alternatives

  • Use calibration curves with uncertainty by risk range and subgroup.
  • Use ROC analysis only for discrimination questions, not calibration.
  • Use decision-curve or cost-sensitive threshold analysis when action utility is the target.

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: 05348452a7d6e9c0921fab5459274f7d09e9ba76b92659dd05112935133f85f7

Formal model

temporal_holdout_declared = 1; Brier = mean((p_i−y_i)^2); log_loss = −mean(y_i×log(p_i)+(1−y_i)×log(1−p_i)); calibration_gap = mean(p_i)−mean(y_i); AP_threshold = grouped_average_precision(p_i, y_i)

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

    Which customers have the highest probability of churn?customer at decision date

  2. 02

    p_i · y_i · Brier · log_loss · calibration_gap · AP_threshold

  3. 03

    temporal_holdout_declared = 1; Brier = mean((p_i−y_i)^2); log_loss = −mean(y_i×log(p_i)+(1−y_i)×log(1−p_i)); calibration_gap = mean(p_i)−mean(y_i); AP_threshold = grouped_average_precision(p_i, y_i)

  4. 04

    Temporal holdout · Brier and log-loss · Threshold-grouped non-interpolated average precision · Calibration sign: mean predicted risk minus observed event rate

  5. 05

    Prioritize human review using calibrated probabilistic risk. / Claim which action will reduce churn from the predictive model alone.

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-P029-C01Probabilistic scores should be evaluated on a declared test set.
  2. MSC-P029-C02Calibration concerns observed event frequency conditional on forecast probability.
  3. MSC-P029-C03ROC-based discrimination does not determine probability calibration.
  4. MSC-P029-C04Calibration and discrimination require distinct diagnostics.
  5. MSC-P029-C05Brier and logarithmic scores are proper probability-scoring rules.
  6. MSC-P029-C06Predictive and causal objectives alter the full modelling process, not just the final metric.
  7. MSC-P029-C07Predictive accuracy should be evaluated on observations excluded from model fitting.
  8. MSC-P029-C08The reported AP uses threshold-specific precision weighted by recall increments.
  9. MSC-P029-C09The executable convention is non-interpolated.
  10. MSC-P029-C10Average precision is not labeled as generic trapezoidal PR-AUC.
  1. scikit-learn average_precision_score
  2. Dimitriadis et al., 2023
  3. Shmueli, 2010

Method connections

Parent territoryCustomer and choice science: behavior, value and heterogeneity

Read next

MSC-P-026Logit vs Probit: how do you choose for purchase probability?MSC-P-018Predictive or causal regression: what are you trying to estimate?MSC-P-019How do you diagnose a marketing regression before interpreting it?