Single-page clinical trial workbench for Bayesian re-analysis of superiority and non-inferiority studies.
Reference basis: Zampieri FG et al. Am J Respir Crit Care Med. 2021;203(5):543-552, with supplementary appendix conventions for prior strength and heterogeneity summaries.
Choose trial design, supply the reported effect measure or 2x2 counts, and define whether lower or higher ratios mean benefit.
Use the Zampieri scenarios or manually choose skeptical, optimistic, and pessimistic priors with weak, moderate, or strong strength.
See summary boxes, sensitivity across priors, distribution plots, heterogeneity, and a clinician-facing interpretation block.
Start with the reported estimate from the manuscript. For binary outcomes you can enter the published ratio with its confidence interval or derive an odds ratio from raw event counts.
The neutral priors are your skeptical anchors. Optimistic and pessimistic priors are centered symmetrically around the expected study effect, following the Zampieri grid.
Use the scenario defaults if you want a standardized read. If you are working from external evidence, keep the scenario as manual and add a custom prior in log-ratio units.
Each row shows the posterior estimate and clinically relevant probabilities under one prior. The flat prior is included as a reference, not as a recommended prior.
Use the combined view to inspect overlap across priors, then switch to individual priors for threshold-level cumulative probabilities.
This meta-analytic summary treats each posterior under a different prior as one sensitivity scenario and estimates how much the conclusion shifts with prior choice.
When you read a clinical trial (RCT), the results usually say something like "OR 0.85, 95% CI 0.70–1.03, p = 0.09" and conclude the treatment "did not reach statistical significance." But does that really mean the treatment doesn't work?
This tool performs a Bayesian re-analysis — it takes the trial's numbers and tells you the actual probability that the treatment is beneficial or harmful. Instead of a binary yes/no answer, you get something like: "There is an 88% probability that this treatment reduces mortality."
Supports both superiority and non-inferiority trial designs.
Choose Superiority (default) if the trial aimed to show the treatment is better than control. Choose Non-Inferiority if the trial aimed to show the treatment is "not worse than" the standard of care (see Non-Inferiority section below for details).
| What to look for | Where to find it | Example |
|---|---|---|
| Odds Ratio (OR) + 95% CI | Results section, binary outcomes | OR 1.27 (95% CI 0.99–1.63) |
| Risk Ratio (RR) + 95% CI | Results section | RR 0.83 (95% CI 0.68–1.02) |
| Hazard Ratio (HR) + 95% CI | Time-to-event outcomes | HR 1.20 (95% CI 1.01–1.42) |
| Event counts | Tables: events/total per group | Tx: 167/501; Ctrl: 142/509 |
Any one of these is enough. RR and HR are analyzed on their own reported ratio scale; raw 2x2 counts are converted to an odds ratio.
The Expected Ratio field determines where the optimistic and pessimistic priors are centered. It does not affect the neutral (skeptical) priors, which are always centered at ratio = 1.0.
| Prior | Center (Mean) | Example (Expected OR = 0.75) |
|---|---|---|
| Neutral | log(1.0) = 0 | Always 0 — unaffected |
| Optimistic | log(Expected ratio) | log(0.75) = −0.288 |
| Pessimistic | −log(Expected ratio) | +0.288 (mirror of optimistic) |
Where to find it: Look in the paper's Methods → Sample Size Calculation section for a sentence like "We powered the study to detect an OR of 0.75" or "assuming a 25% relative risk reduction (RR = 0.75)." Enter that value here.
If you cannot find this value, 0.75 is a reasonable default for most superiority trials. If you only use neutral (skeptical) priors, this field has no effect.
Then select a Prior Scenario from the dropdown. Each scenario pre-selects which priors to include and at what strength, based on Table 2 of Zampieri et al.
If unsure about scenario, "Conflicting evidence" (default) is the safest choice.
Instant results: summary, tables, density + CDF plots, forest plot, heterogeneity, and text interpretation.
Goal: Show the new treatment is better than control.
Key question: "What is the probability that the treatment works?"
Main output: P(Benefit), P(Harm), P(Important Benefit), P(Severe Harm)
Example: A new drug vs. placebo for reducing mortality.
Goal: Show the new treatment is not meaningfully worse than the active comparator.
Key question: "What is the probability that the treatment effect is within the acceptable margin?"
Main output: P(Non-Inferiority) — the Bayesian probability that the selected ratio measure stays within the NI margin.
Example: A cheaper/simpler drug vs. the standard drug — is it "close enough"?
In an NI trial, you pre-define a non-inferiority margin — the maximum amount by which the new treatment can be worse and still be "acceptable."
| NI Margin Format | How it works | Example |
|---|---|---|
| Selected ratio scale | Directly specify the maximum acceptable ratio on the current measure scale. For bad outcome: NI if ratio < margin. For good outcome: NI if ratio > 1/margin. |
NI margin = 1.2 means "up to 20% worse is acceptable" on the chosen ratio scale |
| Absolute risk difference | Specify the maximum absolute difference in event rates. Requires the control group event rate and is only available for OR-based analyses. Formula: OR = [p₀+δ] × [1−p₀] / [p₀ × (1−p₀−δ)] |
NI margin = 5%, control rate = 25% → OR margin ≈ 1.29 |
The Zampieri framework uses 9 priors organized as a 3×3 grid: 3 beliefs × 3 strengths.
| Belief | Center (Mean) | What it means |
|---|---|---|
| Neutral (= Skeptical) | log(ratio) = 0 → ratio = 1.0 | No prior expectation. The skeptical prior — treatment probably does nothing until proven otherwise. |
| Optimistic | log(Expected ratio) | Prior belief that the treatment works as expected on the selected ratio scale. |
| Pessimistic | −log(Expected ratio) | Prior belief that the treatment is harmful (mirror of optimistic). |
| Strength | How SD is calculated | What it means |
|---|---|---|
| Weak | P(crossing null) = 30% | Very uncertain. Data dominate. |
| Moderate | P(crossing null) = 15% | Reasonably confident. Moderate influence. |
| Strong | P(crossing null) = 5% | Very confident. Strong influence. Only use with strong external evidence. |
The Neutral priors are the skeptical priors. Centered at ratio = 1.0 (no effect).
If even the Neutral Strong prior shows high P(Benefit), the evidence is very convincing.
| Scenario | Neutral | Optimistic | Pessimistic |
|---|---|---|---|
| Little to no prior info | Weak | Weak | Weak |
| Conflicting evidence | Moderate | Moderate | Moderate |
| Evidence toward benefit, no outliers | Moderate | Moderate | Weak |
| Evidence toward benefit, with outliers | Moderate | Moderate | Moderate |
| Consecrated beneficial | Moderate | Strong | Weak |
| Low rationale for direct effect | Strong | Weak | Weak |
| Several neutral trials, near futility | Strong | Weak | Weak |
In addition to the 9 Zampieri priors, you can add your own prior based on external evidence. Open the "Custom prior" collapsible section in the Analysis tab.
| Field | What to enter |
|---|---|
| Prior Mean | The center of your prior on the log-ratio scale. Example: if you believe OR = 0.82 → enter log(0.82) = −0.198 |
| Prior SD | Standard deviation on the log-ratio scale. Smaller SD = stronger prior. Typical range: 0.10 (very strong) – 1.0 (very weak) |
| Prior Name | A descriptive label (e.g., "Meta-analysis prior") |
Example: A published meta-analysis of 5 RCTs reports a pooled OR = 0.82 with 95% CI 0.68–0.99.
This prior will appear as an additional row in the results table and an extra curve in the plots.
| P(Benefit) | P(ratio < 1.0) |
| P(Harm) | P(ratio > 1.0) |
| P(Important Benefit) | P(ratio < benefit threshold) Default: P(ratio < 0.80) |
| P(Severe Harm) | P(ratio > harm threshold) Default: P(ratio > 1.25) |
| ROPE | P(0.91 < ratio < 1.10) |
| P(Benefit) | P(ratio > 1.0) |
| P(Harm) | P(ratio < 1.0) |
| P(Important Benefit) | P(ratio > 1/benefit threshold) Default: P(ratio > 1.25) |
| P(Severe Harm) | P(ratio < 1/harm threshold) Default: P(ratio < 0.80) |
| ROPE | P(0.91 < ratio < 1.10) |
ART trial (2017): OR 1.27 (95% CI 0.99–1.63, p = 0.057) for 28-day mortality — "not statistically significant."
Bayesian result: >93% probability of harm despite p = 0.057. Much more useful than "not significant."
| Term | Plain English |
|---|---|
| Prior | Starting belief about the treatment before this trial |
| Posterior | Updated belief after combining prior with trial data |
| Neutral/Skeptical | "Treatment probably does nothing" — centered at ratio = 1 |
| Ratio Measure | OR, RR, or HR. A value of 1 means no effect; values below or above 1 favor one arm depending on whether the outcome is bad or good. |
| 95% CrI | 95% probability the true value is in this range |
| ROPE | Region of Practical Equivalence — effects too small to matter |
| NI Margin | Maximum acceptable inferiority in a non-inferiority trial |
| P(NI) | Bayesian probability that the treatment is non-inferior |
| I² | How much results change with different prior assumptions |