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-018Regression and econometrics

Predictive or causal regression: what are you trying to estimate?

The same regression family can serve two incompatible goals: predict future spend or estimate an intervention effect. The estimand, admissible variables, design and validation change.

Direct answer

Correctly separate a day-7 prediction from a total causal effect defined at day 0.

The same regression family can serve two incompatible goals: predict future spend or estimate an intervention effect. The estimand, admissible variables, design and validation change.

Shmueli, 2010Hernán & Robins, Causal Inference: What If

01

The answer in 30 seconds

1

A predictive regression estimates a future value for a new unit and is judged on data not used for fitting.

2

A causal regression targets the effect of a defined intervention in a population and depends on an identification design, not model fit alone.

3

A post-treatment variable can improve prediction at day 7 while being inadmissible for the total causal effect decided at day 0.

Shmueli (2010) Arnold et al. (2020)

02

Three reading levels

  1. 1

    Decision-maker: state whether the decision asks who will spend most or what sending the reminder would cause.

  2. 2

    Practitioner: fix the forecast origin, intervention, comparator, outcome, population and variables available at each time.

  3. 3

    Analyst: separate predictive loss, causal estimand, identification, estimation and uncertainty scope.

03

Concrete marketing situation

A retailer randomizes an email reminder at day 0 among 2,400 eligible customers. At day 7 it wants to predict 30-day spend with information then available. Separately, it wants the average total effect of sending the reminder. The day-7 engagement index is useful for the first question but occurs after assignment for the second.

04

Two questions, two estimands

Prediction: for a customer observed at day 7, estimate E[Y|X] and error on 600 holdout customers. Causality: among 2,400 randomized customers, estimate ATE = E[Y(1)−Y(0)], where T=1 assigns one reminder at day 0 and no other reminder through day 30, T=0 assigns none through day 30, and Y is 30-day spend in euros.

Prediction

μ(x) = E[Y | X=x]

Causality

ATE = E[Y(1) − Y(0)]

Hernán & Robins, Causal Inference: What If

05

Why the same regression can mislead

  • A low RMSE defines neither intervention nor counterfactual and therefore proves no causal effect.
  • Adding post-treatment engagement helps predict Y but blocks part of the T → M → Y path when reading the coefficient on T.
  • Selecting variables because they predict well does not replace causal reasoning about confounders, mediators and colliders.

Arnold et al. (2020) Ramspek et al. (2021) Cinelli, Forney & Pearl (2022)

06

Intuition and causal timeline

L and S precede T but do not cause it because T is randomized. The declared DAG is L,S → M; L,S → Y; T → M → Y; and T → Y. L is baseline intent, S prior spend and M day-7 engagement. At day 7, M is available predictive information. For the total effect of T decided at day 0, M is a mediator not to adjust for. The same column therefore changes status with the question and decision time.

Cinelli, Forney & Pearl (2022)

07

Required data and availability

  • customer_id; train/holdout split; baseline_intent_z and prior_spend_eur measured before day 0.
  • reminder_assigned is randomized assignment at day 0; engagement_index_7d is measured after assignment.
  • spend_30d_eur is the continuous outcome. The 1,800 train rows fit predictions; 600 holdout rows assess their internal transport.

08

Formal models and symbols

Day-7 prediction

Y = β₀ + β₁L + β₂S + β₃T + β₄M + ε

L: baseline_intent_z; S: prior_spend_eur; T: reminder_assigned; M: engagement_index_7d; Y: spend_30d_eur.

Total effect

Y = α₀ + τT + α₁L + α₂S + u

τ: mean difference adjusted for precision; M is excluded.

μ(x) is the conditional mean of Y for predictor vector x. β₀ and α₀ are intercepts; β₁ through β₄ and α₁ through α₂ are slopes; τ is the ATE; ε and u are the two model residuals.

09

Declared calculation, step by step

  1. 01

    Generate or load 2,400 rows with seed 20260819 and preserve the fixed split.

  2. 02

    Fit two predictions on train: without M, then with M; evaluate only on holdout.

  3. 03

    Paired-resample the 600 holdout errors 2,000 times for the RMSE-improvement interval.

  4. 04

    Estimate τ on all 2,400 units excluding M and compute the HC1 robust interval.

  5. 05

    Separately fit the model with M to show why its T coefficient does not answer the total ATE.

10

End-to-end numerical example

Synthetic MSC dataset. It describes no real campaign.

End-to-end numerical example
ObjectSpecificationResult
RMSEPrediction without M6.1006
RMSEPrediction with M5.1734
ATECausal model without M8.3667
βT | MModel adjusted for M2.0657

Predictive gain

15.20%
95% CI [11.05%; 19.62%]

ATE

8.37
95% CI [7.87 ; 8.86 ]

Generator truth

8.80

Download the synthetic CSVDownload the Python script

11

Validity assumptions

  • Prediction: stable definitions, day-7 availability, population and measurement process across train, holdout and future use.
  • Causality: correctly implemented randomization, consistency of both policies, no interference, observed outcome and non-differential follow-up.
  • The linear model estimates a mean difference and may improve precision; randomization, not regression form, identifies the ATE.

Hernán & Robins, Causal Inference: What If Arnold et al. (2020) Cinelli, Forney & Pearl (2022)

12

Diagnostics and uncertainty

01

Prediction: compare holdout RMSE, MAE and R²; check drift, out-of-support values and actual availability of M at forecast origin.

02

Causality: check assignment ratio, pre-treatment balance, attrition, contamination and HC1 robust standard errors.

03

The bootstrap interval for RMSE improvement describes this synthetic holdout. The HC1 ATE interval describes sampling noise under the declared design, not external validity.

13

Interpret without mixing objectives

The day-7 model including M reduces RMSE by 15.20%, 95% bootstrap CI [11.05%, 19.62%]. This is a predictive gain on this holdout. The causal model without M estimates the ATE at €8.37, HC1 CI [€7.87, €8.86], near the synthetic truth of €8.80. With M, the coefficient on T falls to €2.07 and no longer represents the total effect.

14

Supported and forbidden conclusions

Supported

  • Choose the model including M for a day-7 forecast in a comparable setting.
  • Report €8.37 as the estimated average total effect under the declared randomized protocol.

Forbidden

  • Present the RMSE reduction as proof that the reminder increases spend.
  • Read €2.07 as the total causal effect or generalize €8.37 to another population without new evidence.

15

Possible marketing decision

Keep two separate objects: a day-7 spend score that may use M, and an experimental total-effect estimate that excludes it. The first prioritizes an operational action at day 7; the second decides whether the reminder policy should be retained.

16

When to use each approach

01

Use predictive regression when the target is an individual future outcome and the forecast origin is explicit.

02

Use causal estimation when a decision changes T and a credible design identifies the counterfactual.

03

Do not use this linear model when the outcome, support or assignment mechanism materially differs without a new audit.

04

Alternatives: temporal validation and nonlinear models for prediction; randomized difference in means for the ATE; dedicated mediation analysis if the direct effect becomes the target.

17

Reproducible implementations

Python 3.13 and R 4.5 are references. SPSS 31 and SAS 9.4 are secondary syntaxes for the causal model; they certify neither standard-error equivalence nor assumptions.

Python 3.13

python msc-p018-reference.py --csv msc-p018-predictive-causal.csv

R 4.5

d <- read.csv("msc-p018-predictive-causal.csv")
train <- subset(d, split == "train"); hold <- subset(d, split == "holdout")
pre <- lm(spend_30d_eur ~ baseline_intent_z + prior_spend_eur + reminder_assigned, train)
post <- lm(spend_30d_eur ~ baseline_intent_z + prior_spend_eur + reminder_assigned + engagement_index_7d, train)
e0 <- hold$spend_30d_eur - predict(pre, hold)
e1 <- hold$spend_30d_eur - predict(post, hold)
rmse <- function(e) sqrt(mean(e^2))
c(pre_rmse=rmse(e0), post_rmse=rmse(e1), improvement=100*(rmse(e0)-rmse(e1))/rmse(e0))
set.seed(20260819)
b <- replicate(2000, { i <- sample(seq_along(e0), replace=TRUE); 100*(rmse(e0[i])-rmse(e1[i]))/rmse(e0[i]) })
quantile(b, c(.025, .975))
hc1 <- function(fit) {
  X <- model.matrix(fit); e <- residuals(fit); n <- nrow(X); p <- ncol(X)
  bread <- solve(crossprod(X)); meat <- crossprod(X, X * e^2)
  se <- sqrt(diag((n/(n-p)) * bread %*% meat %*% bread))
  cbind(estimate=coef(fit), se=se, lower=coef(fit)-1.959964*se, upper=coef(fit)+1.959964*se)
}
total <- lm(spend_30d_eur ~ reminder_assigned + baseline_intent_z + prior_spend_eur, d)
adjusted <- lm(spend_30d_eur ~ reminder_assigned + baseline_intent_z + prior_spend_eur + engagement_index_7d, d)
hc1(total)["reminder_assigned", ]
hc1(adjusted)["reminder_assigned", ]

IBM SPSS Statistics 31

GET DATA /TYPE=TXT /FILE='msc-p018-predictive-causal.csv'
 /DELCASE=LINE /DELIMITERS="," /ARRANGEMENT=DELIMITED /FIRSTCASE=2
 /VARIABLES=customer_id A5 split A7 baseline_intent_z F12.6 prior_spend_eur F12.6
 reminder_assigned F1.0 engagement_index_7d F12.6 spend_30d_eur F12.6.
REGRESSION /DEPENDENT spend_30d_eur
 /METHOD=ENTER reminder_assigned baseline_intent_z prior_spend_eur.

SAS 9.4

proc import datafile="msc-p018-predictive-causal.csv" out=p018 dbms=csv replace; guessingrows=max; run;
proc reg data=p018;
  model spend_30d_eur = reminder_assigned baseline_intent_z prior_spend_eur / hcc hccmethod=1;
run; quit;

18

Expected final deliverable

A dossier contains two separate records: prediction with day-7 origin, admissible variables, holdout metrics and drift; causality with day-0 protocol, DAG, ATE estimand, interval, threats and validity population. Outputs are never merged into one conclusion.

19

Scientific sources and evidence level

  1. Shmueli (2010)

    Conceptual foundation: goals, data, validation and criteria differ between explanation and prediction.

  2. Hernán & Robins, Causal Inference: What If

    Full methodological text: counterfactuals, ATE, randomization, consistency and interference.

  3. Arnold et al. (2020)

    Open-access methodological article: variable selection, evaluation and interpretation differ by question.

  4. Cinelli, Forney & Pearl (2022)

    Causal foundation: adjusting for a mediator can block the targeted total effect.

  5. Ramspek et al. (2021)

    Empirical review: it documents and bounds conflation frequency in a sample of 180 observational studies.

These texts support the method. The dataset, generating mechanism and results are synthetic MSC creations, not external empirical validation.

Dataset · Tool

Dataset · MSC-P-018-PREDICTIVE-CAUSALSynthetic randomized reminder, engagement and spend

Method connections

Parent territoryMarketing response models: shape, delay and saturationRequiresCorrelation or causality: what can an analysis actually support?RequiresHow do you diagnose a marketing regression before interpreting it?Compare withHow do you validate a marketing forecast?

Read next

MSC-P-002Correlation or causality: what can an analysis actually support?MSC-P-019How do you diagnose a marketing regression before interpreting it?MSC-P-033How do you validate a marketing forecast?