Math calculator

Breusch-Pagan Calculator

Is the spread constant.

Is the spread constant

Fifty observations where the spread of the outcome widens steadily as the predictor rises — the classic case this test was built for. Koenker’s studentised statistic is 10.7169 on 1 degree of freedom, p = 0.0011. The original 1979 chi-square form on the same data is 18.3235, p = 0.0000186. Both are called the Breusch-Pagan test, their p-values here differ by a factor of 59, and most software does not say which it is reporting. The studentised version is the one to prefer: the original assumes normal errors and inflates sharply when they are heavy-tailed.

50 rows · 1 predictor · model R² 0.63101

Studentised statistic 10.7169 on 1 df, p = 0.00106

The auxiliary regression explains 21.434% of the variation in the squared residuals, which is more than chance would produce. The original 1979 chi-square form gives 18.3235 with p = 1.864e-5 — a different number for the same test name.

Studentised (Koenker)

10.7169

p = 0.00106

Original (1979)

18.3235

p = 1.86e-5

Auxiliary R²

0.21434

21.434% of the squared residuals

White for contrast

0.00152

2 terms, 2 df

Residuals against fitted values

-20020204060fitted valueresidual

A funnel opening to one side is what this test detects. A band that is narrow in the middle and wide at both ends is what it misses, and the plot shows the difference immediately where the statistic cannot.

The two statistics

Both versions of the test, with their assumptions
VersionStatisticp-valueAssumes
Koenker, studentised10.71690.00106variance linear in the predictors
Breusch-Pagan, 197918.32351.864e-5that, and normal errors
White, for comparison12.97480.00152nothing about the form

The first two rows are both routinely called “the Breusch-Pagan test”. Reporting one without saying which is how two analyses of the same data end up disagreeing for no visible reason.

Heteroscedasticity does not bias the coefficients. It makes the standard errors wrong, usually too small, so the fix is robust standard errors rather than a different estimate — and a significant result here is a reason to change how the uncertainty is computed, not a reason to distrust the fit.

Both versions shown Residual plot White alongside Linear form assumed

What this tool shows

There are two statistics called the Breusch-Pagan test, and on the shipped preset their p-values differ by a factor of 59. The original 1979 chi-square form gives 18.3235 with p = 0.0000186; Koenker’s studentised version gives 10.7169 with p = 0.0011. Most software reports one and does not say which. Both are printed here, with the assumption each carries, because a heteroscedasticity result that cannot be reproduced is not much of a result.

  • Koenker’s studentised statistic and the original 1979 chi-square form, side by side with their p-values
  • The auxiliary regression’s R² — the share of squared-residual variation the test is actually reacting to
  • White’s test on the same data, so the case the linear form misses is visible rather than invisible
  • A plot of residuals against fitted values, which shows what a single statistic compresses away
  • A preset where the variance rises at both ends and this test reports nothing at all
  • Why a significant result calls for robust standard errors rather than a different estimate
Both versions Residual plot White alongside Auxiliary R² shown

It looks for variance that moves linearly. Only that.

Updated 13 September 2026 · Works in any browser, no installation

The Breusch-Pagan test fits your model, regresses the squared residuals on the same predictors, and asks whether that second regression explains anything. If it does, the error variance depends on the predictors and the standard errors from the original fit are wrong. The assumption is in the word “regresses”: the auxiliary model is linear, so variance that rises symmetrically about the middle of a predictor has no linear component and this test scores it as nothing.

At a glance

Formula shown
Fit the model, take the residuals e, and regress e² on the same predictors. Koenker’s studentised statistic is n·R² from that auxiliary regression, referred to chi-square on k degrees of freedom. The original 1979 statistic is half the explained sum of squares from regressing e²/σ̂² on the predictors, on the same k degrees of freedom — it is more powerful under normal errors and badly oversized under heavy-tailed ones, which is why the studentised form is now the default.
Scenario support
Checking a regression’s constant-variance assumption before quoting its standard errors, deciding whether robust standard errors are needed, diagnosing why a confidence interval seems too narrow, and testing residuals from any least-squares fit for variance that tracks a predictor.
Educational estimate
Planning support from the values you enter — not professional advice.

Two tests, one name, a factor of fifty-nine

This is not a subtlety about software defaults. The two statistics are different quantities with different assumptions, and both are called the Breusch-Pagan test in print.

The 1979 original gives 18.3235, p = 0.0000186. It assumes normally distributed errors, and it is the more powerful of the two when that holds.

Koenker’s studentised version gives 10.7169, p = 0.0011. It drops the normality assumption and is robust to heavy tails.

On the third preset the ordering reverses: the studentised form gives p = 0.0016 and the original gives p = 0.0327. Neither is uniformly stronger.

The studentised form is the better default. The original is badly oversized under heavy-tailed errors — it rejects constant variance because the residuals have a long tail, which is a different problem with a different fix.

The auxiliary regression is linear, and that is the limit

The second preset is built so the test fails as designed rather than by accident, because the failure is easy to describe and easy to forget.

The variance is smallest in the middle of the predictor’s range and rises at both ends. Severe, and perfectly symmetric.

The auxiliary regression explains 0.571% of the squared residuals. The statistic is 0.3423 on one degree of freedom, p = 0.5585.

White’s test on the same numbers gives p = 0.0000519, because it adds the squared predictor and the symmetric pattern is entirely quadratic.

Over 300 generated datasets of this shape the test misses it 88% of the time. That is not a small effect at the margin; it is the test doing exactly what it was designed to do on a pattern it was not designed for.

Assuming a form is what buys the power

The linear assumption is usually framed as a weakness. The third preset shows what it buys, which is the reason this test is still the default.

Five predictors, seventy observations, variance depending on the first. Breusch-Pagan gives 19.4959 on five degrees of freedom, p = 0.0016.

White’s test needs twenty degrees of freedom and gives p = 0.0662. It does not reach 0.05 on data the linear test calls decisive.

Specifying nothing is not free. White pays for its generality in degrees of freedom whether or not the extra terms are needed, and with k predictors it needs k(k+3)/2 of them.

So the choice is a real one. Run this first — and run White’s test alongside it, which the page does automatically, because the combination of a quiet Breusch-Pagan and a loud White is itself informative.

Plot the residuals first

The residual plot is on this page rather than as an afterthought, because it finds every case the tests find and several they do not.

A funnel opening to one side is what this test detects. Obvious in a plot, and correctly reported by the statistic.

A band narrow in the middle and wide at both ends is what it misses. Equally obvious in a plot, and reported as nothing.

A single outlying residual can also drive a significant result, since the test works on squared residuals and squaring rewards extremes. The plot shows whether one point is carrying the verdict.

The test earns its place when there are too many predictors to plot against, or when a number is wanted rather than a judgement. It is not a replacement for looking.

What heteroscedasticity actually costs

A significant result is often read as invalidating the regression. It does something narrower and more specific than that.

The coefficients stay unbiased. Least squares does not require constant variance for that, and the point estimates are still estimating the right thing.

The standard errors are wrong. Usually too small, so confidence intervals are too narrow and p-values too generous.

The fix is robust standard errors, not a different estimator. The heteroscedasticity-consistent family recomputes the uncertainty without touching the coefficients.

Weighted least squares is the alternative when the form is known, and it recovers the efficiency that ordinary least squares gives up — but it needs the variance function, which is exactly what this test only tells you exists.

What a non-significant result does not prove

The fourth preset is genuinely homoscedastic and returns p = 0.7904. The second is badly heteroscedastic and returns p = 0.5585. The two results look the same.

A high p-value means no linear component was detected. That is all it means, and it covers both of those cases.

Small samples make it worse. The test is asymptotic, and at thirty observations it needs a large effect before it reaches significance.

The variance may also depend on something not in the model. The auxiliary regression uses the model’s own predictors, so a variance driven by an omitted variable is invisible to it.

Which is why the residual plot and White’s test are both on this page. Three views of the same question, and agreement across them is worth more than any one p-value.

Reporting a heteroscedasticity test

Four items, and the first is the one that makes the result reproducible at all.

Say which version you ran. Studentised or original — on the shipped preset they differ by a factor of 59 in p-value.

Give the statistic and the degrees of freedom, not only the p-value. The degrees of freedom are the number of predictors in the auxiliary regression.

Say what you did about it. A significant result followed by ordinary standard errors is worse than not testing, because the test was run and the finding ignored.

And say whether you looked at the plot. A non-significant Breusch-Pagan on unplotted residuals is a weak claim, given how specific the pattern it detects is.

Sources and methodology

References for the test and its two forms.

Method. Both statistics are computed from the same fitted model: Koenker’s as n times the R² of the auxiliary regression of squared residuals on the predictors, and the 1979 form as half the explained sum of squares from regressing the scaled squared residuals on the same predictors, each referred to chi-square on the number of predictors. White’s test is computed alongside on every input, because the combination of a quiet Breusch-Pagan and a loud White is the diagnostic this page is built around. The verification suite asserts size and power rather than transcribed values: on 150 generated homoscedastic datasets the statistic must be valid every time and must not reject more often than chance allows, and on 120 generated datasets with variance rising in the predictor it must find the effect at least 114 times. It separately asserts the limitation — on 120 datasets with a symmetric U in the variance, this test misses it at least 95 times while White finds it at least 114, which is measured behaviour rather than a claim. That engine is verified on every change against 103 assertions. The count and the per-case breakdown are published on the formula verification page.

Related calculators

Where this goes next:

White TestWhite's heteroscedasticity test with squares and cross-products in the auxiliary regression, beside Breusch-Pagan, so the generality and its cost in degrees of freedom are both visible.
Multiple RegressionFits several predictors with a VIF on every term, and names the configuration people misread: a model significant at p = 0.0103 where neither predictor reaches 0.05, at a VIF of only 7.11.
Linear RegressionThe least-squares line with r and r² — and the regression of x on y beside it, because those are two different lines rather than one line rearranged.
Durbin-WatsonThe Durbin-Watson statistic with dL and dU computed by Imhof inversion rather than tabled, so the bounds exist at any n and k.
LeverageHat values for every observation with the 2p/n and 3p/n cutoffs, the studentised residuals alongside, and the Σh = p identity printed as a check.
VIFVariance inflation factors with Belsley-Kuh-Welsch condition indices and variance-decomposition proportions, so a near-dependency is named rather than only detected.

More in Math, or browse all calculators.

Educational use disclaimer

An educational tool. The auxiliary regression is linear in the predictors, so variance that rises symmetrically about the middle of a predictor’s range produces a non-significant result no matter how severe it is — measured at an 88% miss rate on that pattern. A high p-value means no linear component was found, which is not the same as constant variance.

How we calculate · Found an error? email us

Authorship & verification

Written and maintained by , a business operator who builds spreadsheet-based calculators.

What's changed (5 updates)

Published 13 September 2026

  1. Published both statistics that share this test’s name, with the assumption each carries.
  2. Shipped a preset where their p-values differ by a factor of 59 on identical data.
  3. Printed the auxiliary regression’s R-squared, which is what the test reacts to.
  4. Added White’s test on every input, so the case the linear form misses is visible.
  5. Included a residuals-against-fitted plot beside the statistic.

Add this calculator to your site

Responsive embed — and private: nothing your visitors type leaves their browser.