Dorfman Pool Size Search
Search Dorfman two-stage pool sizes under independent infection and perfect-test assumptions; dilution sensitivity is not modeled.
Description
Search integer Dorfman pool sizes for the lowest expected assay count at a supplied prevalence.
Dorfman testing combines specimens into a pool and tests that pool once. A negative pool ends testing for its members; a positive pool triggers an individual test for every member. Pooling can reduce assay use when positives are uncommon, while larger pools also become more likely to need follow-up.1
Prevalence is the probability that a randomly selected specimen is positive, entered as a fraction: 1% is 0.01. This calculator compares expected tests per person, rather than elapsed laboratory time, price, or diagnostic sensitivity. The unpooled baseline is one test per person.
The result is the best integer size within your supplied search limit, including individual testing as size one. Expected savings are relative to the unpooled baseline and are model estimates rather than a guaranteed saving for a particular batch.
When to use Dorfman Pool Size Search
Use it to compare theoretical assay demand for a known screening prevalence and a practical maximum pool size. Set the maximum to a size your assay and workflow can actually support.
How to use Dorfman Pool Size Search and interpret its calculation
- Enter prevalenceFraction between 0 and 1, converting percentages to fractions.
- Enter a positive integer maximumPoolSize, up to 10,000, and run the search.
- Read bestPoolSize, expectedTestsPerPerson, and expectedTestsSavedPercent together. Evaluate dilution sensitivity and operational feasibility separately before adopting the size.
T(1) = 1; T(n) = 1/n + 1 − (1 − p)^n for n ≥ 2; savings = 100 × (1 − T(best)) p is prevalence; n is people per pool. The first term pays for the pooled test and the second for individual retesting after a positive pool.
The implementation starts with size one, then checks every integer through the maximum. It computes the positive-pool probability with log1p and expm1 for numerical stability. A candidate replaces the current best only when its expected count is strictly smaller, so equal results retain the smaller size.
{
"input": {
"prevalenceFraction": 0.01,
"maximumPoolSize": 10
},
"output": {
"bestPoolSize": 10,
"expectedTestsPerPerson": 0.19561792499119568,
"expectedTestsSavedPercent": 80.43820750088044
}
} | Input situation | Result |
|---|---|
| Zero prevalence | The largest permitted pool minimizes the pooled-test overhead. |
| Prevalence one | Individual testing wins; savings are zero. |
| Maximum size one | The baseline is returned without comparing pooled candidates. |
Limitations and assumptions
The probability calculation assumes independent specimens with the same positivity probability and perfect pool classification. Correlated households or heterogeneous prevalence can change the result.
Assay sensitivity loss through dilution, invalid tests, confirmatory testing, leftover partial pools, labor, turnaround, and cost are outside the calculation. It retests every member of a positive pool.
Alternative or Complementary methods
Estimate prevalence for the intended population and validate pooled-assay performance before using an efficiency optimum. Diagnostic predictive values and detection limits answer different questions from expected assay count.
References
-
The Detection of Defective Members of Large Populations (Dorfman, 1943) — The Annals of Mathematical Statistics
Similar or alternative tools
- Prevalence Predictive Values
Evaluate positive and negative predictive values from prevalence and supplied test performance.
- Probit Detection Limit
Estimate a detection threshold from a supplied probit model when reviewing assay sensitivity.