Hypergeometric distribution calculator (without replacement)

Compute the probability of getting k successes when drawing n items from a population of size N with K successes, without replacement.

Everything runs locally in your browser. Use simulation (Monte Carlo) to build intuition and compare theory vs. empirical results.

How to use (3 steps)

  1. Enter N (population), K (successes), and n (draws)
  2. Select “Exactly / ≤ / ≥ / Range” and enter k (or a,b)
  3. Check the result and distribution, then verify with simulation if needed
Other languages: en | ja | es

Inputs

Query
Presets:
Helpers:

Result

Probability
Support (valid k)
Mean
Variance
Method
PMF formula

P(X=k)=C(K,k)·C(N−K,n−k)/C(N,n)

Tip: “at least one” is P(X≥1)=1−P(X=0).

Distribution (PMF table & bar chart)
kP(X=k)CDF
Simulation (Monte Carlo)

Use trials and seed to reproduce runs. For large ranges, the tool bins the histogram to stay fast.

Estimated probability
Abs error vs theory
Rel error vs theory
Sample mean
Sample variance

Examples

Cards: draw 5 from 52, how likely to get exactly 2 aces?

Set N=52, K=4, n=5, query “Exactly” with k=2.

Inspection: 10 defectives in 100, sample 8 — probability of at least 1 defective?

Set N=100, K=10, n=8, query “At least” with k=1.

FAQ

What is the hypergeometric distribution?

It models the number of successes when you draw n items from a finite population of size N with K successes, without replacement.

How is it different from the binomial distribution?

Hypergeometric sampling is without replacement (changing success probability), while binomial sampling assumes independent trials with a fixed success probability.

How do I find the valid range of k?

The support is k_min = max(0, n − (N − K)) and k_max = min(n, K). Outside this range, P(X=k)=0.

How do I compute “at least one success”?

Use the complement: P(X ≥ 1) = 1 − P(X = 0).

What does the simulation seed do?

A seed makes runs reproducible: the same seed produces the same simulated sequence and histogram.

Related

How it’s calculated

  • PMF: C(K,k)·C(N−K,n−k)/C(N,n) computed in log-space for stability.
  • Support range: k_min=max(0,n−(N−K)), k_max=min(n,K).
  • Simulation uses a deterministic PRNG with optional seed and compares estimates to theory.