Arte SheetsLearn. Try. Understand.

Statistical & Clinical Analysis

Chao1 & Bias-Corrected Unseen Species Richness Formula: Singletons & Doubletons

Estimate true total assemblage richness (including undetected rare species, software bugs, or vocabulary words) using Anne Chao’s (1984) bias-corrected lower bound S_Chao1 = S_obs + f_1 * (f_1 - 1) / (2 * (f_2 + 1)) and Sample Inventory Completeness %.

How singletons (f_1) and doubletons (f_2) reveal how many unseen species — or hidden software bugs — remain!

In biodiversity field surveys, microbiome sequencing, linguistics, and multi-tester bug-hunting, raw observed species count S_obs severely underestimates true richness whenever many species were spotted only once! Anne Chao (1984, Scand. J. Stat.) proved via Cauchy-Schwarz inequality on Poisson/multinomial detection rates that virtually all statistical information about undetected species f_0 resides in the rarest observed classes: Singletons f_1 (species seen exactly once) and Doubletons f_2 (species seen exactly twice)!

Whereas the classic asymptotic ratio S_obs + f_1^2 / (2 * f_2) divides by zero when f_2 = 0, Chao’s universally recommended Bias-Corrected Chao1 Formula S_Chao1 = S_obs + (f_1 * (f_1 - 1)) / (2 * (f_2 + 1)) (and incidence-based Chao2 replacing f_1, f_2 with unique-quadrat Q_1 and duplicate-quadrat Q_2 counts) works smoothly for all f_2 >= 0 — converging to exact S_obs as soon as singletons vanish (f_1 <= 1)!

Survey ScenarioObserved S_obsSingletons f_1Doubletons f_2Bias-Corrected S_Chao1Inventory Completeness
Under-Sampled Rainforest Plot85245131.00 species64.89%
Zero-Doubleton Edge Case4010085.00 species47.06%
Exhaustively Sampled Plot (f_1 = 1)12018120.00 species100.00%

Bias-Corrected Chao1 Asymptotic Species Richness Estimator S_Chao1

Evaluates S_obs + (f_1 * (f_1 - 1)) / (2 * (f_2 + 1)) after verifying S_obs > 0 and f_1 + f_2 <= S_obs.

=IF(OR(B2 <= 0, B3 < 0, B4 < 0, B3 + B4 > B2), "Invalid Counts (f_1 + f_2 Cannot Exceed S_obs)", ROUND(B2 + (B3 * (B3 - 1)) / (2 * (B4 + 1)), 2))

Estimated Sample Inventory Completeness (%) = 100 * S_obs / S_Chao1

Returns the estimated percentage of true assemblage richness already detected in the sample.

=IF(OR(B2 <= 0, B3 < 0, B4 < 0, B3 + B4 > B2), "Invalid Counts (f_1 + f_2 Cannot Exceed S_obs)", ROUND(100 * B2 / (B2 + (B3 * (B3 - 1)) / (2 * (B4 + 1))), 2))

Try the example

Use the original values or change them to test your understanding.

Further reading