Skip to Content

BINOMTEST

Overview

The BINOMTEST function performs a test that the probability of success in a Bernoulli experiment is equal to a specified value. It is used to determine whether the observed number of successes in a fixed number of independent trials is consistent with a hypothesized probability of success. This function is commonly used in quality control, clinical trials, and other applications where binary outcomes are observed. For more details, see the scipy.stats.binomtest documentation .

This example function is provided as-is without any representation of accuracy.

Usage

To use the function in Excel:

=BINOMTEST(k, n, [p])
  • k (int, required): Number of successes observed.
  • n (int, required): Number of trials.
  • p (float, optional, default=0.5): Hypothesized probability of success.

The function returns a 2D list with two elements: the test statistic (number of successes) and the p-value (float), or an error message (string) if the input is invalid.

Examples

Example 1: Fair Coin Test

Test if 5 heads in 10 coin flips is consistent with a fair coin (p=0.5).

Inputs:

knp
5100.5

Excel formula:

=BINOMTEST(5, 10, 0.5)

Expected output:

Test Statisticp-value
51.0

Example 2: Biased Coin

Test if 8 heads in 10 flips is consistent with a fair coin.

Inputs:

knp
8100.5

Excel formula:

=BINOMTEST(8, 10, 0.5)

Expected output:

Test Statisticp-value
80.109375

Example 3: Custom Probability

Test if 7 successes in 12 trials is consistent with p=0.6.

Inputs:

knp
7120.6

Excel formula:

=BINOMTEST(7, 12, 0.6)

Expected output:

Test Statisticp-value
71.0

Example 4: Default Probability

Test if 3 successes in 6 trials is consistent with the default p=0.5.

Inputs:

knp
360.5

Excel formula:

=BINOMTEST(3, 6)

Expected output:

Test Statisticp-value
31.0

Python Code

from scipy.stats import binomtest as scipy_binomtest def binomtest(k, n, p=0.5): """ Perform a binomial test for the probability of success in a Bernoulli experiment. Args: k: Number of successes (int). n: Number of trials (int). p: Hypothesized probability of success (float, default 0.5). Returns: 2D list: [[test statistic (int), p-value (float)]], or error message (str) if input is invalid. This example function is provided as-is without any representation of accuracy. """ # Validate inputs try: k_int = int(k) n_int = int(n) p_float = float(p) except Exception: return "Invalid input: k, n must be integers and p must be a float." if n_int <= 0: return "Invalid input: n must be positive." if not (0 <= k_int <= n_int): return "Invalid input: k must be between 0 and n." if not (0 <= p_float <= 1): return "Invalid input: p must be between 0 and 1." try: result = scipy_binomtest(k_int, n_int, p_float) stat = k_int pval = float(result.pvalue) # Disallow nan/inf if not (pval == pval and pval != float('inf') and pval != float('-inf')): return "Invalid output: p-value is not finite." return [[stat, pval]] except Exception as e: return f"scipy.stats.binomtest error: {e}"

Example Workbook

Link to Workbook 

Last updated on