Skip to main content
v2026.11,858 entries · CC-BY 4.0

Two-Tailed Hypothesis Testing: Formula, Example, Code

Two-tailed hypothesis testing: the rejection rule, a worked example with the arithmetic, how to read p-values and critical values, APA reporting and code.

Written and maintained by CASRAI Editorial Board

Last updated

A two-tailed hypothesis test asks whether a parameter differs from a stated value in either direction. You split the significance level α across both tails of the test statistic’s distribution and reject the null hypothesis when the statistic lands far enough out on either side. This page gives the rule, a worked example with every step of the arithmetic, and the code to reproduce it.

Definition in one paragraph

In a two-tailed test (also called a two-sided or non-directional test), the alternative hypothesis states only that the parameter is not equal to the null value. For two means, NIST/SEMATECH writes the hypotheses as H0: μ1 = μ2 against Ha: μ1 ≠ μ2. Because a difference in either direction counts as evidence against H0, the rejection region sits in both tails. If you only want to detect an increase or only a decrease, that is a one-tailed test; the one-tailed vs two-tailed test comparison covers when each is legitimate. For the null hypothesis itself, see null hypothesis explained.

Hypothesis testing two-tailed: the rejection rule and formula

The NIST/SEMATECH e-Handbook gives the rejection regions for the two-sample t-test. Its test statistic is

T = (Ȳ1 − Ȳ2) / √(s1²/N1 + s2²/N2)

  • Ȳ1, Ȳ2: the two sample means.
  • s1², s2²: the two sample variances.
  • N1, N2: the two sample sizes.
  • α: the significance level you fixed before looking at the data (for example 0.05).
  • ν: the degrees of freedom of the t distribution.
  • t1−α/2,ν: the critical value that leaves α/2 in the upper tail.

The handbook’s rejection regions for the three possible alternatives are:

Alternative hypothesis Reject H0 if Tails
μ1 ≠ μ2 |T| > t1−α/2,ν Two
μ1 > μ2 T > t1−α,ν One (upper)
μ1 < μ2 T < tα,ν One (lower)

The vertical bars mean absolute value, so |T| > t1−α/2,ν is the same as “T is above the upper critical value or below its negative.” With α = 0.05, each tail holds 0.025. When the reference distribution is the standard normal, that cutoff is z = ±1.96; for a t distribution it depends on the degrees of freedom and is always larger in size than 1.96. To look up or compute these cutoffs, see how to find a critical value and what the t distribution is.

Worked example with real numbers

Example 1: two-sample test on published data (NIST)

The NIST/SEMATECH handbook tests whether the mean fuel economy (miles per gallon) of U.S. and Japanese cars differs, using the AUTO83B data set:

  • U.S. cars: N1 = 249, mean = 20.14458, standard deviation = 6.41470
  • Japanese cars: N2 = 79, mean = 30.48101, standard deviation = 6.10771
  • Test statistic T = −12.62059, degrees of freedom ν = 326, α = 0.05

The two-tailed critical value is t1−α/2,ν = 1.9673. Because |T| = 12.62059 is greater than 1.9673, the handbook rejects H0 and concludes the means differ. For contrast, the upper one-tailed critical value at the same α and ν is 1.6495: the two-tailed cutoff is further out because only 0.025 is placed in each tail instead of 0.05 in one.

Example 2: one-sample test, arithmetic shown

Suppose a sample of n = 25 has mean x̄ = 52.4 and standard deviation s = 6, and you test H0: μ = 50 against Ha: μ ≠ 50 at α = 0.05.

  1. Standard error: s/√n = 6/√25 = 6/5 = 1.2
  2. Test statistic: t = (52.4 − 50)/1.2 = 2.4/1.2 = 2.000
  3. Degrees of freedom: n − 1 = 24
  4. Two-tailed critical value: t0.975,24 = 2.0639, so the rejection region is t > 2.0639 or t < −2.0639
  5. Decision: |2.000| < 2.0639, so you do not reject H0
  6. Two-tailed p-value: 2 × P(T24 > 2.000) = 2 × 0.02847 = 0.0569, which is above 0.05, matching the decision
  7. 95% confidence interval: 52.4 ± 2.0639 × 1.2 = 52.4 ± 2.48, or (49.92, 54.88); it contains 50

The same data tested one-tailed (Ha: μ > 50) give p = 0.0285 and would be rejected at 0.05. That is exactly why the direction must be fixed before seeing the data (see mistakes below). All figures in Example 2 were computed with SciPy and double-checked by hand.

Interpretation: how to read the result

What you see Reading
|T| greater than the two-tailed critical value Reject H0. The statistic is in the rejection region in whichever tail it falls.
|T| less than or equal to the critical value Do not reject H0. This is not proof the values are equal.
Two-tailed p ≤ α Reject H0 (equivalent to the critical-value rule).
Confidence interval (1 − α) excludes the null value Reject H0 at level α; if it contains the null value, do not reject.
Negative T with a large |T| Still significant: the sign shows direction (sample 1 lower, as in Example 1), the rule uses |T|.

For a statistic with a symmetric distribution such as t or z, the two-tailed p-value is twice the one-tailed p-value for the observed direction, as Example 2 shows (0.0285 × 2 ≈ 0.0569). For more on reading the statistic itself, see how to interpret the t-statistic.

Assumptions and common mistakes

  • Choosing the direction after seeing the data. Switching to a one-tailed test because the sample moved one way halves the p-value and inflates the false-positive rate. Decide, and record, the alternative beforehand.
  • Using a signed T in the comparison. The two-tailed rule compares |T| to the critical value, or checks both tails.
  • Using the one-tailed critical value. At α = 0.05 and ν = 326 that is 1.6495, not 1.9673; using it rejects too easily.
  • Reading “fail to reject” as “no difference.” It means the data did not provide enough evidence at level α.
  • Ignoring the test’s own conditions. The t statistic assumes independent observations and sampling from an approximately normal population (or a large enough sample); check the conditions of the specific test you use. How to choose a statistical test helps you pick one.

How to report a two-tailed test (APA-style example)

A common reporting pattern gives the statistic, degrees of freedom, exact p-value, the test’s sidedness if it is not the default, and an interval:

A two-tailed one-sample t test showed that the mean (M = 52.40, SD = 6.00) did not differ significantly from 50, t(24) = 2.00, p = .057, 95% CI [49.92, 54.88].

Report the exact p-value rather than “p < .05” when you have it, and state the test as two-tailed (or note any one-tailed choice and its pre-specified justification). See how to report confidence intervals for the interval part.

How to calculate a two-tailed test in Excel, R or Python

Excel

Microsoft documents T.INV.2T(probability, deg_freedom) as the two-tailed inverse of the Student’s t distribution; it finds the value that T.DIST.2T(x, deg_freedom) maps to the probability you supply, so T.DIST.2T gives the two-tailed p-value. For Example 2:

=T.INV.2T(0.05, 24)        -> critical value, about 2.0639
=T.DIST.2T(ABS(2), 24)     -> two-tailed p-value, about 0.0569

R

The R documentation for t.test lists alternative = c("two.sided", "less", "greater"), with “two.sided” as the default and mu (default 0) as the null value.

x <- c(52, 48, 55, 51, 57, 49, 53, 54)
t.test(x, mu = 50, alternative = "two.sided")   # t = 2.2238, df = 7, p-value = 0.0615
qt(0.975, 24)                                   # 2.0639 (two-tailed critical value, df = 24)

Python (SciPy)

SciPy’s ttest_1samp(a, popmean, ..., alternative='two-sided') defaults to the two-sided alternative, which tests whether the mean differs from popmean, and returns the statistic, p-value, degrees of freedom and a confidence interval.

from scipy import stats
x = [52, 48, 55, 51, 57, 49, 53, 54]
res = stats.ttest_1samp(x, popmean=50, alternative="two-sided")
print(res.statistic, res.pvalue)      # 2.2238  0.0615

# Example 2 from summary statistics
n, m, mu, s = 25, 52.4, 50, 6
t = (m - mu) / (s / n**0.5)           # 2.0
p = 2 * stats.t.sf(abs(t), n - 1)     # 0.0569
crit = stats.t.ppf(0.975, n - 1)      # 2.0639

FAQ

What does hypothesis testing two-tailed mean?

It means the alternative hypothesis is “not equal,” so the rejection region is split between the two tails, with α/2 in each. A result far above or far below the null value counts as evidence against H0.

What are the two-tailed critical values at α = 0.05?

For a standard normal reference, ±1.96. For a t distribution they depend on the degrees of freedom: ±2.0639 with 24 degrees of freedom and ±1.9673 with 326 (the NIST example).

How does the two-tailed p-value relate to the one-tailed p-value?

For a symmetric reference distribution such as t, the two-tailed p-value is twice the one-tailed value for the direction observed, as in Example 2 (0.0285 and 0.0569).

Sources

Follow CASRAI

Research-administration guidance, standards updates and independent tool reviews.

Ask CASRAI · free to try

Ask about Two-Tailed Hypothesis Testing: Formula, Example, Code

Ask your first 2 questions free below. Subscribers get 150 a day for $29 a month.

An AI assistant specialized in research administration. It cites the sources behind every answer, labels web answers and says when it can't answer.

Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.

Works on this site and inside Claude, Cursor and the AI tools you already use.

Everything CASRAI publishes — this page, the dictionary, the guides and the news — stays free to read, with no account and no card.

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →

Ask CASRAI · Regulatory Radar

Research-admin question? Get an answer that links its sources.

An AI assistant specialized in research administration. Every answer links its sources to check before you act. 2 questions free, no account. $29/month after.

  • Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.
  • Every answer numbers its sources and links each one, so you can check the source yourself.