Statistical Tests Open Access

Brown-Forsythe Test

Diagram of several box plots with median lines and different spreads side by side, illustrating the median-centered deviations that the Brown-Forsythe Test uses to detect unequal variances across groups.
Figure 1. The Brown-Forsythe Test compares each group's absolute deviation from its own median to check whether several groups share a common variance, offering a more outlier-resistant alternative to Bartlett's Test and the original Levene's Test.

Introduction

The Brown-Forsythe Test checks whether two or more groups have equal variances-a property called homogeneity of variance-using a version of Levene's Test that centers each group on its median rather than its mean, making it noticeably more resistant to outliers and skewed data. If you are asking questions like "do these three delivery routes vary by about the same amount in delivery time?", "is the version of Levene's Test my software runs by default actually the Brown-Forsythe modification?", or "which equal-variance test holds up best when my data has a few extreme values?"-this is usually the test you are looking for.

By the end of this article you will be able to state exactly when the Brown-Forsythe Test applies, compute the statistic completely by hand on two different worked examples, understand how it differs from both Levene's Test and Bartlett's Test, know about the related-but-distinct Brown-Forsythe F* test for comparing means under unequal variances, interpret the result correctly, know what to do if unequal variances are detected, and run the same test in one line of Python with scipy.stats.

What Is the Brown-Forsythe Test?

Many classical procedures-the independent-samples t-test, one-way ANOVA, and various regression diagnostics-assume that the groups being compared have the same variance. Levene's Test (1960) provided one of the first practical, distribution-free ways to check this, by converting each observation into its absolute deviation from its group's mean and running an ordinary ANOVA on those deviations. Brown and Forsythe (1974) refined this idea with a small but consequential change: replace the group mean with the group median when computing those deviations.

This single substitution matters because the mean is itself sensitive to outliers and skewed data-precisely the kind of irregular data where checking equal variance matters most. By centering on the median instead, the Brown-Forsythe Test keeps the same underlying logic-if variance really is equal, average deviation from center should be similar across groups-while becoming far less vulnerable to a handful of extreme values distorting the result.

It exists because unequal variances-called heteroskedasticity when discussed across groups-can seriously distort the standard errors used by a t-test or ANOVA, making the reported p-values untrustworthy even when the actual group means are correctly estimated. Catching this reliably, even when data contain outliers or skew, is the entire purpose of running the Brown-Forsythe Test as a standard preliminary check.

Core idea in one line: replace each value with its absolute distance from its own group's median, then run an ordinary ANOVA on those distances-if the average distance differs meaningfully across groups, the groups don't share a common variance, and outliers won't easily fool the result.

Two Tests, One Name: A Quick Disambiguation

"Brown-Forsythe Test" is genuinely ambiguous in the literature and in software, because Morton Brown and Alan Forsythe published two related but distinct tests in 1974. Knowing which one you need matters:

  • The Brown-Forsythe equal-variance test (the primary focus of this article): a median-centered modification of Levene's Test that checks whether \( k \) groups share a common variance. This is what most people mean-and what most software runs-when they say "Brown-Forsythe Test" or ask for Levene's Test with median centering.
  • The Brown-Forsythe F* test (covered separately in The Brown-Forsythe F* Test for Unequal Variances): a modified one-way ANOVA that compares group means while remaining valid even when the variances are unequal, playing a role similar to Welch's ANOVA. Statistical software such as SPSS often labels this "Brown-Forsythe" in its "Robust Tests of Equality of Means" output.

Both tests share the same authors and the same underlying philosophy-robustness to violated assumptions-but answer different questions: one tests variances, the other compares means without assuming variances are equal in the first place. This article focuses primarily on the equal-variance test, since that is the far more commonly requested "Brown-Forsythe Test" in practice, while giving the F* test full treatment as a companion procedure.

When to Use It

  • Before an independent-samples t-test: to decide whether to use the standard equal-variance t-test or Welch's unequal-variance t-test, especially when the data may contain outliers.
  • Before a one-way ANOVA: to check the homogeneity-of-variance assumption underlying the standard F-test, as a more robust default than the original mean-centered Levene's Test.
  • Data with potential outliers or skew: the median-centering makes this the preferred choice over both Bartlett's Test and the original Levene's Test whenever a few extreme observations are plausible.
  • Quality control and manufacturing: when comparing the consistency of a measurement across machines, shifts, or production lines, particularly where occasional outlying readings are common.
  • Two or more groups: like Levene's Test, the Brown-Forsythe Test naturally extends to any number of groups \( k \geq 2 \).

Key Assumptions

  • Independent observations: observations within and across groups must be independent of one another.
  • Two or more groups: the test compares variances across \( k \geq 2 \) independent groups.
  • Continuous data: the measured variable should be continuous (or at least ordinal with many levels) so that deviations from a group median are meaningful.
  • Does not require normality: like Levene's Test, the Brown-Forsythe Test does not assume the data within each group are normally distributed-a key advantage over Bartlett's Test, discussed under Comparisons.
  • Reasonably large sample size per group: as with any ANOVA-based procedure, very small groups (e.g., fewer than 5 observations) make the underlying F-distribution approximation less reliable.

Hypotheses

The Brown-Forsythe Test formally tests whether the population variances are equal across all groups:

  • Null Hypothesis (\( H_0 \)): all group variances are equal, \( \sigma_1^2 = \sigma_2^2 = \cdots = \sigma_k^2 \) (homogeneity of variance).
  • Alternative Hypothesis (\( H_1 \)): at least one group variance differs from the others.

(As with Levene's and Bartlett's Tests, the null hypothesis here is the "convenient" outcome-you generally want to fail to reject \( H_0 \) so that a standard t-test or ANOVA remains valid without further adjustment.)

The Formula, Explained

Suppose there are \( k \) groups, with group \( i \) containing \( n_i \) observations \( X_{ij} \), and \( N = \sum n_i \) total observations. The Brown-Forsythe procedure follows three steps:

Step 1. Compute the absolute deviation of each observation from its group's median \( \tilde{X}_i \):

\[ Z_{ij} = \left| X_{ij} - \tilde{X}_i \right| \]

Step 2. Treat the \( Z_{ij} \) values as ordinary data and run a one-way ANOVA on them across the \( k \) groups, obtaining each group's mean deviation \( \bar{Z}_i \) and the overall mean deviation \( \bar{Z} \).

Step 3. Compute the test statistic \( F \) exactly as you would an ANOVA F-statistic:

\[ F = \frac{N-k}{k-1} \cdot \frac{\sum_{i=1}^{k} n_i (\bar{Z}_i - \bar{Z})^2}{\sum_{i=1}^{k} \sum_{j=1}^{n_i} (Z_{ij} - \bar{Z}_i)^2} \]

Under \( H_0 \) (equal variances), this statistic follows an F-distribution:

\[ F \;\sim\; F_{k-1,\, N-k} \quad \text{under } H_0 \]

This is structurally identical to Levene's Test-the only change is that \( \tilde{X}_i \) is the group median rather than the group mean. Intuitively: if all groups truly share the same variance, their average absolute deviation from their own median should be similar, keeping \( F \) close to 1. If one or more groups are genuinely more spread out, their average \( Z_{ij} \) will be pulled higher, inflating \( F \).

Handling ties at the median. With an odd number of observations in a group, one \( Z_{ij} \) will equal exactly zero (the median observation itself), which can artificially inflate the group's apparent "typical" deviation if not handled carefully. A common correction replaces that zero with the next-smallest nonzero deviation in the group before running the ANOVA-most software implementations apply an equivalent adjustment automatically.

The Brown-Forsythe F* Test for Unequal Variances

In a separate 1974 paper, Brown and Forsythe tackled a related but different problem: how do you compare group means with a one-way ANOVA when the variances are already known (or suspected) to be unequal? The standard ANOVA F-test pools all groups' variances together in its denominator, which becomes unreliable-especially with unequal group sizes-when that pooling assumption is false.

The Brown-Forsythe F* statistic fixes this by adjusting the denominator using each group's own observed variance \( s_i^2 \), weighted by its own sample size, rather than a single pooled value:

\[ F^* = \frac{\sum_{i=1}^{k} n_i (\bar{X}_i - \bar{X})^2}{\sum_{i=1}^{k} \left(1 - \frac{n_i}{N}\right) s_i^2} \]

The resulting \( F^* \) statistic is compared against an F-distribution with adjusted degrees of freedom that depend on the group variances and sizes, similar in spirit to the Welch-Satterthwaite approximation used by Welch's t-test and Welch's ANOVA. With equal-sized groups, \( F^* \) numerically equals the standard ANOVA F-statistic, but its denominator degrees of freedom-and therefore its p-value-still differ.

Not the same test as the one above. This F* test answers "do the group means differ?" while remaining valid under unequal variances; it does not test whether the variances themselves are equal. Software packages like SPSS and XLSTAT report this alongside Welch's ANOVA under headings like "Robust Tests of Equality of Means"-see Two Tests, One Name for why the shared name causes confusion.

Worked Example 1: A Small Numerical Example by Hand

Suppose two groups of 5 observations each are measured, and we want to check whether they share a common variance-using the same data as a companion Levene's Test example, but centered on the median this time:

Group AGroup B
1010
1215
116
1318
911

Step 1: Compute group medians and absolute deviations

Sorted, Group A is \( \{9, 10, 11, 12, 13\} \), median \( \tilde{X}_A = 11 \). Group B is \( \{6, 10, 11, 15, 18\} \), median \( \tilde{X}_B = 11 \). The absolute deviations \( Z_{ij} = | X_{ij} - \tilde{X}_i | \) are:

Group A: \( Z_{Aj} \)Group B: \( Z_{Bj} \)
11
14
05
27
20

Step 2: Compute group mean deviations and overall mean deviation

\[ \bar{Z}_A = \frac{1+1+0+2+2}{5} = 1.2, \qquad \bar{Z}_B = \frac{1+4+5+7+0}{5} = 3.4, \qquad \bar{Z} = \frac{1.2+3.4}{2} = 2.3 \]

Step 3: Compute the numerator (between-group sum of squares)

\[ \sum n_i (\bar{Z}_i - \bar{Z})^2 = 5(1.2-2.3)^2 + 5(3.4-2.3)^2 = 5(1.21) + 5(1.21) = 12.1 \]

Step 4: Compute the denominator (within-group sum of squares)

\[ \sum (Z_{Aj} - \bar{Z}_A)^2 = (1-1.2)^2+(1-1.2)^2+(0-1.2)^2+(2-1.2)^2+(2-1.2)^2 = 2.8 \] \[ \sum (Z_{Bj} - \bar{Z}_B)^2 = (1-3.4)^2+(4-3.4)^2+(5-3.4)^2+(7-3.4)^2+(0-3.4)^2 = 5.76+0.36+2.56+12.96+11.56 = 33.2 \] \[ \text{Total within-group sum of squares} = 2.8 + 33.2 = 36.0 \]

Step 5: Compute the Brown-Forsythe statistic

With \( N = 10 \), \( k = 2 \):

\[ F = \frac{N-k}{k-1} \cdot \frac{12.1}{36.0} = \frac{8}{1} \times \frac{12.1}{36.0} \approx 2.69 \]

Step 6: Compare against the critical value

With \( k-1 = 1 \) and \( N-k = 8 \) degrees of freedom, the critical value at \( \alpha = 0.05 \) is \( F_{1,8,0.05} = 5.318 \). Since \( F = 2.69 < 5.318 \), we fail to reject \( H_0 \): there is not enough evidence that the two groups have different variances-even lower than the mean-centered Levene statistic on the same data (which was 4.17), since the median-centered deviations are somewhat less extreme for this particular dataset.

Worked Example 2: Delivery Times Across Three Couriers

A logistics analyst compares delivery-time consistency across three courier services, each with 6 recorded deliveries (in hours), suspecting that one courier's times are far more erratic than the other two-and knowing that a single unusually slow delivery could otherwise distort a mean-based test.

Courier ACourier BCourier C
242620
252522
232748
262419
242621
252523

Step 1: Compute group medians and absolute deviations

Courier A sorted: \( \{23,24,24,25,25,26\} \), median \( = 24.5 \). Courier B sorted: \( \{24,25,25,26,26,27\} \), median \( = 25.5 \). Courier C sorted: \( \{19,20,21,22,23,48\} \), median \( = 21.5 \)-notice the median is barely affected by the single 48-hour outlier, which is exactly the point of using it as the center.

\( Z_{Aj} \)\( Z_{Bj} \)\( Z_{Cj} \)
0.50.51.5
0.50.50.5
1.51.526.5
1.51.52.5
0.50.50.5
0.50.51.5

Step 2: Compute group mean deviations and overall mean deviation

\[ \bar{Z}_A \approx 0.83, \qquad \bar{Z}_B \approx 0.83, \qquad \bar{Z}_C \approx 5.50, \qquad \bar{Z} \approx 2.39 \]

Step 3: Compute the numerator (between-group sum of squares)

\[ \sum n_i (\bar{Z}_i - \bar{Z})^2 = 6(0.83-2.39)^2 + 6(0.83-2.39)^2 + 6(5.50-2.39)^2 \approx 14.6+14.6+57.9 \approx 87.1 \]

Step 4: Compute the denominator (within-group sum of squares)

For Courier C, whose deviations are \( \{1.5, 0.5, 26.5, 2.5, 0.5, 1.5\} \) around its own mean deviation of \( 5.5 \), the single 26.5 term dominates that group's contribution. Summing the squared deviations of each \( Z_{ij} \) from its own group mean across all three groups gives:

\[ \text{Total within-group sum of squares} \approx 534.7 \]

Step 5: Compute the Brown-Forsythe statistic

With \( N = 18 \), \( k = 3 \):

\[ F = \frac{N-k}{k-1} \cdot \frac{87.1}{534.7} = \frac{15}{2} \times \frac{87.1}{534.7} \approx 1.22 \]

Step 6: Compare against the critical value

With \( k-1 = 2 \) and \( N-k = 15 \) degrees of freedom, the critical value at \( \alpha = 0.05 \) is \( F_{2,15,0.05} = 3.682 \). Since \( F = 1.22 < 3.682 \), we fail to reject \( H_0 \)-note that this is a deliberately instructive case: the single 48-hour outlier inflates the within-group sum of squares for Courier C so much (via its own deviation from that group's mean deviation) that even the median-centered test cannot detect the difference from this small sample. A mean-centered Levene's Test or Bartlett's Test on the same raw data, however, would very likely show an even larger, more misleading swing driven directly by that one extreme value-illustrating why larger samples and multiple outlier-robust checks matter together, not the median-centering alone.

Python Example

scipy.stats computes the Brown-Forsythe Test directly via levene with center='median', which is also SciPy's default setting:

import numpy as np
from scipy import stats

# Worked Example 2 data: delivery times by courier
courier_a = np.array([24, 25, 23, 26, 24, 25])
courier_b = np.array([26, 25, 27, 24, 26, 25])
courier_c = np.array([20, 22, 48, 19, 21, 23])

# center='median' is the Brown-Forsythe version (also SciPy's default)
stat, p_value = stats.levene(courier_a, courier_b, courier_c, center='median')

print(f"Brown-Forsythe F statistic: {stat:.3f}")
print(f"p-value: {p_value:.4f}")

Output:

Brown-Forsythe F statistic: 1.222
p-value: 0.3224

This matches Worked Example 2 closely. Pass center='mean' instead to compute the original Levene's Test, or center='trimmed' for a trimmed-mean version that sits between the two in outlier sensitivity.

The Brown-Forsythe F* Test in Python

statsmodels does not currently ship a dedicated function for the Brown-Forsythe F* test on means, but Welch's ANOVA-which addresses the same unequal-variances problem-is directly available and is the more commonly used equivalent in modern practice:

import pandas as pd
import pingouin as pg

df = pd.DataFrame({
    "hours": np.concatenate([courier_a, courier_b, courier_c]),
    "courier": ["A"]*6 + ["B"]*6 + ["C"]*6
})

welch_result = pg.welch_anova(dv="hours", between="courier", data=df)
print(welch_result)

How to Interpret Results

The significance level \( \alpha = 0.05 \) is the standard threshold used to decide whether unequal variances are "statistically detected."

ConditionInterpretation
\( p < 0.05 \)Reject \( H_0 \)-variances differ significantly across groups; avoid equal-variance assumptions in the downstream test.
\( p \geq 0.05 \)Fail to reject \( H_0 \)-not enough evidence against equal variances; the homogeneity assumption is reasonable to keep.
Note. Failing to reject \( H_0 \) does not prove the variances are exactly equal-only that this sample didn't provide strong evidence otherwise, as Worked Example 2 illustrates with a small sample containing a single dramatic outlier. Always pair the test with a visual check of group spread-see Checking Assumptions in Practice.

Checking Assumptions in Practice

  • Plot box plots per group first: box plots naturally highlight both the median and any outliers, pairing intuitively with how the Brown-Forsythe Test itself centers on the median.
  • Confirm which centering your software actually used: since "Levene's Test" and "Brown-Forsythe Test" are often used interchangeably by tools and papers, check documentation or output options to confirm whether mean or median centering was applied.
  • Watch group sizes: very unequal or very small group sizes can make the F-distribution approximation less reliable-treat borderline p-values cautiously in that case.
  • Consider running multiple variance tests together: if Bartlett's Test, the original Levene's Test, and the Brown-Forsythe Test all agree, you can be more confident in the conclusion; sharp disagreement often points to outliers or non-normality driving the result.
  • Don't treat the test as a gatekeeper: given how well Welch's t-test and Welch's ANOVA perform under both equal and unequal variances, many modern statisticians recommend using them directly rather than conditioning the choice of test on a variance-equality test result.

What to Do If Unequal Variances Are Detected

  • Use Welch's t-test instead of Student's t-test: the most common and simplest fix for two groups-it adjusts the degrees of freedom to remain valid without assuming equal variances.
  • Use Welch's ANOVA or the Brown-Forsythe F* test instead of the standard one-way ANOVA: for three or more groups, either provides a variance-robust comparison of means, as shown in the Python Example.
  • Apply a variance-stabilizing transformation: a log or square-root transform of the outcome variable can sometimes equalize variances across groups, particularly for count or money-based data.
  • Investigate outliers directly: since the Brown-Forsythe Test is more robust to outliers than Bartlett's Test but not entirely immune, as Worked Example 2 shows, individual extreme values are worth investigating on their own merits before deciding how to proceed.
  • Consider a non-parametric alternative: the Kruskal-Wallis Test compares group distributions using ranks and can be a reasonable alternative when variances differ substantially and transformations don't help.

Advantages

  • More robust to outliers and skew than either the original mean-centered Levene's Test or Bartlett's Test, since the median is far less influenced by extreme values.
  • Does not require normally distributed data, unlike Bartlett's Test.
  • Retains essentially the same statistical power as Levene's Test when data are symmetric, so there is little practical downside to using it as the default.
  • Naturally extends to any number of groups \( k \geq 2 \), not just two.
  • Widely implemented and, in fact, the default centering method in many modern statistical packages, including SciPy's levene function.

Limitations

  • Still influenced by very extreme outliers in the within-group sum of squares, even though the median-centering step itself resists them-see Worked Example 2, where a single dramatic outlier still affected the overall conclusion.
  • Name confusion: because "Brown-Forsythe Test" refers to two different procedures (the variance test and the F* mean-comparison test), miscommunication is common-always clarify which is meant, as discussed in Two Tests, One Name.
  • Like other F-based tests, results can be unreliable with very small or highly unequal group sizes.
  • Does not, by itself, indicate which groups differ in variance when there are more than two groups-only that at least one does.
  • A significant result does not tell you how to fix unequal variances-only that they are present; see What to Do If Unequal Variances Are Detected.

When NOT to Use It

  • Bartlett's Test: use instead only when you are confident the data within each group are normally distributed and want maximum statistical power.
  • Original (mean-centered) Levene's Test: occasionally preferred when replicating older analyses or software output that specifically used mean centering, though this is rarely a meaningful advantage in new work.
  • Welch's t-test or Welch's ANOVA directly: use instead of running any variance-equality test at all if you'd rather skip the question entirely and use a comparison method that performs well under both equal and unequal variances.
  • Paired or repeated-measures data: use a different variance-comparison approach when observations within groups are not independent, since the Brown-Forsythe Test assumes independent samples.
  • Very small samples: for tiny group sizes (fewer than about 5 per group), consider skipping formal testing altogether and using a variance-robust test by default.

Brown-Forsythe vs Levene's vs Bartlett's

18.1 Brown-Forsythe Test vs Original Levene's Test

AspectBrown-Forsythe TestOriginal Levene's Test
Centering pointGroup medianGroup mean
Sensitivity to outliersLower-median resists outliers and skewHigher-mean is pulled by extreme values
Software defaultUsually the default (e.g., SciPy's center='median')Available as an option (e.g., center='mean')
Power under symmetric dataEssentially the same as Levene'sEssentially the same as Brown-Forsythe

18.2 Brown-Forsythe Test vs Bartlett's Test

AspectBrown-Forsythe TestBartlett's Test
ApproachANOVA on absolute deviations from group medianFormula based on group variances and pooled variance
Requires normalityNoYes-highly sensitive to departures from normality
Statistical power (normal data)Slightly lower than Bartlett'sHigher, when normality genuinely holds
General recommendationSafer general-purpose default, especially with possible outliersUse only when normality is well established

18.3 Brown-Forsythe Variance Test vs Brown-Forsythe F* Test

AspectBrown-Forsythe Variance TestBrown-Forsythe F* Test
What it testsWhether group variances are equalWhether group means are equal (valid under unequal variances)
Typical rolePreliminary check before a t-test or ANOVADirect alternative to a standard one-way ANOVA
Closest relativeLevene's TestWelch's ANOVA

Common Misconceptions

  • "The Brown-Forsythe Test and Levene's Test are completely different tests." Not true-the Brown-Forsythe Test is a specific, median-centered variant of Levene's Test, not a separate methodology; see Comparisons.
  • "There's only one Brown-Forsythe Test." Not true-Brown and Forsythe published two related tests in 1974, one for variances and one (the F* test) for means under unequal variances; see Two Tests, One Name.
  • "Median-centering makes the test completely immune to outliers." Not entirely-while far more resistant than mean-centering, a single sufficiently extreme value can still distort the within-group sum of squares, as shown in Worked Example 2.
  • "A non-significant Brown-Forsythe result proves the variances are exactly equal." Failing to reject \( H_0 \) only means there was not enough evidence against equal variances with this sample-it does not prove homogeneity holds exactly.
  • "Brown-Forsythe requires normally distributed data, just like Bartlett's." It does not-this is one of its main advantages over Bartlett's Test, inherited directly from Levene's Test.

Interview Questions

  1. Explain how the Brown-Forsythe Test relates to Levene's Test, and what single change distinguishes them.
  2. Why does centering on the median rather than the mean make the test more robust to outliers?
  3. Describe the two different tests that share the name "Brown-Forsythe," and explain when each would be used.
  4. Why might an odd number of observations in a group require special handling of the zero deviation at the median?
  5. How does the Brown-Forsythe F* statistic's denominator differ from that of a standard one-way ANOVA F-statistic?
  6. If Bartlett's Test, Levene's Test, and the Brown-Forsythe Test give different conclusions on the same data, how would you decide which to trust, and why?
  7. Why is the Brown-Forsythe Test often the default "Levene's Test" reported by statistical software?
  8. Compare the Brown-Forsythe F* test to Welch's ANOVA-what problem do they both solve, and how do their approaches differ?
  9. Under what circumstances might the Brown-Forsythe Test still fail to detect a real difference in variance, despite its robustness to outliers?
  10. Describe a practical workflow for checking the equal-variance assumption before running a t-test, using the Brown-Forsythe Test as one component.

Frequently Asked Questions

  • In its most common usage, the Brown-Forsythe Test checks whether two or more independent groups have equal population variances-a more outlier-resistant, median-centered version of Levene's Test-run before a t-test or ANOVA to verify the homogeneity-of-variance assumption. A separate but related Brown-Forsythe F* test compares group means directly while remaining valid under unequal variances, serving a role similar to Welch's ANOVA.
  • For each observation, subtract its group's median to get a deviation, then take the absolute value of that deviation. Run a one-way ANOVA on these absolute deviations across groups. The resulting F-statistic follows an F-distribution with k-1 and N-k degrees of freedom under the null hypothesis of equal variances, where k is the number of groups and N is the total number of observations-identical in structure to Levene's Test, but centered on the median rather than the mean.
  • If the p-value is below your chosen significance level (commonly alpha = 0.05), you reject the null hypothesis and conclude the groups have significantly different variances. If the p-value is at or above alpha, there is not enough evidence against equal variances, meaning it is reasonable to proceed with a standard t-test or ANOVA that assumes homogeneity of variance.
  • They are close relatives rather than entirely different tests: Levene's original 1960 version centers each group's absolute deviations on the group mean, while the Brown-Forsythe modification (1974) centers on the group median instead. The median-centered version is far more resistant to outliers and skewed data, which is why most software-including SciPy's default center='median' setting-reports the Brown-Forsythe version when a user asks for 'Levene's Test' without specifying otherwise.
  • This is a second, less commonly discussed test from the same 1974 paper pair: rather than testing whether variances are equal, the F* test compares group means using a denominator built from each group's own observed variance, weighted by its sample size, instead of a single pooled variance. This keeps the resulting comparison of means valid even when the equal-variance assumption behind a standard one-way ANOVA fails, similar in purpose to Welch's ANOVA.
  • Switch to a variance-robust alternative such as Welch's t-test (instead of Student's t-test), or Welch's ANOVA or the Brown-Forsythe F* test (instead of the standard one-way ANOVA), all of which remain valid without assuming equal variances. Other options include a variance-stabilizing transformation of the data, or a non-parametric alternative like the Kruskal-Wallis Test.

Key Takeaways

  • The Brown-Forsythe Test most commonly refers to a median-centered variant of Levene's Test for checking equality of variances across two or more groups.
  • It works by computing each observation's absolute deviation from its group's median and running an ordinary one-way ANOVA on those deviations, producing an F-statistic.
  • Compared to the original Levene's Test, it is more robust to outliers and skewed data, with essentially no cost in power when data are symmetric-making it a common software default.
  • A separate Brown-Forsythe F* test compares group means while remaining valid under unequal variances, playing a role similar to Welch's ANOVA-see Two Tests, One Name.
  • In Python, scipy.stats.levene with center='median' (the default) computes the Brown-Forsythe variance test directly.
  • If unequal variances are detected, the simplest fix is usually switching to Welch's t-test, Welch's ANOVA, or the Brown-Forsythe F* test, as outlined in What to Do If Unequal Variances Are Detected.
  • Compared to Bartlett's Test, the Brown-Forsythe Test sacrifices a little power under true normality in exchange for much greater robustness when normality doesn't hold.

The Brown-Forsythe Test has become the quiet default behind "Levene's Test" in much modern statistical software precisely because its median-centering delivers meaningfully better protection against outliers and skewed data, at almost no cost when the data are well-behaved. By reusing the same one-way ANOVA machinery as the original Levene's Test-just with a more robust center point-it offers a practical, widely available way to check the homogeneity-of-variance assumption before trusting a comparison of group means.

The two worked examples above illustrated both its strength and its limits: a small two-group case where median-centering gave a slightly smaller, more conservative statistic than the mean-centered version, and a three-courier delivery-time comparison where a single dramatic outlier still challenged even the median-centered test's ability to detect a real difference from a small sample. Understanding both the equal-variance test covered here and its lesser-known sibling, the Brown-Forsythe F* test for comparing means under unequal variances, gives a complete picture of what "Brown-Forsythe" can mean in applied statistics-and which one you actually need for the question in front of you.