Data entry
CSV templates and examples
Ready-to-use CSV files for every analysis module. Each module has an empty template (header row only, fill it in) and a filled example with 7–10 illustrative studies. Import these directly from the Data tab of any outcome.
Column order in your file doesn't matter as long as the header names match. Any extra columns are silently ignored. Missing required columns trigger a clear import error.
Real published examples
Datasets from real, published meta-analyses with full citations. Each one is a known landmark in the methodology literature. Use them to learn the workflow, validate your own installation, or compare your pooled estimates against the published values cited below.
BCG vaccine for tuberculosis prevention
Pairwise — Binary outcomes (RR) · k = 13
- Outcome
- TB cases (events1 = vaccinated, events2 = control)
- Why this dataset
- The single most-cited dataset in meta-analysis methodology — used by every textbook and software package (metafor ships it as `dat.bcg`). Strong heterogeneity (I² ≈ 92%) makes it a clean test of random-effects pooling, HKSJ adjustment, and meta-regression on latitude.
- Published pooled estimate (target for validation)
- Pooled log-RR = -0.7145, SE = 0.1798, 95% CI [-1.067, -0.362], τ² (DL) = 0.3132, Q = 152.23 (df=12, p<0.0001), I² ≈ 92%. The engine reproduces these to 2-decimal precision; see src/engines/analysis/__tests__/published-examples.test.ts.
- Citation
- Colditz GA, Brewer TF, Berkey CS, et al. Efficacy of BCG vaccine in the prevention of tuberculosis. Meta-analysis of the published literature. JAMA. 1994;271(9):698-702. doi:10.1001/jama.1994.03510330076038 · PMID:8309034
More verified datasets coming. Have a freely-available published meta-analysis you'd like to see here? Email hello@meta-analysis.io with the citation and we'll add it.
Two-arm studies where each arm reports the number of events and total participants. Used for odds ratio, risk ratio, risk difference, and Peto odds ratio.
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier (e.g., "Smith 2019"). Must be unique. |
| year | optional | Publication year (1900–2100). |
| events1 | required | Events in the experimental / treatment arm. |
| n1 | required | Total participants in the experimental / treatment arm. |
| events2 | required | Events in the control arm. |
| n2 | required | Total participants in the control arm. |
- Zero cells are handled via the outcome's zeroCellHandling setting (constant / treatment-arm / empirical / none).
Two-arm studies where each arm reports mean, SD, and N. Used for mean difference, standardized mean difference (Hedges' g), and ratio of means.
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. Must be unique. |
| year | optional | Publication year. |
| mean1 | required | Mean in the experimental / treatment arm. |
| sd1 | required | Standard deviation in the experimental arm (≥ 0). |
| n1 | required | Sample size in the experimental arm. |
| mean2 | required | Mean in the control arm. |
| sd2 | required | Standard deviation in the control arm (≥ 0). |
| n2 | required | Sample size in the control arm. |
- Ratio of means (ROM) requires positive means in both arms.
Pre-computed effect sizes from any source — adjusted regression coefficients, hazard ratios, risk ratios pulled from a paper, etc. Pick the effect-measure type in the outcome settings (OR / RR / HR / IRR / MD / SMD / ROM / GENERIC) so the engine knows the scale, the forest plot carries the right name, and the null line lands in the right place.
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. |
| year | optional | Publication year. |
| effectSize | required | Point estimate. For ratio measures (OR/RR/HR/IRR/ROM) on raw scale (e.g. RR = 1.5), the engine log-transforms automatically. For GENERIC, pooled as-is. |
| standardError | optional | Standard error of the effect size. Optional if you provide lowerCI + upperCI instead. |
| lowerCI | optional | Lower 95% CI. Used to derive SE when standardError is blank: SE = (upper − lower) / (2 × 1.96). |
| upperCI | optional | Upper 95% CI. Same role as lowerCI. |
- You must supply EITHER standardError OR both lowerCI + upperCI for each row. The example CSV mixes both styles to show the flexibility.
- Recognised CI header aliases (any case, with or without spaces / underscores / percent signs): "Lower CI", "LCI", "LL", "LCL", "Lower 95% CI", "95% CI Lower", "ci_lower", "Lower (95% CI)", "Lower Bound" — same for the upper bound.
- For non-95% CI widths, supply standardError directly (the CI→SE conversion assumes z ≈ 1.96).
Time-to-event studies reporting an HR with a 95% confidence interval. The app converts HR and CI to the log scale with SE = (log(upper) − log(lower)) / (2 × 1.96).
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. |
| year | optional | Publication year. |
| hazardRatio | required | Reported hazard ratio (> 0). |
| hrLowerCI | required | Lower bound of the 95% CI (> 0). |
| hrUpperCI | required | Upper bound of the 95% CI (> 0). |
- The CI is assumed to be 95% (z ≈ 1.96). For other CI widths use the Generic IV template with a manually computed SE.
Two-arm studies with event counts and person-time per arm. Computes log incidence-rate-ratio with Poisson variance.
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. |
| year | optional | Publication year. |
| events1 | required | Events in the treatment arm. |
| personTime1 | required | Person-time in the treatment arm (any consistent unit, e.g., person-years). |
| events2 | required | Events in the control arm. |
| personTime2 | required | Person-time in the control arm. |
Meta-analysis of reported AUC or C-statistic values with standard errors. Pre-compute SE from the reported 95% CI of the AUC if needed.
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. |
| year | optional | Publication year. |
| effectSize | required | AUC or C-statistic (typically 0.5–1). |
| standardError | required | Standard error of the AUC (> 0). |
Pooling regression coefficients reported by individual studies (typically standardized or log-scale β) with their standard errors.
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. |
| year | optional | Publication year. |
| effectSize | required | Regression coefficient β on the appropriate scale. |
| standardError | required | Standard error of β (> 0). |
Single-group studies reporting the number of events and the total. Supports Freeman-Tukey, logit, arcsine, and raw proportion transforms.
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. |
| year | optional | Publication year. |
| events | required | Number of subjects with the outcome. |
| total | required | Total sample size (≥ 1). |
- PFT (Freeman-Tukey double-arcsine) is the default transform; back-transformation uses Miller (1978) with the harmonic mean of sample sizes.
Single-sample studies reporting Pearson's r and n. Fisher's z transform is used by default for variance stabilization.
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. |
| year | optional | Publication year. |
| correlation | required | Pearson's r in [−1, 1]. |
| sampleSize | required | Sample size (≥ 3). |
Studies evaluating a single diagnostic test. Each row is a 2×2 table: TP (true positives), FP (false positives), FN (false negatives), TN (true negatives).
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. |
| year | optional | Publication year. |
| tp | required | True positives: disease +, test +. |
| fp | required | False positives: disease −, test +. |
| fn | required | False negatives: disease +, test −. |
| tn | required | True negatives: disease −, test −. |
- Zero cells trigger continuity correction (default add 0.5). Bivariate (Reitsma) analysis is available alongside the univariate pooling.
Network Meta-Analysis
Multi-treatment network. The engine accepts three input shapes; pick the one that matches what you have. Each row is one pairwise contrast contributed by a study; multi-arm studies span multiple rows that share a label.
Binary outcomes (OR, RR, RD)
Each row reports events + total per arm. Engine pools log-OR or log-RR with inverse-variance weighting.
Continuous outcomes (MD, SMD, ROM)
Each row reports mean, SD, and N per arm. Engine pools mean difference or Hedges' g (with the SMD-method setting).
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. Multi-arm studies should share a label across their rows. |
| year | optional | Publication year. |
| treatment1 | required | Name of the first treatment in the contrast (e.g., "Drug A", "Placebo"). |
| treatment2 | required | Name of the second treatment. |
- Treatment names are matched case-sensitively. Use the same spelling for the same treatment across studies.
- For SMD the app uses Hedges' g with the J small-sample correction. Glass's Δ and Cohen's d are also supported via the SMD-variant setting.
- NMA-DTA (network meta-analysis of diagnostic tests) has its own section below.
Network meta-analysis of diagnostic tests. Each row is one (study, test) pair with its 2×2 table; studies evaluating multiple tests share a study label across rows.
| Column | Required | Description |
|---|---|---|
| label | required | Study identifier. Multi-test studies (paired designs) must reuse the same label. |
| year | optional | Publication year. |
| test | required | Name of the diagnostic test evaluated in this row (e.g., "CT", "MRI", "US"). |
| tp | required | True positives for this test in this study. |
| fp | required | False positives. |
| fn | required | False negatives. |
| tn | required | True negatives. |
| referenceTest | optional | Reference (gold) standard used by this study — e.g., "biopsy", "clinical follow-up". Strongly recommended; the app warns when mixed reference standards are present because results are biased across them. |
- Within-study pairwise contrasts are computed on log-DOR. A Per-Test Accuracy tab also shows marginal pooled Sens/Spec/DOR/LRs side-by-side.
See also the statistical methods reference for the formulas and estimators each module uses. Questions about a specific field? hello@meta-analysis.io