Back to Blog
Meta-Analysis
13

Egger's Test: Funnel Asymmetry, Variants, and R Code

Egger's test for funnel-plot asymmetry: regression formula, Peters and Harbord variants for binary outcomes, R and Stata code, PRISMA reporting checklist.

Dr. Sarah Mitchell

May 14, 2026

Reviewer asking for a publication bias assessment? PhD methodologists run Egger's regression, the correct binary-outcome variant, trim-and-fill, and a selection model, then write the results section for you. Get a free quote.

Key Takeaways

Egger's test is a t-test on the intercept of a regression of the standardized effect on precision; a non-zero intercept indicates funnel-plot asymmetry.

Run the test only with at least 10 studies and moderate heterogeneity; below that threshold the test has very low power.

On binary outcomes, prefer Peters' or Harbord's variant. The classical test has inflated type I error on odds ratios and risk ratios.

A significant test indicates asymmetry, not publication bias per se. Cite all plausible causes when reporting.

Best practice combines Egger's regression with trim-and-fill and one selection-model estimator as a convergent sensitivity analysis.

Egger's test is a linear-regression test for funnel-plot asymmetry used to detect small-study effects and possible publication bias in meta-analysis. It regresses the standardized effect estimate on its precision and asks whether the regression intercept differs significantly from zero. A non-zero intercept signals that smaller, less precise studies report systematically different effects than larger, more precise ones, which is the statistical fingerprint of an asymmetric funnel plot.

Introduced by Matthias Egger, George Davey Smith, Martin Schneider, and Christoph Minder in a 1997 BMJ paper, the test became the most cited diagnostic for funnel-plot asymmetry in clinical meta-analysis. Three decades later it remains the default reported alongside a funnel plot in PRISMA-compliant manuscripts, despite well-documented limitations on binary outcomes and small evidence bases. This guide walks through what the test does, when it works, when it breaks, and how to run it cleanly in R and Stata.

Egger's regression on the funnel plot

How Egger's Regression Builds on the Funnel Plot

The starting point is the funnel plot interpretation for publication bias: a scatterplot of effect estimates against a measure of precision such as the inverse of the standard error. In the absence of small-study effects, the points form a symmetric inverted funnel around the pooled estimate. Asymmetry, with small low-precision studies clustered on one side, is the visual signal Egger's test was designed to quantify. If you have effect sizes and standard errors ready, you can build the funnel plot online in a minute and inspect the asymmetry before running any regression.

Egger's regression formalizes the visual judgment. It converts each study's effect estimate into a standardized normal deviate by dividing the effect by its standard error, then regresses the deviate on the precision, which is the inverse of the standard error. In a symmetric funnel, the regression line passes through the origin: when precision is infinite the standardized deviate equals the true effect, and when precision is zero the deviate is zero. A non-zero intercept means that even infinitely imprecise studies do not produce a standardized deviate of zero, which only happens when the smallest, least precise studies are systematically pulled in one direction.

The test statistic is a t-test on the intercept of this regression. The reported quantities are the intercept estimate, its standard error, the t value, the degrees of freedom (number of studies minus two), and a p value. A small p value, conventionally below 0.10 in the original paper and often below 0.05 in modern practice, rejects the null hypothesis that the intercept is zero and supports the hypothesis of funnel-plot asymmetry.

What the Intercept Actually Measures

The intercept in Egger's regression has a direct interpretation: it is the predicted standardized effect at zero precision, which corresponds to a hypothetical study with infinite standard error. Under a symmetric funnel, no signal exists at zero precision and the intercept estimates zero. Under asymmetry caused by missing small negative studies, the intercept is positive because the only small studies that appear contribute positive standardized effects.

A common misreading is that the intercept measures the magnitude of publication bias directly. It does not. The intercept measures asymmetry of the funnel, and asymmetry has several possible causes, of which publication bias is only one. Other causes include true heterogeneity that correlates with study size, methodological differences between small and large studies, chance, and selective outcome reporting within studies. Egger's test is best understood as a test of asymmetry, not as a test of publication bias per se.

This distinction matters when reporting. A significant Egger's test should be reported as "evidence of small-study effects" or "evidence of funnel-plot asymmetry," not as "evidence of publication bias." The same applies to a non-significant test: it should be reported as "no statistical evidence of funnel-plot asymmetry," not as "no evidence of publication bias." The literature is full of papers that overclaim in both directions, and reviewers and methodologists routinely flag the language.

When You Can Trust Egger's Test

The test was designed and validated for continuous outcomes measured as standardized mean differences and similar effect sizes where the standard error is independent of the effect estimate. Under those conditions, Egger's regression has acceptable type I error and reasonable power, although the power is modest unless the asymmetry is pronounced and the evidence base is moderate or large.

The Cochrane Handbook and the original authors recommend a minimum of ten studies before running the test. Below this threshold the test has very low power and the p value is unstable. With fewer than ten studies, a non-significant Egger's test should not be interpreted as evidence of symmetry: the test could not have detected asymmetry even if it were present. With ten to twenty studies, modest power is available for moderate asymmetry. With more than twenty studies, the test is reasonably powered for the kinds of asymmetry that publication bias typically produces.

A second precondition is moderate heterogeneity. When between-study heterogeneity is very large, the standardized normal deviate becomes noisy and the regression intercept is hard to estimate precisely. Both extreme homogeneity and extreme heterogeneity can distort the test. Most authors report Egger's test alongside the I-squared statistic and the tau-squared estimate so readers can judge whether heterogeneity is in a range where the test is interpretable.

Why Egger's Test Can Fail on Binary Outcomes

The most important methodological caveat is that the classical Egger test can produce inflated type I error rates when applied to binary outcomes summarized as odds ratios or risk ratios. The reason is mathematical: for binary outcomes, the standard error of the log odds ratio is mechanically correlated with the log odds ratio itself, because both depend on the same cell counts. This induces funnel-plot asymmetry even when no publication bias or small-study effect exists.

Several authors have proposed corrections. Peters and colleagues in 2006 developed an alternative test that uses a weighted regression of the log odds ratio on a transformed measure of precision derived from the total sample size, avoiding the mechanical correlation. Harbord and colleagues in 2006 proposed a modified test based on the efficient score and Fisher's information, which has better statistical properties for binary outcomes. Macaskill and colleagues in 2001 introduced a related test using study size as the predictor rather than precision.

For binary outcome meta-analyses, the Cochrane Handbook recommends Peters' test or Harbord's test in preference to the classical Egger test. Most current meta-analysis software offers both as named options. Reviewers increasingly catch papers that apply the classical Egger test to odds ratios or risk ratios when an outcome-appropriate variant would have been correct. The choice of variant should be documented in the methods section of the manuscript.

Alternative and Complementary Tests for Publication Bias

Egger's test is one of several diagnostics for publication bias and small-study effects. The classical alternative is the rank correlation test of Begg and Mazumdar from 1994, which computes the Kendall tau correlation between the standardized effect and its variance. Begg's test has lower power than Egger's in most realistic scenarios and is now usually reported only when historical comparison with older meta-analyses is needed.

A different family of methods estimates the effect after adjusting for funnel-plot asymmetry. The trim-and-fill method of Duval and Tweedie iteratively imputes missing studies on the under-represented side of the funnel and recomputes the pooled estimate. The adjusted estimate gives a rough sense of how publication bias could shift the result, but trim-and-fill has known limitations under heterogeneity and is best interpreted as a sensitivity analysis rather than a definitive correction.

The Copas selection model explicitly models the probability that a study is published as a function of its standard error and effect estimate, and estimates the corrected pooled effect under that selection. It is computationally more demanding and requires the user to specify or sweep across selection parameters, but it can recover from severe selection that defeats simpler tests. Other selection-model approaches include the Vevea-Hedges weight function and the PET-PEESE regression family; our selection model calculator runs the Vevea-Hedges weight-function analysis in the browser, and the companion p-curve analysis tool tests whether your significant results carry evidential value. A complete sensitivity analysis often combines Egger's regression with trim-and-fill and one selection-model estimator. For a broader survey of approaches, see publication bias detection methods and the related discussion of fail-safe N methods.

Need help with your meta-analysis?

Our PhD statisticians run complete meta-analyses: effect sizes, forest plots, heterogeneity testing, and publication-ready results sections.

Running Egger's Test in R

Both major R packages for meta-analysis support Egger's regression directly. In the metafor package, the regtest() function is called on a fitted meta-analytic model object, with the predictor controlled by the model argument. The default is a linear regression of the standardized effect on inverse standard error, which is the classical Egger test. The function also supports Peters' and Harbord's tests when called on appropriate input.

library(metafor)
res <- rma(yi, vi, data = mydata, method = "REML")
regtest(res, model = "lm", predictor = "sei")

In the meta package, metabias() is the corresponding function and accepts a method argument that selects between the linreg (Egger), rank (Begg), peters, harbord, and macaskill variants. The function is called on a meta object returned by metagen(), metabin(), or metacont().

library(meta)
m <- metabin(events_treat, n_treat, events_ctrl, n_ctrl, sm = "OR", data = mydata)
metabias(m, method = "linreg")
metabias(m, method = "harbord")
metabias(m, method = "peters")

Both packages return the test statistic, degrees of freedom, p value, and the regression coefficients. The metafor package reference covers extended diagnostics and the broader meta-analysis in R workflow embeds Egger's test alongside the funnel plot and trim-and-fill in a single sensitivity-analysis script.

If a reviewer has requested a complete small-study-effects workup and you would rather hand the statistics off, our meta-analysis support from PhD methodologists covers the correct test variant for your outcome type, trim-and-fill, a selection-model analysis, and the reporting language journals expect, with reproducible R or Stata code included. Request a fixed quote for your project.

Egger versus Peters versus Harbord variants

Running Egger's Test in Stata

In Stata, the metabias command from the metan package performs Egger's regression and several related tests. The command takes the effect estimate, its standard error, and a method specification.

metabias logor selogor, graph
metabias logor selogor, harbord
metabias logor selogor, peters

For binary outcomes, the Harbord or Peters specifications are preferred. The metafunnel command produces a complementary funnel plot, and metatrim performs trim-and-fill. Recent versions of the meta suite in Stata 16 and later offer a more integrated meta bias syntax with the same set of variants under simpler argument names.

How to Report Egger's Test in a Manuscript

A PRISMA-compliant report of Egger's test includes the number of studies the test was run on, the variant chosen (classical Egger, Peters, or Harbord), the intercept estimate with its standard error, the test statistic and degrees of freedom, the p value, and the software and version used. The report should also note the heterogeneity of the meta-analysis (I-squared or tau-squared) because the test's reliability depends on it.

An example reporting sentence: "Funnel-plot asymmetry was assessed using Egger's regression for continuous outcomes (Egger 1997). With 18 included studies and tau-squared of 0.04, the intercept was 0.21 (standard error 0.39, t = 0.54, df = 16, p = 0.60), providing no statistical evidence of funnel-plot asymmetry. Analyses were performed in R using metafor 4.0 and the regtest function."

For meta-analyses where the choice of bias test matters, report both Egger's and at least one alternative such as trim-and-fill or Begg's test, and discuss any divergence. The meta-analysis fundamentals review covers the full PRISMA-aligned reporting checklist for small-study effect diagnostics.

Not sure whether your meta-analysis needs Egger's, Peters', or Harbord's test? Send us your extraction sheet and we will run the full small-study-effects workup with reproducible code. Get a free quote.

Common Misinterpretations of the Test

The first and most common misinterpretation is conflating Egger's test with a publication bias test. As discussed, Egger's regression measures funnel-plot asymmetry. Funnel asymmetry has several causes. A significant Egger test is consistent with publication bias but does not prove it.

The second common misinterpretation is claiming absence of publication bias from a non-significant Egger test. This is a power problem. With ten to fifteen studies and moderate heterogeneity, the test has limited power to detect even substantial publication bias. A non-significant result is consistent with no publication bias and also consistent with publication bias that the test could not detect. Most journals now require authors to acknowledge this explicitly.

The third common misinterpretation is running the classical Egger test on binary outcomes without considering Peters' or Harbord's variants. As discussed, the classical test has inflated type I error on binary outcomes, so a significant classical Egger result on odds ratios overstates the evidence for asymmetry. Authors who report the classical test on binary outcomes should at minimum note this limitation. Many reviewers will flag this issue.

The fourth common misinterpretation is omitting the test when fewer than ten studies are available. The Cochrane Handbook explicitly recommends against running Egger's test below this threshold. If you have only six or eight studies, report that the test was not run and explain why. Reviewers do not expect Egger's test on five-study meta-analyses; they do expect the omission to be justified.

Reporting checklist for Egger's test

Sensitivity Analysis That Surrounds Egger's Test

Robust sensitivity analysis embeds Egger's test in a broader framework rather than treating it as a single hypothesis test. A standard package of diagnostics includes the funnel plot itself, Egger's or a variant regression test, trim-and-fill estimates, and one selection-model estimator. You can also run leave-one-out diagnostics online to check whether any single study drives both the pooled estimate and the asymmetry signal.

The interpretation is convergent rather than dispositive. If all four diagnostics agree that the funnel is symmetric and the pooled estimate is stable, the manuscript can state with confidence that publication bias is unlikely to explain the result. If the diagnostics disagree, the discussion should walk through why they disagree, which usually points to heterogeneity, methodological differences between studies, or a small evidence base.

This convergent approach is what review groups, methodologists, and high-impact journals expect in 2026. A single significant or non-significant Egger test on its own is no longer treated as sufficient evidence either way. Authors who can show that Egger's regression, trim-and-fill, and a selection-model analysis all point in the same direction have a much stronger publication-bias narrative than authors who report Egger's test alone.

Frequently Asked Questions

What does Egger's test tell you?

Egger's test tells you whether a meta-analysis's funnel plot is asymmetric. The intercept of a regression of the standardized effect on precision is tested against zero. A significantly non-zero intercept indicates that small, low-precision studies report systematically different effects from large, high-precision studies, which is the statistical signature of small-study effects and is consistent with publication bias as one possible cause.

What does a p value of 0.05 mean in Egger's test?

A p value at or below 0.05 in Egger's test indicates that the regression intercept differs from zero more than would be expected by chance at conventional thresholds. The original Egger paper used a more permissive threshold of 0.10 because the test has modest power, but modern manuscripts often default to 0.05. Either threshold should be declared in advance in the protocol or methods.

When can Egger's test be used?

Egger's test should be used when at least ten studies are available, heterogeneity is not extreme, and the outcome is on a scale where the standard error is independent of the effect. The classical test is appropriate for continuous outcomes. For binary outcomes summarized as odds ratios or risk ratios, the Peters or Harbord variants should be used instead because the classical test has inflated type I error on binary scales.

What is the difference between Egger's test and Begg's test?

Begg and Mazumdar's test computes a rank correlation between the standardized effect and its variance, while Egger's test uses a regression of the standardized effect on precision. Egger's test has higher statistical power in most realistic settings and has become the default. Begg's test is now mostly reported when historical comparison with older meta-analyses is required.

How do you perform Egger's test in R?

In the metafor package, fit a meta-analytic model with rma() and call regtest(res, model = "lm") on the fitted object. In the meta package, fit a meta object with metagen, metabin, or metacont and call metabias(m, method = "linreg") for the classical Egger test, or method = "peters" or method = "harbord" for the binary-outcome variants. Both functions return the test statistic, degrees of freedom, and p value.

Is Egger's test reliable with few studies?

No. Egger's test has very low power with fewer than ten studies. The Cochrane Handbook explicitly recommends against running it on meta-analyses with fewer than ten included studies. With ten to twenty studies the test has modest power for moderate asymmetry. With more than twenty studies it is reasonably powered for the asymmetry that publication bias typically produces. A non-significant test in a small meta-analysis does not provide reliable evidence of symmetry.

Pro Tip

Run metafor::regtest(res, model = 'lm') for continuous outcomes; switch to method = 'peters' or 'harbord' for binary outcomes.

Pro Tip

Report intercept, standard error, t value, degrees of freedom, p value, and the heterogeneity context together in one sentence.

Pro Tip

Pre-specify the significance threshold (0.10 in the original paper or 0.05 in modern practice) in the protocol.

Pro Tip

Do not run the test on fewer than 10 studies; document the omission instead.

Pro Tip

Treat Egger's test as one diagnostic in a convergent sensitivity-analysis package rather than as a definitive bias test.

Frequently Asked Questions

6
Egger's test tells you whether a meta-analysis's funnel plot is asymmetric. The intercept of a regression of the standardized effect on precision is tested against zero. A significantly non-zero intercept indicates that small, low-precision studies report systematically different effects from large, high-precision studies, which is the statistical signature of small-study effects and is consistent with publication bias as one possible cause.
A p value at or below 0.05 in Egger's test indicates that the regression intercept differs from zero more than would be expected by chance at conventional thresholds. The original Egger paper used a more permissive threshold of 0.10 because the test has modest power, but modern manuscripts often default to 0.05. Either threshold should be declared in advance in the protocol or methods.
Egger's test should be used when at least ten studies are available, heterogeneity is not extreme, and the outcome is on a scale where the standard error is independent of the effect. The classical test is appropriate for continuous outcomes. For binary outcomes summarized as odds ratios or risk ratios, the Peters or Harbord variants should be used instead because the classical test has inflated type I error on binary scales.
Begg and Mazumdar's test computes a rank correlation between the standardized effect and its variance, while Egger's test uses a regression of the standardized effect on precision. Egger's test has higher statistical power in most realistic settings and has become the default. Begg's test is now mostly reported when historical comparison with older meta-analyses is required.
In the metafor package, fit a meta-analytic model with rma() and call regtest(res, model = 'lm') on the fitted object. In the meta package, fit a meta object with metagen, metabin, or metacont and call metabias(m, method = 'linreg') for the classical Egger test, or method = 'peters' or method = 'harbord' for the binary-outcome variants. Both functions return the test statistic, degrees of freedom, and p value.
No. Egger's test has very low power with fewer than ten studies. The Cochrane Handbook explicitly recommends against running it on meta-analyses with fewer than ten included studies. With ten to twenty studies the test has modest power for moderate asymmetry. With more than twenty studies it is reasonably powered for the asymmetry that publication bias typically produces. A non-significant test in a small meta-analysis does not provide reliable evidence of symmetry.
Share

Found this useful? Share it with your colleagues.

Need help with your meta-analysis?

Our PhD statisticians run complete meta-analyses: effect sizes, forest plots, heterogeneity testing, and publication-ready results sections.

Explore our Meta-Analysis Service, handled end-to-end by a PhD methodologist.

Meta-Analysis Support

Reading About Meta-Analysis? Our PhD Team Runs Them Every Day.

From data extraction to forest plots, sensitivity analysis, and a journal-ready manuscript. We handle the full meta-analysis so you can focus on your research question.

Our promise: Free re-run of the pooled analysis if reviewers question the estimate or model.

4.9 / 5Quote within a few hoursmetafor R + Cochrane HandbookPhD methodologistConfidential by default
Chat on WhatsApp now
DS

Written by

Dr. Sarah Mitchell

PhD, Biostatistics & Research Methodology
Systematic Review MethodologyMeta-AnalysisBiostatistics

Dr. Sarah Mitchell holds a PhD in Biostatistics from Johns Hopkins Bloomberg School of Public Health and has over 15 years of experience in systematic review methodology and meta-analysis. She has authored or co-authored 40+ peer-reviewed publications in journals including the Journal of Clinical Epidemiology, BMC Medical Research Methodology, and Research Synthesis Methods. A former Cochrane Review Group statistician and current editorial board member of Systematic Reviews, Dr. Mitchell has supervised 200+ evidence synthesis projects across clinical medicine, public health, and social sciences.

Understanding Egger's test is one thing. Defending your publication bias analysis to a statistical reviewer is another. Our biostatisticians deliver the funnel plot, the right asymmetry test, and the sensitivity analyses journals now expect. See the meta-analysis service or get a free quote.

Reading About Meta-Analysis? Our PhD Team Runs Them Every Day.

From data extraction to forest plots, sensitivity analysis, and a journal-ready manuscript. We handle the full meta-analysis so you can focus on your research question.

Starting from the research question, not just the data? We run the whole systematic review and meta-analysis together. Quote my review + meta-analysis

Quote within a few hours. Pay only after you approve your quote. Unlimited revisions within your agreed scope. Confidential by default.