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-015Experimentation and causalityVerified scientific dossier

How do you estimate an effect with difference-in-differences?

Difference-in-differences compares change in a treated group with change in an untreated group. Identification relies on credible parallel trends without treatment.

Scientific editorial team : Marketing Science Center

Direct answer

Estimate an ATT for groups and periods covered by the design.

Difference-in-differences compares change in a treated group with change in an untreated group. Identification relies on credible parallel trends without treatment.

Hernán & Robins, Causal Inference: What IfArnold et al., 2020

01

Operational summary

Scientific question and scope

How do you estimate an effect with difference-in-differences?

Supported

Estimate an ATT for groups and periods covered by the design.

Forbidden

Prove future parallel trends from pre-period data 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

Difference-in-differences compares change in a treated group with change in an untreated group. Identification relies on credible parallel trends without treatment.

04

Scientific question and scope

How do you estimate an effect with difference-in-differences?

ATT in a two-group, two-period design

Required data

unit × group × 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

  • Prove future parallel trends from pre-period data alone.
  • Pre-trends
  • Anticipation
  • Use group-time ATT for staggered adoption

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.

ATT in a two-group, two-period design

07

Required data

Scientific symbol dictionary

Y_T_post
Mean outcome for treated-group units after intervention. Unit: outcome · Type: number · Role: input
Y_T_pre
Mean outcome for the same treated group in the declared pre-period. Unit: outcome · Type: number · Role: input
Y_C_post
Mean outcome for the declared comparison group in the post-period. Unit: outcome · Type: number · Role: input
Y_C_pre
Mean outcome for the same comparison group in the pre-period. Unit: outcome · Type: number · Role: input
z
Two-sided normal critical value for the declared confidence level. Unit: dimensionless · Type: positive number · Role: parameter
cluster_SE
Externally supplied cluster-robust standard error for the DiD contrast in this sealed illustration. Unit: outcome · Type: positive number · Role: input
ATT_DiD
Two-period difference-in-differences contrast, interpreted causally only under the declared identification assumptions. Unit: outcome · Type: number · Role: output
CI
Normal interval based on the supplied cluster-robust standard error. Unit: outcome · Type: ordered pair · Role: output

Exact sealed engine inputs

treated_pre
Value: 100 · Unit: index · Type: number · Data status: synthetic
treated_post
Value: 120 · Unit: index · Type: number · Data status: synthetic
control_pre
Value: 90 · Unit: index · Type: number · Data status: synthetic
control_post
Value: 98 · Unit: index · Type: number · Data status: synthetic
standard_error
Value: 4 · Unit: index · Type: number · Data status: synthetic
z_critical
Value: 1.95996398454 · Unit: dimensionless · Type: number · Data status: parameter

08

Formal model

Formal model

att_did = (treated_post − treated_pre) − (control_post − control_pre); CI = att_did ± z_critical × standard_error

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

Scientific question and scope

ATT in a two-group, two-period design

09

Declared calculation

  1. 01

    Lock treated and comparison groups, timing, outcome definition and the supplied cluster-robust uncertainty specification.

  2. 02

    Compute each group’s change, subtract the comparison change from the treated change, and form the declared interval.

  3. 03

    Interpret as ATT only if parallel trends, no anticipation, overlap and valid comparison timing are defensible.

10

Numerical example or application case

Worked examplesynthetic data or declared parameters; no real observations

Sealed inputs

  • treated_pre=100 [index]
  • treated_post=120 [index]
  • control_pre=90 [index]
  • control_post=98 [index]
  • standard_error=4 [index]
  • z_critical=1.95996398454 [dimensionless]

Reproducible results

  • ATT_DiD=12
  • CI95=[4.160144; 19.839856]

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

  • Are pre-treatment trends credible for the chosen comparison group?
  • Could units anticipate treatment or change composition before adoption?
  • For staggered adoption, is group-time ATT used instead of an invalid two-way fixed-effects aggregation?

12

Diagnostics and uncertainty

Diagnostics and uncertainty

Pre-trends · Anticipation · Use group-time ATT for staggered adoption · Clustered uncertainty

Bounded diagnostic

Interpretation still requires parallel trends, no anticipation and an appropriate clustered variance design.

Explicit uncertainty contract · quantified_conditional

Method : Deterministic reference-engine calculation on the sealed input slice.

Target : Uncertainty of the difference-in-differences ATT illustration.

Engine evidence : metric.ci_lower= · metric.ci_upper=

Interpretation : The interval is conditional on the supplied cluster-robust standard error and does not establish parallel trends.

Stop when

Prove future parallel trends from pre-period data alone.

13

Result interpretation

  • Estimate an ATT for groups and periods covered by the design.
  • 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

Estimate an ATT for groups and periods covered by the design.

Forbidden

Prove future parallel trends from pre-period data alone.

15

Possible marketing decision

  1. 01

    Estimate an ATT for groups and periods covered by the design.

  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

Estimate an ATT for groups and periods covered by the design.

unit × group × period

Stop when

Prove future parallel trends from pre-period data alone.

Methodological alternatives

  • Estimate group-time ATT with not-yet-treated or never-treated controls for staggered adoption.
  • Use an event-study design to expose dynamic effects and pre-trend diagnostics.
  • Prefer randomized rollout when intervention timing can be assigned.

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: 928e93319b64e017684dad7e878d79a85a38b2296a0925cc3597773489b3fc56

Available asset · MSC-005

Promotion incrementality

Available asset · MSC-T02

DiD calculator

Formal model

att_did = (treated_post − treated_pre) − (control_post − control_pre); CI = att_did ± z_critical × standard_error

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 an effect with difference-in-differences?unit × group × period

  2. 02

    Y_T_post · Y_T_pre · Y_C_post · Y_C_pre · z · cluster_SE · ATT_DiD · CI

  3. 03

    att_did = (treated_post − treated_pre) − (control_post − control_pre); CI = att_did ± z_critical × standard_error

  4. 04

    Pre-trends · Anticipation · Use group-time ATT for staggered adoption · Clustered uncertainty

  5. 05

    Estimate an ATT for groups and periods covered by the design. / Prove future parallel trends from pre-period data 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-P015-C01The causal target contrasts mean potential outcomes under two defined interventions.
  2. MSC-P015-C02Consistency links the observed outcome to the potential outcome under the assigned policy.
  3. MSC-P015-C03Fitting a regression does not itself establish a causal design.
  4. MSC-P015-C04Identification requires explicit parallel-trends and no-anticipation assumptions.
  5. MSC-P015-C05The framework distinguishes common and staggered adoption designs.
  6. MSC-P015-C06Covariate adjustment depends on the identification design.
  1. Hernán & Robins, Causal Inference: What If
  2. Arnold et al., 2020
  3. Callaway & Sant’Anna, 2021

Dataset · Tool

Dataset · MSC-005Promotion incrementalityTool · MSC-T02DiD calculator

Method connections

Parent territoryMeasurement and causality: how can a marketing effect be established?RequiresCorrelation or causality: what can an analysis actually support?Compare withHow do you design a marketing geo experiment?

Read next

MSC-H-001Measurement and causality: how can a marketing effect be established?MSC-P-002Correlation or causality: what can an analysis actually support?MSC-P-014How do you design a marketing geo experiment?MSC-P-017How do you detect selection, contamination and attrition in an experiment?