Effect Modification and Interaction on Additive and Multiplicative Scales
Description or causal assessment of how a treatment effect differs across a modifier, with explicit effect scale, subgroup definitions, and uncertainty; statistical interaction is scale- and model-dependent.
On this page
Description or causal assessment of how a treatment effect differs across a modifier, with explicit effect scale, subgroup definitions, and uncertainty; statistical interaction is scale- and model-dependent. Use for prespecified subgroup questions, policy-relevant absolute-benefit differences, or scientifically justified joint-intervention questions.
Definition and scope
Description or causal assessment of how a treatment effect differs across a modifier, with explicit effect scale, subgroup definitions, and uncertainty; statistical interaction is scale- and model-dependent. The target population, use, and analysis remain protocol decisions; this card explains the choices and their consequences rather than approving a study.
Operational specification
Specify treatment strategies, baseline modifier, target population, outcome/horizon, additive or multiplicative contrast, subgroup hypotheses, and whether the aim is descriptive heterogeneity, causal effect modification, or interaction between two interventions. Preserve subgroup sample sizes, absolute risks, and uncertainty. Baseline risk variation can produce different absolute effects even with a common relative effect.
Analysis and diagnostics
Estimate the intended interaction contrast and its interval, using appropriate dependence and multiplicity handling. A treatment-by-modifier term in one regression represents interaction on that model's link scale; it does not summarize every clinically relevant scale. For exploratory HTE, separate model development from honest evaluation and avoid interpreting noisy subgroup rankings as definitive treatment rules.
When NOT to use and common errors
Do not claim heterogeneity because one subgroup p-value is significant and another is not, infer no effect modification from an underpowered interaction test, call all subgroup associations causal, or equate additive and multiplicative interaction.
Worked example and implementation boundary
Synthetic risk differences are -0.10 in one baseline subgroup and -0.04 in another. Calculate the additive effect-modification contrast as first minus second. The additive contrast is -0.06, or six percentage points more risk reduction in the first subgroup. Sampling uncertainty and causal identification are not supplied by this arithmetic. The code performs that explicitly stated calculation with synthetic inputs. It is not a complete fitted analysis and does not demonstrate the identification assumptions, estimate sampling uncertainty, or certify application in another population.
Data-source and reporting requirements
Preserve the provenance, dates, units, and observation rule for each input. Claims capture services and transactions under observable benefits; absence of a record is not proof that an event or resource use did not occur. EHR and registry measurements depend on the collection process and may miss care outside the system. Linked sources add reconciliation and selection questions. Primary collection can improve a missing domain but still requires valid measurement and follow-up. Report which of these limitations affects the stated use, which evidence supports the chosen inputs, and what remains uncertain.
Worked example
Scenario
Synthetic risk differences are -0.10 in one baseline subgroup and -0.04 in another. Calculate the additive effect-modification contrast as first minus second.
Dataset
Synthetic inputs with units defined in the scenario; no patient data.
| input | value |
|---|---|
| rd_group1 | -0.1 |
| rd_group2 | -0.04 |
Steps
Result
The additive contrast is -0.06, or six percentage points more risk reduction in the first subgroup. Sampling uncertainty and causal identification are not supplied by this arithmetic.
Trade-offs
Code example
Executed example · Python 3.11.15 · 2026-11-01T02:04:28+00:00
Self-contained synthetic calculation for the worked example only. Inputs and units are listed in the dataset; output is the displayed scalar. This does not fit the full study/model, estimate uncertainty, or select an analysis for a real study.
rd_group1 = -0.1
rd_group2 = -0.04
result = rd_group1-rd_group2
assert abs(result - -0.060000000000000005) < 1e-9
print(result)
Executed example · Rscript (R) version 4.6.1 (2026-06-24) · 2026-11-01T02:04:28+00:00
Self-contained synthetic calculation for the worked example only. Inputs and units are listed in the dataset; output is the displayed scalar. This does not fit the full study/model, estimate uncertainty, or select an analysis for a real study.
rd_group1 <- -0.1
rd_group2 <- -0.04
result <- rd_group1-rd_group2
stopifnot(abs(result - -0.060000000000000005) < 1e-9)
print(result)
Illustrative example · execution not verified
Self-contained synthetic calculation for the worked example only. Inputs and units are listed in the dataset; output is the displayed scalar. This does not fit the full study/model, estimate uncertainty, or select an analysis for a real study. SAS source is illustrative until executed in a compatible SAS runtime.
data worked_example;
rd_group1 = -0.1;
rd_group2 = -0.04;
result = rd_group1-rd_group2;
put result=;
run;