Pearl 2014 - Marketing Application Transporting Geo and Lift Results

Summary

The paper’s LA-to-NYC examples map onto a daily marketing-measurement problem: a randomized geo or conversion-lift test gives an experimental effect in the test markets, and the question is what the same media change would do in other markets or later periods where only observational data exist. The transport formulas say which reweighting is licensed, depending on whether the differing variable is pre-treatment (Eq. 3.1) or post-treatment (Eq. 3.4). This note is an interpretation: the paper itself discusses only medical and demographic examples.

Overview

Mapping (our reading):

Paper objectMarketing counterpart
(study population)markets / audiences in the geo or lift test
(target population)rollout markets, another country, next year’s campaign
media spend level (randomized in the test; chosen by planners otherwise)
incremental sales or conversions
pre-treatment, market size, baseline brand strength, customer mix, seasonality state
post-treatmentbranded search, site visits, add-to-cart rate (react to ads)
presentcompetitor activity, creative fatigue, a different attribution window: a mechanism difference that breaks S-admissibility
onlydifferent planner allocation rule: ignorable (Example 5, Corollary 2)
Latent arcplanner targeting on unobserved demand: removed in the test by randomization

Related vault notes on the experiments themselves: Geo-Experiment Methodology - Overview, Time-Based Regression Estimator for Geo Experiments, Conversion Lift Studies on Ad Platforms.

Main Content

Case A: market-mix shift, pre-treatment stratifier (Eq. 3.1)

Test markets are small-skewed, rollout markets are large-skewed; the effect of spend varies by tier; tier is pre-treatment and, by assumption, the only thing changes.

Worked example

Setup. Stratum-specific incremental ROAS (incremental revenue per dollar) measured in the test: small 1.8, medium 1.2, large 0.7. Test-market mix ; rollout mix .

Naive carry-over (direct transport, Definition 7). .

Transport formula (3.1). gives .

Interpretation. The headline 1.40 overstates the rollout return by about 46% because the test over-sampled markets where spend is most productive. The licensing assumption is S-admissibility of tier: nothing else about the rollout markets changes how spend turns into sales given tier (no ). Competitor intensity, creative, or channel mix differences each break that assumption unless they are also measured and added to .

Case B: post-treatment mediator (Eq. 3.4)

Test shows spend raises branded-search (a mediator) and sales . In the rollout region the response of branded search to spend is weaker ( with ), but given the mechanism to sales is the same.

Worked example

(shared across regions). Branded-search response: test region ; rollout region .

  • Test effect of going from to : .
  • Transported effect (3.4): contrasted over gives .
  • Using (3.1) with a marginal would give only the direct part, , ignoring the mediated path.

The needed is observed in the rollout region at the spend levels it actually runs, provided and are not confounded there (Example 8 uses exactly this unconfoundedness). If they are confounded, a second small experiment is required (footnote 14).

import numpy as np
roas  = np.array([1.8, 1.2, 0.7]); p_src = np.array([.50,.30,.20]); p_tgt = np.array([.10,.30,.60])
print(roas @ p_src, roas @ p_tgt)                 # 1.4 (naive), 0.96 (Eq. 3.1)
lift  = lambda x, z: 1.0 + 2.0*x + 3.0*z
pz_s  = lambda x: .20 + .40*x; pz_t = lambda x: .20 + .10*x
eff   = lambda pz: sum(lift(1,z)*(pz(1) if z else 1-pz(1)) - lift(0,z)*(pz(0) if z else 1-pz(0)) for z in (0,1))
print(eff(pz_s), eff(pz_t))                       # 3.2 (test region), 2.3 (Eq. 3.4)

(Checked output: 1.4 0.96 and 3.2 2.3.)

Case C: surrogate in time (the paper’s “same place, different times”)

The paper’s surrogate-endpoint story has two studies at the same location at different times. In marketing the analogue is a test run in a prior year when branded search and share of voice had different levels than today. Treat time as the “population”: add an -node on the variables whose mechanisms moved (competitor spend, inflation, platform algorithm). The same diagnostic applies: if points into the intermediate only, use (3.4); if it points into (e.g. a new attribution window), the effect is not transportable from the old test.

What to check before reporting a transported number

  1. Is the stratifier pre-treatment? If a channel’s own spend moves it, use the (3.4)-type formula.
  2. Is there any left after conditioning on ? Unmeasured competitor or creative changes imply no S-admissible set (Fig. 5(a), Fig. 6(f)); report the effect as not transportable rather than imputing.
  3. Is positivity plausible, i.e. does the test contain markets of every tier present in the rollout? This is an estimator-level requirement from the potential-outcomes literature, see Degtiar 2023 - Identifying Assumptions; the nonparametric theory here silently needs to exist for every with .
  4. Use the formula’s measurement list: only the factors named in it need to be estimated in the test; the rest come from target observational data.

Examples

Relation to Bayesian MMM

A media-mix model fitted on national data and a geo test target the same causal object (), but they live in different populations/periods. A transport formula tells you which MMM parameters can be calibrated by a given test: only those whose mechanism is declared invariant (no -node) between the test setting and the MMM’s population. This reasoning is compatible with using geo-test results as informative priors in Bayesian Estimation and Priors for MMM, but the paper itself does not discuss MMM.

Connections

See Also