Hypothesis Testing Two-Sample Tests Unequal Variances 22 min read September 14, 2026
BY: Statistics Fundamentals Team
Reviewed By: Minsa A (Senior Statistics Editor)

Welch T-Test: Formula, Examples, Assumptions, and Interpretation

You have two independent groups and want to test whether their population means differ. The standard two-sample t-test does that, but it rests on an equal-variance assumption that often cannot be justified. The Welch t-test solves this: it uses each group's variance separately, applies the Welch-Satterthwaite approximation for degrees of freedom, and delivers a valid comparison without requiring equal population variances.

What You'll Learn
  • ✓ What the Welch t-test is and when to use it
  • ✓ The exact formula and Welch-Satterthwaite degrees of freedom
  • ✓ Two fully worked numerical examples with step-by-step calculations
  • ✓ How Welch's test compares with Student's t-test and Mann-Whitney U
  • ✓ Python, R, and Excel code you can run today
  • ✓ A full interactive calculator with raw-data mode and calculation steps
  • ✓ Common mistakes, FAQ, and APA reporting guidance

What Is the Welch T-Test?

Definition
The Welch t-test is a two-sample test for the difference between two independent population means. Unlike the pooled Student's t-test, it does not assume equal population variances. It uses an unpooled standard error and the Welch-Satterthwaite approximation to estimate degrees of freedom.
t = (x̅₁ − x̅₂) / √(s₁²/n₁ + s₂²/n₂)

Bernard Lewis Welch published the method in 1947 as a practical answer to the Behrens-Fisher problem: how do you compare two group means when the population variances are unknown and potentially unequal? His solution was to use each group's sample variance separately rather than combining them into a single pooled estimate, then adjust the degrees of freedom accordingly so the t distribution remains the right reference.

The result is a test that works whether group variances are similar or very different, and whether sample sizes are balanced or not. Because it makes fewer assumptions, many statisticians treat Welch's approach as the safer default for independent two-group comparisons.

⚡ Quick Facts
  • What it compares: Means of two independent groups
  • Equal variances required? No. This is the defining advantage.
  • Equal sample sizes required? No. n₁ can differ from n₂.
  • Standard error type: Unpooled (each group's variance used separately)
  • Degrees of freedom: Welch-Satterthwaite approximation (often non-integer)
  • Test statistic: t, compared against a t distribution
  • Typical significance level: α = 0.05
  • Main alternative: Pooled Student's t-test when equal variances are justified
  • More than two groups? Use ANOVA or Welch's ANOVA instead

Welch T-Test Calculator

Enter summary statistics for each group, or paste raw data below. The calculator returns the t-statistic, Welch degrees of freedom, p-value, confidence interval, and an expandable breakdown of every calculation step.

🔬 Welch T-Test Calculator

Two independent groups. No equal-variance assumption.

Group 1
Group 2
Group 1 Data
Group 2 Data

            

Welch T-Test Formula

Two pieces of mathematics define the test: the t-statistic itself, and the degrees of freedom used to look up the p-value.

T-Statistic

Welch T-Statistic
t = (x̅₁ − x̅₂) / √(s₁²/n₁ + s₂²/n₂)
x̅₁ sample mean, group 1 x̅₂ sample mean, group 2 s₁² sample variance, group 1 s₂² sample variance, group 2 n₁ sample size, group 1 n₂ sample size, group 2

The denominator is the unpooled standard error. It treats each group's variance independently rather than combining them into a single weighted pooled estimate. This is the core distinction from the pooled Student's t-test and what makes Welch's method robust when group variances differ.

Welch-Satterthwaite Degrees of Freedom

Welch-Satterthwaite Approximation
df = (s₁²/n₁ + s₂²/n₂)² / [(s₁²/n₁)²/(n₁−1) + (s₂²/n₂)²/(n₂−1)]

The result is usually a non-integer. This is expected and correct. The adjusted degrees of freedom account for uncertainty from estimating two separate population variances instead of one pooled value. Using a smaller effective df makes the t distribution slightly heavier-tailed, which produces more conservative (wider) confidence intervals and larger p-values than the pooled approach would when variances are unequal.

💡
Why degrees of freedom matter

The df value determines the exact shape of the t distribution used to compute your p-value and confidence interval. Higher df means the distribution approaches the standard normal; lower df means heavier tails and more conservative inference. Never round df prematurely in calculations.

Confidence Interval

A confidence interval for the difference μ₁ − μ₂ is:

95% Confidence Interval for μ₁ − μ₂
(x̅₁ − x̅₂) ± t* × SE

Where t* is the critical value from the t distribution with Welch degrees of freedom at the chosen confidence level, and SE is the unpooled standard error from the denominator of the t-statistic. If the interval does not include zero, that corresponds to rejecting the two-sided null hypothesis at the matching significance level.

Hypotheses

Alternative HypothesisH₀H₁Tail(s)
Two-sided (any difference)μ₁ − μ₂ = 0μ₁ − μ₂ ≠ 0Both
One-sided: group 1 largerμ₁ − μ₂ ≤ 0μ₁ − μ₂ > 0Right
One-sided: group 1 smallerμ₁ − μ₂ ≥ 0μ₁ − μ₂ < 0Left

The direction of the difference is defined by how you label groups 1 and 2, so keep that consistent throughout your analysis and reporting. For exploratory research, use the two-sided test by default. A directional alternative requires prior theoretical justification and should not be chosen because one-tailed tests need smaller samples to reach significance.

When to Use the Welch T-Test

The Welch t-test is appropriate when all of the following hold:

  • You have two independent groups (not paired or matched observations)
  • The outcome variable is quantitative (a measured number, not a category)
  • Each group's observations are independent of each other
  • Equal population variances cannot be assumed with confidence
  • The data are reasonably suited to a t-based inference on means

The test also works fine when variances happen to be equal. Using Welch's method in that situation costs a little statistical power compared to the pooled approach, but the trade-off is small and the protection it offers against variance inequality is usually worth it. Many statisticians therefore treat Welch's test as the default for any independent two-group comparison.

⚠️
A common misconception

Welch's test is sometimes described as "the t-test for unequal sample sizes." That framing is incomplete. The defining issue is the variance assumption, not sample size. Unequal sample sizes combined with unequal variances do make the pooled approach particularly unreliable, but the variance question is what drives the choice.

Welch T-Test Assumptions

1

Two independent groups

Observations in group 1 must not influence or be related to observations in group 2. If observations are paired or matched (e.g., before-after measurements on the same subjects), the paired t-test is appropriate instead.

2

Quantitative outcome

The test compares group means, so the outcome must be numerical. Categorical outcomes require a different approach (e.g., chi-square test).

3

Independence within groups

Observations within each group should not be systematically related to each other. Clustered sampling, repeated measurement, or other sources of dependence may require more complex methods.

4

Approximate normality (or adequate sample size)

For small samples, the test relies on normality of the group distributions. For larger samples, the central limit theorem provides some robustness to moderate departures. Strong skewness or extreme outliers in small samples deserve attention before trusting the results.

No equal-variance assumption

Welch's t-test does not assume equal population variances. This is the property that distinguishes it from the pooled Student's t-test and makes it the more general approach.

Worked Example 1: Significant Result

A researcher compares exam scores between two independently taught sections. Section A used traditional lecture; section B used an active-learning format. The groups have unequal sizes and noticeably different spread.

Illustrative Example 1

Problem: Do the two teaching sections have different mean exam scores?

GroupnMean (x̅)Sample SD (s)
Section A (Lecture)2478.39.2
Section B (Active)1885.115.7

H₀: μ₁ − μ₂ = 0  |  H₁: μ₁ − μ₂ ≠ 0  |  α = 0.05 (two-sided)

1

Mean difference: x̅₁ − x̅₂ = 78.3 − 85.1 = −6.8

2

Unpooled standard error:
SE = √(s₁²/n₁ + s₂²/n₂) = √(9.2²/24 + 15.7²/18)
= √(84.64/24 + 246.49/18) = √(3.527 + 13.694) = √17.221 = 4.150

3

Welch t-statistic:
t = −6.8 / 4.150 = −1.639

4

Welch-Satterthwaite df:
Numerator: (3.527 + 13.694)² = (17.221)² = 296.56
Denominator: (3.527)²/23 + (13.694)²/17 = 12.44/23 + 187.53/17 = 0.541 + 11.031 = 11.572
df = 296.56 / 11.572 = 25.63

5

P-value (two-sided): With |t| = 1.639 and df = 25.63, the two-tailed p-value is approximately 0.113.

6

95% CI for μ₁ − μ₂: t*(df=25.63, 0.025) ≈ 2.057
CI = −6.8 ± 2.057 × 4.150 = −6.8 ± 8.54 = [−15.34, 1.74]

⇒ p = 0.113 ≥ α = 0.05. Fail to reject H₀. The 95% CI [−15.34, 1.74] includes zero. There is insufficient evidence of a difference in mean exam scores at the 5% level. Notice: this does not prove the means are identical. The confidence interval shows the data are consistent with differences as large as 15 points in either direction.

Worked Example 2: Significant Result with Unequal Groups

A manufacturing engineer compares the cycle time (seconds) of two production lines. Line B runs fewer batches but shows much higher variability.

Illustrative Example 2

Problem: Does line A have a shorter mean cycle time than line B?

GroupnMean (x̅)Sample SD (s)
Line A3044.24.1
Line B1251.811.9

H₀: μ₁ − μ₂ ≥ 0  |  H₁: μ₁ − μ₂ < 0  |  α = 0.05 (one-sided left)

1

Mean difference: x̅₁ − x̅₂ = 44.2 − 51.8 = −7.6

2

Standard error:
SE = √(4.1²/30 + 11.9²/12) = √(16.81/30 + 141.61/12) = √(0.560 + 11.801) = √12.361 = 3.516

3

Welch t-statistic:
t = −7.6 / 3.516 = −2.162

4

Welch-Satterthwaite df:
Numerator: (0.560 + 11.801)² = (12.361)² = 152.79
Denominator: (0.560)²/29 + (11.801)²/11 = 0.314/29 + 139.26/11 = 0.0108 + 12.660 = 12.671
df = 152.79 / 12.671 = 12.06

5

One-sided p-value (left): With t = −2.162 and df = 12.06, p = 0.026.

6

95% CI (one-sided bound): 95% upper bound for μ₁ − μ₂ ≈ −7.6 + 1.782 × 3.516 ≈ −1.33
The interval (−∞, −1.33) excludes zero.

✓ p = 0.026 < α = 0.05. Reject H₀. There is statistically significant evidence that line A has a shorter mean cycle time than line B (t(12.06) = −2.162, p = 0.026). The large difference in sample standard deviations (4.1 vs 11.9) illustrates why the Welch approach with its separate variance estimates is appropriate here rather than a pooled test.

How to Interpret the P-Value

ResultConclusion
p < αReject H₀. The data are statistically inconsistent with no difference at the chosen significance level.
p ≥ αFail to reject H₀. Insufficient evidence to conclude a difference exists at this significance level.
What "fail to reject" does not mean

A non-significant result does not prove the population means are equal. It means the study lacked sufficient evidence to detect a difference at the chosen significance level. The difference may still exist but be too small or too noisy to detect with the available sample sizes. Report confidence intervals alongside p-values to show the range of plausible differences.

Welch vs Student's T-Test

The two-sample Student's t-test pools the two groups' variances into a single estimate on the assumption that the population variances are equal. When that assumption holds, the pooled test is slightly more powerful. When it does not hold, the pooled p-value can be incorrect, and the Welch approach provides more reliable inference.

Feature Welch's T-Test Student's Pooled T-Test
Equal variances required?NoYes (pooled formulation assumes this)
Variance estimateSeparate for each groupSingle pooled estimate
Standard errorUnpooledPooled
Degrees of freedomWelch-Satterthwaite (non-integer possible)n₁ + n₂ − 2 (always integer)
Unequal sample sizesWorks wellPermitted, but unequal variances compound the problem
Robust to variance inequality?YesNo
Slightly more powerful when variances truly equal?Marginal lossYes
Typical default?Increasingly yes in applied practiceTraditional textbook default

A practical note: when sample sizes are equal and variances are equal, both tests produce nearly identical results. The difference matters most when sample sizes are unequal and variances differ substantially.

Welch T-Test vs Mann-Whitney U

The Mann-Whitney U test is rank-based and does not directly test for a difference in means. It tests a somewhat different question: whether observations from one group tend to rank higher than observations from the other. The two tests are not interchangeable.

Feature Welch's T-Test Mann-Whitney U
Primary targetDifference in population meansDifference in distributions / stochastic dominance
Parametric?YesNo (rank-based)
Equal variances needed?NoNo (but equal shape assumption for location interpretation)
Sensitive to outliers via meanYesLess so
Data scaleInterval or ratioOrdinal or above
InterpretationDifference in average levelsRank-based comparison of distributions

Mann-Whitney U is not simply "the nonparametric version of Welch's t-test." Use it when you cannot reasonably assume the data support a mean-based comparison, or when your research question concerns the full distribution rather than average levels.

Welch T-Test vs Welch's ANOVA

Welch's t-test handles exactly two independent groups. For three or more, use Welch's ANOVA, which extends the same no-equal-variance logic to multiple groups. Running several pairwise Welch t-tests across many groups without adjustment inflates the probability of at least one false positive. If you do multiple comparisons, apply a correction such as the Bonferroni correction.

Do You Need Levene's Test First?

A widely taught workflow says: run Levene's test for equality of variances; if it is significant, use Welch's t-test; otherwise use the pooled test. This two-stage approach has real limitations.

  • Levene's test is underpowered in small samples, so it may fail to detect genuine variance inequality exactly when the distinction matters most.
  • The decision to use Welch vs pooled based on a preliminary p-value changes the operating characteristics of the overall analysis in ways that are hard to quantify.
  • Welch's t-test performs adequately in both equal-variance and unequal-variance situations, so there is no compelling reason to use the preliminary test to decide between them.

The conservative and statistically defensible position is to specify your analysis method before seeing the data, based on subject-matter knowledge and study design, rather than using the data to choose between methods.

Why Unequal Variances Matter

When two groups have different population variances (say 5² = 25 vs 15² = 225), the pooled standard error misrepresents the uncertainty about the mean difference. If the group with higher variance also has the smaller sample, the pooled standard error underestimates the true sampling uncertainty, and the pooled t-test produces p-values that are systematically too small. This is not a minor theoretical concern: in simulations with large variance ratios and unequal sample sizes, the pooled test can reject at nearly twice the nominal rate.

Welch's method avoids this by weighting each group's contribution to the standard error by its own variance and sample size. The Welch-Satterthwaite adjustment to df then produces a t distribution that matches the actual sampling distribution of the statistic, yielding type I error rates close to the nominal α.

Effect Size

Statistical significance tells you whether the data are consistent with no difference. Effect size tells you how large the difference is in practical terms. These are separate questions and both matter.

For two independent means, Cohen's d is a common standardized effect size. When group variances are unequal, the denominator choice requires care. Two defensible options are:

MeasureFormulaNotes
Cohen's d (pooled SD) d = (x̅₁ − x̅₂) / sₘ Uses pooled SD as denominator. Simple, but pools variances that may differ.
Hedges' g Corrected d for small samples Applies a bias correction. Preferred when sample sizes are small (< 20 per group).
Glass's delta d = (x̅₁ − x̅₂) / s₂ Uses a single group (often control) SD. Useful when groups have clearly different SDs and one is the reference.

Cohen's conventional thresholds (small: 0.2, medium: 0.5, large: 0.8) are rough guides. What counts as a meaningful effect depends on the research context.

Welch T-Test in Python

Python / SciPy from scipy import stats import numpy as np group1 = [82, 91, 78, 95, 88, 73, 84, 90, 76, 87] group2 = [70, 85, 62, 79, 68, 93, 55, 74, 81, 66, 72, 88] # equal_var=False requests Welch's t-test result = stats.ttest_ind(group1, group2, equal_var=False) print(f"t = {result.statistic:.4f}") print(f"df = {result.df:.2f}") print(f"p = {result.pvalue:.4f}") # Confidence interval (SciPy 1.11+) ci = result.confidence_interval(confidence_level=0.95) print(f"95% CI: [{ci.low:.4f}, {ci.high:.4f}]")

The key argument is equal_var=False. Without it, SciPy runs the pooled Student's t-test. The result.df attribute returns the Welch-Satterthwaite degrees of freedom. The confidence_interval() method requires SciPy 1.11 or later.

Welch T-Test in R

R group1 <- c(82, 91, 78, 95, 88, 73, 84, 90, 76, 87) group2 <- c(70, 85, 62, 79, 68, 93, 55, 74, 81, 66, 72, 88) # var.equal = FALSE runs Welch's t-test (this is the R default) result <- t.test(group1, group2, var.equal = FALSE) print(result) # One-sided: group1 mean greater than group2 t.test(group1, group2, var.equal = FALSE, alternative = "greater")

In R, t.test() defaults to var.equal = FALSE, meaning Welch's method runs by default unless you explicitly set var.equal = TRUE. The output includes the t value, df, p-value, confidence interval, and sample means.

Welch T-Test in Excel

Excel Formula =T.TEST(A2:A25, B2:B19, 2, 3)
ArgumentValueMeaning
array1A2:A25Data for group 1
array2B2:B19Data for group 2
tails2Two-tailed test (use 1 for one-tailed)
type3Two-sample, unequal variances (Welch)

Excel's T.TEST returns a p-value. It does not report the t-statistic, degrees of freedom, or confidence interval directly. For a full output including those values, use the Data Analysis Toolpak: Data → Data Analysis → "t-Test: Two-Sample Assuming Unequal Variances." This produces a table with all the key statistics.

Software Comparison

SoftwareWelch's T-Test MethodReturns
Python / SciPystats.ttest_ind(..., equal_var=False)t, df, p-value, CI (1.11+)
Rt.test(..., var.equal = FALSE) (default)t, df, p-value, CI
Excel formula=T.TEST(arr1, arr2, tails, 3)p-value only
Excel ToolpakData Analysis → "Unequal Variances"t, df, p-value, critical values
SPSSIndependent Samples T-Test → Levene's row: "Equal variances not assumed"t, df, p-value, CI, SE
ManualApply Welch formula + Satterthwaite df + t tableAll values

How to Report a Welch T-Test

APA format example for a statistically significant result:

📄
APA 7th Example Report

An independent-samples Welch t-test indicated a statistically significant difference in mean cycle time between line A (M = 44.2, SD = 4.1) and line B (M = 51.8, SD = 11.9), t(12.06) = −2.162, p = .026, 95% CI [−∞, −1.33], d = 0.92.

Elements to include: t value, degrees of freedom (Welch df in parentheses), p-value, confidence interval, and an effect size measure where relevant. Do not report only the p-value.

How to Perform a Welch T-Test

1

State the research question

Identify the two independent groups and the quantitative outcome you are comparing.

2

Write H₀ and H₁

Specify the null (no difference) and alternative (direction or any difference) hypotheses before collecting data.

3

Set α

Choose your significance level (typically 0.05) before seeing results.

4

Calculate means and standard deviations

Compute x̅₁, s₁, n₁ and x̅₂, s₂, n₂.

5

Compute the unpooled standard error

SE = √(s₁²/n₁ + s₂²/n₂)

6

Compute the Welch t-statistic

t = (x̅₁ − x̅₂) / SE

7

Calculate Welch-Satterthwaite df

Apply the formula. The result may be non-integer; do not round to the nearest integer in calculations.

8

Find the p-value

Use the t distribution with the Welch df, matching the direction of H₁ (one- or two-tailed).

9

Compute the confidence interval

CI = (x̅₁ − x̅₂) ± t* × SE, where t* uses the Welch df.

10

Make a decision and state the conclusion

If p < α reject H₀. Report the result in plain language, including the CI and an effect size measure.

Decision Guide

Which two-group test?

Are the two groups independent (not paired)?
No →
Is the outcome quantitative (mean comparison)?
No →
Can equal population variances be assumed?
Yes →
Cannot assume equal variances, or unsure
Welch's t-test
Rank-based or non-normal small sample concern

Common Welch T-Test Mistakes

MistakeWhy it's wrongCorrect approach
Using n₁ + n₂ − 2 as Welch df That is the pooled Student's df formula Use the Welch-Satterthwaite formula
Rounding df to the nearest integer early Introduces error in p-value and CI Retain full precision throughout calculation; round only for display
Claiming Welch's test requires unequal sample sizes It works for any sample sizes The defining issue is the variance assumption, not n
Saying a non-significant result proves equal means Absence of evidence is not evidence of absence "Fail to reject H₀" and report the confidence interval
Using Welch's test for paired data Violates independence assumption Use the paired t-test
Using the pooled standard error in the Welch formula Defeats the purpose of Welch's method Use SE = √(s₁²/n₁ + s₂²/n₂)
Treating Mann-Whitney U as an exact replacement The tests address different inferential questions Choose based on what you actually want to infer
Running Levene's test to decide whether to use Welch Preliminary tests change the analysis properties Pre-specify the method; Welch is a safe default
Reporting only the p-value Missing key information for readers Report t, df, p-value, CI, and effect size
Ignoring extreme outliers Means and SDs are sensitive to extreme values Examine data, understand what outliers represent, and consider robustness

Frequently Asked Questions

The Welch t-test is a two-sample test for comparing the means of two independent groups. Its defining property is that it does not assume equal population variances. It uses each group's variance separately to build an unpooled standard error, then applies the Welch-Satterthwaite approximation to determine the effective degrees of freedom. The result is a t-statistic evaluated against a t distribution, yielding a p-value and a confidence interval for the mean difference.

Student's pooled t-test assumes the two population variances are equal and estimates them with a single pooled value. Its degrees of freedom are n₁ + n₂ − 2. Welch's t-test does not require equal variances; it uses each group's variance separately and the Welch-Satterthwaite formula for df, which is typically a non-integer. When variances are unequal, particularly alongside unequal sample sizes, the pooled test can produce misleading p-values.

Use it when you have two independent groups, a quantitative outcome, and cannot confidently assume equal population variances. Many statisticians treat Welch's approach as the default for any independent two-group comparison because the cost of using it when variances are equal is small (slight loss of power), while the benefit when variances are unequal is substantial (accurate type I error rate).

No. This is the defining feature of Welch's method. It does not assume equal population variances and performs reliably whether the two groups have similar or very different spreads. The pooled Student's t-test does require equal variances under the standard derivation.

Yes. Welch's t-test allows n₁ ≠ n₂ without any modification to the procedure. The Welch-Satterthwaite degrees of freedom already account for the combination of different sample sizes and different variances. Unequal sizes combined with unequal variances are exactly where Welch's approach shows the clearest advantage over the pooled test.

df = (s₁²/n₁ + s₂²/n₂)² / [(s₁²/n₁)²/(n₁−1) + (s₂²/n₂)²/(n₂−1)]. The result is typically non-integer. Do not round it to the nearest integer in the p-value calculation; most software handles this automatically.

The Welch-Satterthwaite approximation matches the effective degrees of freedom of the combined variance estimate to a known chi-squared distribution. Because the formula is a ratio of squared quantities involving both sample sizes and variances, the result is not constrained to integer values. Statistical software tables and the t distribution CDF accept non-integer degrees of freedom directly.

Yes. Welch's t-test is a parametric test because it focuses on a population parameter (the mean difference) and makes distributional assumptions about the data-generating process. It does not require equal variances, but it does assume approximate normality (or relies on the central limit theorem for larger samples). "Parametric" does not mean normally distributed data are required in every situation, but the test works best when the normality assumption is reasonable.

No. Welch's t-test does not require equal variances, so there is no need to confirm equal variances before using it. Preliminary tests of variance equality have their own type I and type II errors, and using their result to decide between Welch and pooled methods changes the overall operating characteristics of the analysis in hard-to-quantify ways. The better approach is to pre-specify your analysis method based on the research context.

Welch's t-test compares population means. Mann-Whitney U is a rank-based test that compares the full distributions of two groups and is often interpreted as testing whether observations from one group tend to exceed observations from the other. They are not interchangeable because they address different inferential questions. Mann-Whitney U is not simply "the nonparametric version of Welch's t-test."

Include the t-statistic, Welch degrees of freedom (in parentheses), p-value, confidence interval for the mean difference, and an effect size measure. Example: t(17.63) = 2.41, p = .027, 95% CI [0.42, 8.15], d = 0.63. Do not report only the p-value.

Many applied statisticians and statistical guidelines now recommend Welch's approach as the default for independent two-group comparisons precisely because it does not require the equal-variance assumption and performs nearly as well as the pooled test when variances are equal. That said, the right test depends on the full study design, the inferential question, and the data characteristics, so "always use Welch" is a rule of thumb rather than a universal requirement.

Sources and References

  • Welch, B. L. (1947) — "The generalization of Student's problem when several different population variances are involved." Biometrika, 34(1–2), 28–35.
  • NIST Engineering Statistics Handbook — Two-Sample t-Test. itl.nist.gov
  • Ruxton, G. D. (2006) — "The unequal variance t-test is an underused alternative to Student's t-test and the Mann-Whitney U test." Behavioral Ecology, 17(4), 688–690.
  • Penn State STAT 415 — Two-Sample Inference. online.stat.psu.edu
  • SciPy Documentationscipy.stats.ttest_ind. docs.scipy.org