Multilevel Network Meta-Regression
Population-adjusted evidence synthesis combining individual and aggregate trial data in a coherent network model, integrating individual-level relationships over study covariate distributions to target effects in specified populations.
On this page
Population-adjusted evidence synthesis combining individual and aggregate trial data in a coherent network model, integrating individual-level relationships over study covariate distributions to target effects in specified populations. Use for comparative treatment decisions when both individual and aggregate randomized evidence can support a jointly specified population-adjusted network analysis.
Definition and scope
Population-adjusted evidence synthesis combining individual and aggregate trial data in a coherent network model, integrating individual-level relationships over study covariate distributions to target effects in specified populations. 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 the connected network, randomized contrasts, individual versus aggregate data availability, covariate definitions/distributions, effect modifiers, prognostic covariates, outcome model/link, heterogeneity structure, and target population. Preserve within-trial randomization and distinguish marginal population effects from conditional model coefficients.
Analysis and diagnostics
Integrate the individual-level model over aggregate-study covariate distributions rather than substituting means into a nonlinear link. Assess network consistency, effect-modifier assumptions, overlap, distributional approximations, model fit and sensitivity. Propagate covariate-distribution and parameter uncertainty when relevant. Richer modeling does not create evidence for an unmeasured effect modifier.
When NOT to use and common errors
Do not call a pairwise MAIC an ML-NMR, combine incompatible outcomes or follow-up without a justified model, assume aggregate means fully describe covariate distributions, or interpret a conditional odds ratio as a marginal risk contrast.
Worked example and implementation boundary
A synthetic target population is 70% low-risk and 30% high-risk; a previously specified model predicts strategy-specific risks 0.10 and 0.30 in those strata. Calculate the standardized risk for that one strategy. The standardized risk is 0.16. This illustrates population integration only, not fitting an ML-NMR network or estimating a contrast. 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
A synthetic target population is 70% low-risk and 30% high-risk; a previously specified model predicts strategy-specific risks 0.10 and 0.30 in those strata. Calculate the standardized risk for that one strategy.
Dataset
Synthetic inputs with units defined in the scenario; no patient data.
| input | value |
|---|---|
| low_share | 0.7 |
| high_share | 0.3 |
| low_risk | 0.1 |
| high_risk | 0.3 |
Steps
Result
The standardized risk is 0.16. This illustrates population integration only, not fitting an ML-NMR network or estimating a contrast.
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.
low_share = 0.7
high_share = 0.3
low_risk = 0.1
high_risk = 0.3
result = low_share*low_risk+high_share*high_risk
assert abs(result - 0.15999999999999998) < 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.
low_share <- 0.7
high_share <- 0.3
low_risk <- 0.1
high_risk <- 0.3
result <- low_share*low_risk+high_share*high_risk
stopifnot(abs(result - 0.15999999999999998) < 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;
low_share = 0.7;
high_share = 0.3;
low_risk = 0.1;
high_risk = 0.3;
result = low_share*low_risk+high_share*high_risk;
put result=;
run;