Test results, part 2: how about negative results?

Ideal case

If you know nothing else besides the test result, then it’s very reliable: 99.9898%, which is basically 100%.

In the real world

Turns out, the negative result remains very robustly trustworthy even when the infection rate grows very large (or you’re in a cohort with a large infection rate).

  • at 10% infection rate, the test is still 99.9% reliable
  • at 50% infection rate, it’s 99% reliable
  • at 90% infection rate, it’s 91.7% reliable
  • at 99% infection rate, it finally drops to 50% reliability (coin toss)
reliability of a negative result as a function of infection rate
healthy.chance <- function(inf.rate, test.rel = 0.99, tot.pop = 10000) {
sick.pop <- tot.pop * inf.rate
healthy.pop <- tot.pop - sick.pop
pos.sick <- sick.pop * test.rel
neg.sick <- sick.pop - pos.sick
neg.healthy <- healthy.pop * test.rel
neg.total <- neg.sick + neg.healthy
chance <- neg.healthy / neg.total
infection.rate <- 1:100 / 100
chances <- lapply(infection.rate, healthy.chance)
plot(infection.rate, chances, col = 'blue'); grid()



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Florin Andrei

Florin Andrei


Graduated Physics. Engineer in the computer industry. Working on my Master’s degree in Data Science.