cooties
When did i get cooties?
supposedly 70% of america has cooties - aka oral herpes aka HSV-1.
I know i do. when did i get it? who poisoned me >:(
Estimate for Teenagers with Oral Herpes (Ages 13-18)
Ok so the CDC’s National Health and Nutrition Examination Survey suggest that 50-80% of the population carries HSV-1 (oral herpes) by adulthood. The WHO says the same thing. For teenagers (13-18), it’s estimated that 30-40% might already carry HSV-1 due to high transmissibility through childhood exposure (kissing family members, sharing utensils, etc.).
Figure uno: Age-adjusted prevalence of herpes simplex virus type 1 among persons aged 14–49, by age group, sex, and race and Hispanic origin: United States, 2015–2016
For the general case calculation, we assume 40% prevalence among teenagers.
how many kisses does it take to get cooties? a Statistical Combinatronics approach.
Steps:
-
Assume Prevalence Rate (P):
- Probability someone has oral herpes = P = 0.4 (40%). -
Assume Independent Events:
- Each kiss is an independent event (i.e., transmission is independent of previous encounters). -
Failure to Transmit in One Encounter (q):
- The probability of kissing someone who doesn’t have HSV-1:
$$Q = 1 - P = 1 - 0.4 = 0.6$$
- Meaning, there’s a 60% chance a given person is herpes-free. -
Multiple Kiss Probability:
- For multiple kisses, assuming independent events, the probability of remaining uninfected after n kisses is:
$$n = \prod_{i=1}^{n} (1 - \frac{P_i}{100})$$
where P_i is the prevalence at the age when each kiss occurred.
-
The cumulative probability of contracting HSV-1 after $n$ kisses is:
$$1 - Q_n$$ -
In this case, the probability of kissing n people and avoiding herpes is:
$$Q^n = 0.6^n$$ - We calculate n where this probability becomes very small (close to 0).
- Find n Where Transmission is Practically Guaranteed:
- To “practically guarantee” transmission, let’s aim for a 95% chance of having been exposed.
- This means solving for n in the equation:
$$1 - 0.6^n = 0.95$$
$$0.6^n = 0.05$$
- Taking the natural log of both sides:
$$n \cdot \ln(0.6) = \ln(0.05)$$
$$n = \frac{\ln(0.05)}{\ln(0.6)}$$
- Approximating:
$$n = \frac{-2.9957}{-0.5108} \approx 5.86$$
So, if you’re a typical teenager, you’d need to kiss ~6 people (on average) to have a 95% chance of being exposed to HSV-1, assuming a 40% prevalence among teens.
If prevalence increases (e.g., in adulthood where it’s 50-80%), the number of kisses needed would drop:
- 50% prevalence → ~4 kisses.
- 80% prevalence → ~2 kisses.
Figure dos: general population cumulative likelyhood for when you’d cooties
But we can do better. I want to know when I got cooties.
we can calculate this using the below table:
Age | Lower Bound (%) | Upper Bound (%) |
---|---|---|
12 | 15.00 | 20.00 |
14 | 21.44 | 33.07 |
17 | 21.44 | 33.07 |
18 | 21.44 | 33.07 |
19 | 21.44 | 33.07 |
Table 1: Age-Based HSV-1 Prevalence (Males in the U.S.) Source: https://www.cdc.gov/nchs/data/databriefs/db304_table.pdf#page=1
and my kissing history:
# Kiss | Age | Lower Bound (%) | Upper Bound (%) | Cumulative Probability (Lower) | Cumulative Probability (Upper) |
---|---|---|---|---|---|
1 | 12 | 15.00 | 20.00 | 0.1500 | 0.2000 |
2 | 14 | 21.44 | 33.07 | 0.3320 | 0.4646 |
3 | 17 | 21.44 | 33.07 | 0.4750 | 0.6416 |
4 | 18 | 21.44 | 33.07 | 0.5876 | 0.7616 |
5 | 18 | 21.44 | 33.07 | 0.6757 | 0.8419 |
6 | 19 | 21.44 | 33.07 | 0.7445 | 0.8957 |
7 | 19 | 21.44 | 33.07 | 0.7982 | 0.9305 |
8 | 19 | 21.44 | 33.07 | 0.8403 | 0.9533 |
9 | 19 | 21.44 | 33.07 | 0.8734 | 0.9686 |
10 | 19 | 21.44 | 33.07 | 0.8993 | 0.9791 |
Table 2: Accumulated Probability of Infection Source: me lol
Figure tres: Upper and Lower bound cumulative likelyhood for when i got cooties
it looks like, on the conservative case, I got cooties on my 12th kiss, and in the more aggressive take I got it on the 8th kiss. With 95% certainty. I know who those girls are, and I know then, one of them gave me cooties >:(
Appendix
Recreate it yourself
import numpy as np
import matplotlib.pyplot as plt
# Given age-based HSV-1 prevalence rates for males in the U.S.
age_prevalence_bounds = {
14: (21.44, 33.07), # Range for ages 14-19
17: (21.44, 33.07),
18: (21.44, 33.07),
19: (21.44, 33.07),
}
# Ages at which the I kissed someone
kiss_ages = [12, 14, 17, 18, 18, 19, 19, 19, 19, 19]
# Assume age 12 follows a lower estimated prevalence rate (~15%)
age_prevalence_bounds[12] = (15, 20)
# Compute probability accumulation
prob_no_hsv_lower = 1.0
prob_no_hsv_upper = 1.0
# Store cumulative probability for plotting
kiss_count = np.arange(1, len(kiss_ages) + 1)
prob_hsv_lower = []
prob_hsv_upper = []
for age in kiss_ages:
lower_p, upper_p = age_prevalence_bounds.get(age, (21.44, 33.07))
prob_no_hsv_lower *= (1 - lower_p / 100)
prob_no_hsv_upper *= (1 - upper_p / 100)
prob_hsv_lower.append(1 - prob_no_hsv_lower)
prob_hsv_upper.append(1 - prob_no_hsv_upper)
# Plot probability accumulation over kisses
plt.figure(figsize=(10, 6))
plt.plot(kiss_count, prob_hsv_lower, marker='o', linestyle='-', label="Lower Bound (21.44%)")
plt.plot(kiss_count, prob_hsv_upper, marker='o', linestyle='-', label="Upper Bound (33.07%)")
plt.xlabel("Nth Kiss", fontsize=14)
plt.ylabel("Cumulative Probability of HSV-1 Infection", fontsize=14)
plt.title("which kiss gave me cooties?", fontsize=16)
plt.legend()
plt.grid(alpha=0.3)
plt.xticks(kiss_count)
plt.yticks(np.linspace(0, 1, 11))
plt.show()
note: this obviously simplified things. you can get HSV1 from non kissing contact, eg: sharing utensils, drinking from the same cup, using the same chapstick, touching an active cold sore, sharing face towels, using the same toothbrush, etc.
note: no hard feelings its all just fun. but i guess im a walking virus now…