The calculator draws from CERN's CAiMIRA (Airborne Model for Indoor Risk Assessment) aerosol physics framework and implements the methodology from Henriques et al. (2025), "An integrated airborne transmission risk assessment model for respiratory viruses: short- and long-range contributions," published in Journal of the Royal Society Interface. It integrates both short-range transmission (when you're close to someone) and long-range transmission (breathing shared air in a room) using an advanced version of the Wells-Riley equation, with substantial enhancements including immunocompromised risk adjustments, real-time prevalence integration, and advanced mask effectiveness modeling.
The model accounts for realistic aerosol physics, including how particles of different sizes behave in the air, how they deposit in your lungs, and how environmental factors like temperature and humidity affect viral survival. It also incorporates Omicron-specific transmissibility data and viral decay patterns.
The calculator runs thousands of Monte Carlo simulations to realistically model transmission. Each simulation independently determines which specific people in the exposure scenario happen to be infectious (based on COVID prevalence), samples their unique characteristics (viral load from Chen et al. 2021 distribution, breathing patterns, etc.), and calculates the cumulative dose from all infectious individuals using size-resolved aerosol physics. This approach captures the discrete, stochastic nature of transmission.
The calculator also integrates real-time data, pulling the most recent state-specific COVID wastewater levels from the CDC and converting them to prevalence estimates using the PMC model, with automatic weekly updates to keep the estimates current.
The exposure risk calculator is built on a foundation of peer-reviewed scientific research and has undergone multiple forms of validation to ensure accuracy and reliability.
Scientific Foundation
The calculator implements the methodology from Henriques et al. (2025). This research represents the latest advancement in airborne transmission modeling, extending CERN's CAiMIRA (COVID Airborne Indoor Risk Assessment) framework to properly integrate both short-range and long-range transmission routes.
CAiMIRA Model Validation Status
The underlying CAiMIRA framework has mixed validation depending on transmission route. The long-range (background aerosol) component has been benchmarked against real-world outbreak data, with Henriques et al. (2022) showing that predicted attack rates matched observed infection probabilities across documented superspreading events in classrooms, offices, and restaurants. However, the short-range (jet) component lacks large-scale epidemiological validation since outbreak reports cannot easily separate close-range aerosols from droplets or surface transmission. Instead, the short-range model is validated against laboratory measurements of respiratory jet dilution and CFD studies, with dilution factors matching experimental data from respiratory jet studies. When combined, the integrated model produces attack rates consistent with observed outbreak probabilities, though the authors acknowledge that direct field validation of short-range aerosol transmission remains limited.
The "Average Joe" Validation Case
One of the strongest forms of validation comes from calibrating calculated risk against independent epidemiological models. I developed detailed behavioral personas representing typical American exposure patterns, with "Average Joe" serving as the primary validation case. According to the exposure calculator (detailed explanation below), Average Joe's weekly risk of contracting Covid in early June 2025 was about 0.54%. This closely matched PMC's estimate of the national COVID prevalence at that time (0.5%).
Since the average person is infectious with COVID for approximately 7 days, the PMC model (largely built on IHME's model of daily new infections) provides an independent estimate of the probability that an average American will be infected in a given week. The fact that the exposure calculator's estimate of Average Joe's weekly infection risk so closely matched the PMC model's COVID prevalence estimate at that time provides independent support of the calculator's accuracy.
The following describes Average Joe's weekly exposure patterns, derived from national survey data and other research, with each scenario calculated separately using the exposure risk calculator:
Each exposure scenario used the unified transmission exposure calculator. (Exposures with different activity levels were treated separately in the calculator.) Individual risks were combined probabilistically using the formula: Total Risk = 1 - (1 - risk₁) × (1 - risk₂) × ... × (1 - riskₙ), treating each exposure as an independent event.
Total calculated weekly risk: 0.54%
⚠️ Important Seasonal Context: These risk levels represent the annual low point for COVID activity. June 2025 falls during the traditional spring/early summer lull when COVID prevalence is at its lowest. Users should expect risks to increase significantly during summer peaks (typically July-August) and especially during winter surges (December-February), when prevalence can reach 5-10x these levels.
Internal Consistency
The model demonstrates strong internal consistency, with risk estimates scaling appropriately across different scenarios, environmental conditions, and intervention strategies. Additionally, the fact that home and office exposures account for over 90% of calculated risk aligns with epidemiological understanding of where most transmission occurs.
Conclusion
While no model perfectly captures the complexity of real-world transmission, this calculator represents the current state-of-the-art in airborne transmission risk assessment. It combines the latest aerosol physics research, rigorous mathematical modeling, empirical validation against outbreak data, and independent epidemiological calibration. The convergence of theoretical foundations, experimental evidence, and real-world validation across multiple lines of evidence provides strong support of the calculator's reliability as a quantitative risk assessment tool.
The calculator recognizes that immunocompromised individuals face substantially higher infection risk because they can become infected with fewer viral particles than healthy adults. This is implemented by treating the infectious dose as significantly lower for people with weakened immune systems.
Scientific basis: Studies show that the median infectious dose (ID₅₀) for healthy adults is approximately 100 viable viral particles. However, research indicates immunocompromised individuals have markedly reduced infectious thresholds:
How these estimates were derived: The multipliers come from multiple evidence sources triangulated using Bayesian analysis. Household transmission studies showed immunocompromised contacts had 4-16× higher odds of infection given identical exposures. Animal studies using immune-suppressed hamsters found 5-6× lower infectious doses when adaptive immunity was disabled. Breakthrough infection surveillance in transplant recipients showed up to 82× higher post-vaccination infection rates compared to the general population. Real-world susceptibility spans a range within each class; the factors here are meant for cautious default settings, not precise patient-level prognoses.
For the math mavens: In brief, a log-normal prior (σ = 0.7), centered on a 5× susceptibility increase, was informed by the aforementioned animal studies. Likelihood functions incorporated observed odds ratios: moderate immunocompromising conditions ~4± 2-fold increased risk, severe immunocompromising conditions ~15± 5-fold increased risk. The posterior analysis yielded median estimates of 3.0× (95% credible interval: 2-8×) for moderate and 9.6× (95% CrI: 5-25×) for severe immunocompromising conditions. Conservative values of 8× and 20× were selected from the upper portions of the credible ranges rather than using the posterior medians, prioritizing appropriate caution for this vulnerable population. These factors sit near the upper end of the statistical credible range; less-immunosuppressed people in the 'moderate' bucket may in reality be closer to ~3–4×. (Note: I plan to write a more detailed explanation of the approach at a later time.)
Implementation: When you indicate moderately or severely immunocompromising conditions, the calculator divides the standard "quantum" emission rate by 8 or 20, respectively. This effectively increases your calculated risk proportionally, reflecting the biological reality that fewer viral particles are needed to establish infection in immunocompromised individuals.
Not necessarily! A low single-exposure risk doesn't mean precautions are unnecessary - it often means your precautions are working. The key insight is understanding the difference between individual exposure risk and lifestyle risk.
The "Low-Risk" Misconception
When people see "0.1% risk from one restaurant visit," they often think: "That's tiny, maybe I've been overthinking this." But if you dine out twice a week for a year, that seemingly negligible risk can easily accumulate to 20% annual risk or more from dining alone. Add in your work exposures, social activities, and errands, and you're looking at substantial cumulative risk from activities that individually seem harmless.
One-Time vs. Regular Activities
Your precautions make the most difference for activities you do repeatedly, even if each individual instance seems low-risk.
Why Precautions Still Matter
Understanding cumulative risk shows why precautions are valuable:
Explore Your Cumulative Risk
To see how seemingly low-risk activities add up over time, click "Explore repeated exposures" at the bottom of your results. You can explore how your risk accumulates if you repeat this activity on a regular basis (e.g., weekly, monthly, daily).
The Bottom Line
A low single-exposure risk often reflects good decision-making, not wasted effort. Your individual exposure risk tells you about today, but your lifestyle patterns determine your long-term health outcomes. Precautions that seem unnecessary for one exposure can be crucial for the activities that shape your cumulative risk over time.
The repeated exposure feature calculates cumulative risk over time using time-varying prevalence data that accounts for seasonal changes in COVID activity. Rather than assuming constant risk, it incorporates real epidemiological patterns from CDC wastewater data.
Multiple exposure patterns are available:
Time-varying prevalence: The calculator starts from your current week and uses CDC historical data to project how prevalence changes over the year.
Waning immunity: If you indicate that you've been vaccinated or infected in the last year, the calculator accounts for the fact that your immune protection gradually weakens over time. For each future exposure, it estimates what your immunity level will be at that point in time, rather than assuming constant protection throughout the entire period. This provides more accurate long-term risk estimates, as immunity from both vaccination and infection naturally wanes over time.
Risk calculation: For each exposure, the calculator scales your base single-exposure risk by both the prevalence ratio for that time period and your immunity level at that future date. The cumulative risk is calculated as: 1 - (1 - risk₁) × (1 - risk₂) × ... × (1 - riskₙ), treating each exposure as an independent event.
Important assumption: This calculation assumes each exposure is independent. For repeated exposures to the same people, actual risk may vary due to correlated infection patterns. The calculation provides a useful baseline estimate, but your specific risk depends on whether you're exposed to the same group repeatedly or different people each time.
Small variations between identical calculations are normal and expected. This occurs because the calculator uses Monte Carlo simulations, which involve random sampling to account for the natural uncertainty in transmission.
How the randomness works: Each time you run a calculation, the simulator performs thousands of individual scenarios, randomly sampling different combinations of variables like viral loads (which can vary 100-fold between infected people), the exact number of infectious people present, individual breathing rates, and dose-response thresholds. Even with identical inputs, each simulation run samples these variables differently, leading to slightly different final estimates.
Why we use this approach: Monte Carlo simulation provides more accurate risk estimates than simple deterministic calculations because it captures the real-world uncertainty in transmission. The slight run-to-run variation is the trade-off for getting statistically robust results that account for the inherent randomness in infectious disease transmission.
Bottom line: Small variations between identical calculations don't indicate an error—they reflect the statistical nature of the underlying model. Focus on the general magnitude of risk (e.g., "around 0.2%") rather than precise decimal places when interpreting results.
Occasionally, you might notice that reducing the number of people, shortening exposure time, or making other clearly safer changes results in a slightly higher risk estimate. This counterintuitive result is due to the random sampling in the calculator's simulations, not an error in the underlying science.
How this happens: Each calculation simulates thousands of scenarios to account for uncertainty in transmission risk. Even with identical inputs, different random combinations of viral loads, infectious people, and other variables can produce slightly different results. When you make a small safety improvement, the true risk reduction might be smaller than this natural variability, allowing random chance to occasionally produce a higher number.
What to do: If you see this pattern, try running the calculation several times for both scenarios. The safer option should show lower risk on average, even if individual runs occasionally go the wrong way.
When to be concerned: For small modifications, occasional "wrong direction" results are statistically normal. However, if a major change (like adding masks or halving exposure time) shows higher risk, that's unusual and worth investigating. If you notice persistent unexpected behavior or suspect a bug, please reach out at yourcovidrisk@gmail.com.
The calculator models mask effectiveness through two key factors: mask type and mask fit quality. Mask type determines the intrinsic filtration efficiency of the material, but the overall effectiveness of a mask depends critically on how well it fits your face. Ultimately, what matters for your protection is leakage—the percentage of airborne particles that penetrate through both the mask material and any gaps around the edges to reach your breathing zone.
The table below shows the leakage values actually used in the calculator for different combinations of mask types and fit quality. These leakage rates are applied to you (the app user) to assess your personal risk based on your specific mask choice and fit quality. These values represent reasonable approximations of real-world leakage given the mask type and fit quality, derived from various real-world studies of mask performance across different mask types and fit conditions:
Mask Type | Loose Fit | Average Fit | Snug Fit | Passes Qualitative Fit Test |
---|---|---|---|---|
Cloth | 70% | 50% | 30% | — |
Surgical | 55% | 35% | 18% | — |
KN94/95 | 45% | 30% | 15% | 5% |
N95 | 25% | 12% | 5% | 1% |
N99 | 25% | 12% | 3% | 0.7% |
Elastomeric with P100/N100 filters | 15% | 6% | 2% | 0.5% |
Notes:
Advanced option: If you have quantitative fit test results (a fit factor number from a PortaCount machine or similar device), you can enter this directly for maximum accuracy. Fit factor represents the ratio of particles outside versus inside the mask, so leakage percentage equals 1 divided by the fit factor (1/fit factor × 100%). For example, a fit factor of 100 means 1/100 = 1% leakage, a fit factor of 10 means 1/10 = 10% leakage, and a fit factor of 43 means 1/43 = 2.3% leakage. Note: For PortaCount machines, the calculator interprets "fit factor" as measurements taken in N99 mode, not N95 mode. This is because N95 mode uses a narrow particle size band around 0.04 µm to isolate seal leakage only, while N99 mode counts particles of a much broader range (from 0.02-1.0 µm) to measure total leakage from both seal bypass and filter penetration. The latter measurement is needed to assess infection risk from respiratory aerosols of all sizes.
The calculator applies these detailed leakage rates to your inhalation (protecting you) based on your specific mask selection and fit quality. For others' exhalation (source control), if you indicate that other people are wearing masks, the calculator assumes they have average fit quality. Currently, the calculator provides more comprehensive mask customization for you as the app user than for other people, though I plan to add more custom options for other mask-wearers in the future.
Try experimenting with the calculator to see these effects for yourself—compare scenarios with no mask, a loose cloth mask, a snug surgical mask, and a fit-tested N95 to see how dramatically your mask choice and fit quality affect your probability of getting infected in the same exposure scenario.
At distances less than 1.5 feet (0.5 m), this calculator likely underestimates infection risk because the underlying physics model was never designed for such close proximity. A warning appears when you select 0.5 ft or 1 ft to flag this limitation.
Scientific foundation
The calculator implements the model in Henriques et al. (2025) "An integrated airborne transmission risk assessment model for respiratory viruses: short- and long-range contributions" (J. R. Soc. Interface). The authors explicitly exclude "intimate interactions" closer than 0.5 m (about 1.5 ft).
What happens at very close range
Closer than about 1.5 ft, the direct-deposition sub-mode of "through-the-air" transmission dominates.
This calculator models airborne inhalation only—both short-range inhalation (1.5 ft–6 ft) and well-mixed long-range exposure—but does not include direct deposition.
Why the model breaks down at distances less than 1.5 ft:
Treat the calculated risk as a lower bound. Your actual risk closer than 1.5 ft may be significantly higher—especially during face-to-face conversation, medical or dental work, or other intimate contact.
For indoor environments, the calculator uses typical measured ventilation parameters and space sizes from published studies. Each indoor venue type (offices, classrooms, restaurants, etc.) and transportation option is assigned appropriate air change rates and volumes based on real-world measurements from building engineering research.
If you want more control over these parameters, you can override the defaults in the advanced settings and enter specific values for air changes per hour, room volume, temperature, humidity, and CO₂ levels for your particular indoor space.
Note that outdoor transmission modeling uses a different approach based on distance and wind speed, which is explained in the next question.
The calculator models outdoor transmission using the same core scientific framework as indoor calculations—the integrated airborne transmission model from Henriques et al. (2025)—but with environmental parameters that reflect the dramatically enhanced ventilation found in outdoor settings.
Adapting Indoor Models for Outdoor Use
While the Henriques et al. model was originally developed for indoor environments, there's no fundamental reason it can't be applied to outdoor transmission with appropriate environmental assumptions. The underlying physics of aerosol dispersion, inhalation, and dose-response relationships remain the same whether you're indoors or outdoors. What changes simply are the environmental conditions (ventilation rates, mixing volumes, and air movement patterns).
This approach allows us to maintain scientific consistency across indoor and outdoor scenarios while capturing the key differences that make outdoor transmission typically much safer than indoor exposure.
Outdoor Environmental Parameters Used to Calculate Risk
Volume: Distance-dependent - The calculator uses a volume that is based on your answer to "How far away were other people (on average)?" This distance determines a square area around each person (distance × distance). When multiplied by a 2-meter mixing height, this yields the air volume where infectious particles disperse. The 2-meter height represents the breathing zone where person-to-person transmission occurs—roughly the height where people's nose and mouth are located when standing (1.5-1.8m) plus some additional space for initial aerosol dispersion. For example, if people are 6 feet apart, each person occupies a 6×6 foot square of ground space, and the calculator uses the air volume in that square up to 2 meters high. Closer spacing means less air volume for dilution, resulting in higher risk.
ACH: 1,600 - ACH stands for "Air Changes per Hour," which measures how many times the entire air volume in a space gets replaced each hour. The calculator uses an outdoor ACH of 1,600, which is dramatically higher than typical indoor environments. For comparison, a small office typically has an ACH of around 3 or 4, meaning outdoor air exchange is hundreds of times faster than a typical indoor workspace. The 1,600 figure is based on a 2 mph (0.89 m/s) breeze using the standard formula ACH = 3600 × wind speed ÷ height = 3600 × 0.89 m/s ÷ 2 m ≈ 1,600. (See, for example, p. 71 of these notes for a practical illustration.) A 2 mph wind represents a light breeze that's common outdoors but conservative enough not to over-estimate dilution in typical settings. As you can see for yourself using the above formula, even even modest outdoor breezes create extremely high effective air exchange rates.
Future Enhancements
Eventually I plan to add the ability for users to input specific wind information (speed and direction) to customize the ventilation calculations for particular outdoor conditions.
The calculator separates physical activity from vocal activity to provide more accurate estimates. Your physical activity level (sitting, standing, light exercise, moderate exercise, or heavy exercise) determines your breathing rate, which affects how much air you inhale. Other people's physical activity affects how much virus they emit through breathing, while their vocal activity has a much more dramatic effect on virus emission.
Physical activity effects are moderate: For example, heavy exercise increases breathing rate about 6-fold compared to sitting, affecting both how much air you breathe in and how much an infected person breathes out.
Vocal activity effects are enormous: Speaking increases virus emission about 100-fold compared to quiet breathing, while loud speaking increases emission about 500-fold. This means an infected person speaking loudly emits roughly 500 times more virus than someone breathing quietly!
The practical takeaway: vocal activity matters far more than physical activity for transmission risk. An infected person sitting quietly in a library poses much less risk than someone speaking loudly, even if they're exercising heavily.
Try experimenting with the calculator to see these effects for yourself—compare a quiet library setting (everyone sitting, just breathing) with a loud restaurant (sitting, speaking) to see how dramatically vocal activity affects your risk.
The calculator incorporates your vaccination and infection history through a sophisticated dose-response model that adjusts how susceptible you are to infection based on your immune protection. This protection is integrated into the overall airborne transmission risk assessment described in earlier questions.
Recent Infection Protection
For those with recent COVID infections (i.e., infections in the past year), the calculator uses data from Chemaitelly et al. (2025), "Differential protection against SARS-CoV-2 reinfection pre- and post-Omicron," Nature 639, 1024–1031. This is one of the most recent and comprehensive studies of reinfection protection, analyzing data collected from December 2021 through February 2024 when essentially only Omicron variants and sublineages were circulating (including BA.1, BA.2, BA.4/BA.5, BA.2.75, and XBB-derived lineages). The study found that after an Omicron infection, immunity is at its strongest in the months immediately following illness but then steadily wanes over the course of the year—ultimately becoming quite low by 12 months—and that this same general pattern occurs in both vaccinated and unvaccinated individuals, with only modest differences in their starting protection levels.
The calculator implements immune protection by raising your infectious dose—the number of viral particles needed to establish infection. If you have strong immune protection, you need to be exposed to more virus to get infected; if you have weak immune protection, less virus is needed. This biological mechanism is integrated into the dose-response calculations that determine your infection probability from the total viral dose you inhale during the exposure.
The model distinguishes between two protection patterns:
Vaccination-Only Protection
For vaccination protection without recent infection, the calculator uses a more complex approach because infection effectiveness data for 2024-25 vaccines has not yet been published. The calculator draws from the following CDC data: 2024-25 vaccine effectiveness against emergency department and urgent care visits (which shows notably lower effectiveness than previous years), 2023-24 vaccine effectiveness against symptomatic infection from the same source, and 2022-23 CDC data that specifically breaks down effectiveness by immunocompromised status.
The calculator bridges these data sources using the fact that vaccine effectiveness against infection is typically lower than effectiveness against severe outcomes like emergency department visits. This allows the calculator to estimate infection protection from current severe-outcome data while accounting for the fact that 2024-25 vaccine effectiveness appears markedly reduced compared to previous years.
The calculator accounts for immunocompromised status in two ways. First, immunocompromised individuals require fewer viral particles to establish infection (lower infectious dose). Second, vaccines provide substantially reduced protection for immunocompromised individuals compared to those with normal immune function. The model applies time-dependent adjustment factors based on historical data showing immunocompromised individuals typically experience both lower initial vaccine effectiveness and faster waning of protection over the months following vaccination.
Vaccination protection wanes much more rapidly than infection-based protection these days. While it provides noticeable protection in the first few months, vaccine protection becomes very limited by 6 months and is likely non-existent by 12 months after your most recent dose.
Integration with Overall Risk Model
This immune protection is integrated into the broader airborne transmission model described in earlier FAQ questions. The calculator first determines your total inhaled viral dose using size-resolved aerosol physics, environmental factors, and exposure duration. It then applies your immune protection level to determine infection probability using dose-response relationships.
Your likelihood of a Covid infection is estimated by combining epidemiological data with your individual test results using principles from probability. Here’s how the calculation works in different scenarios:
Your recent behavior also influences your risk. The app asks you to rate your recent potential Covid exposure compared to the average person. This helps adjust your baseline risk based on your actual activities and exposure patterns.
The baseline estimate is your calculated risk assuming average exposure levels. Your selection adjusts this baseline as follows:
Note: If you do not find any of these predefined risk categories or operationalizations appropriate for your situation, you can manually enter your own prior probability in the Advanced settings.
For every test you enter, the app updates your risk using Bayes’ theorem. Each test has its own sensitivity (true positive rate) and specificity (true negative rate), which may differ based on whether you have symptoms.
The advanced mode lets you manually enter local Covid prevalence and positivity rates, overriding the automatic data lookup from PMC and Walgreens. This is useful if you have more recent or specific data for your situation. You can also manually set your own prior probability, which will bypass all other calculations and use only your test results to update the risk using Bayes’ theorem.
This counterintuitive result illustrates a fundamental principle in medical testing: even excellent tests can't overcome very low baseline probabilities. Here's why this happens:
Starting Point Matters: When you're asymptomatic, your starting probability of having COVID is much lower than if you had symptoms. For example, in the Spring—historically the lowest COVID activity period—an asymptomatic person in California starts with only about 0.3% probability of infection. Compare this to a symptomatic person who starts with about 25% probability (the current positivity rate in California as of May 24, 2025).
Exposure Level Effects: Your exposure level dramatically affects these calculations. COVID-cautious people who select "much less" or "somewhat less" exposure will have even lower infection probabilities with a positive test. The calculator accounts for how your behavior compares to the average person.
Test Performance vs. Baseline Risk: Even the best home tests like Metrix or Pluslife have some false positive rate (about 0.8% for Metrix). When your true infection risk is very low, false positives become proportionally more likely than true positives. If 1,000 uninfected asymptomatic people take a Metrix test, about 8 will get false positive results. But if only 3 people out of 1,000 are actually infected, the test might detect 2-3 of them. So you could have 8 false positives and only 2-3 true positives—meaning most positive results are false!
Seasonal and Prevalence Effects: The time of year dramatically affects these calculations. During peak season in early January, when national prevalence reaches around 2.5%, an average asymptomatic person with a positive Metrix test would have just over 50% probability of infection. But counterintuitively, during lower prevalence periods (like Spring), the average asymptomatic person who tests positive is more likely not infected than infected—even with high-quality tests like Metrix or Pluslife.
Symptoms Change Everything: Having COVID-like symptoms completely transforms the calculation. A symptomatic person with the same positive test would have a much higher probability of infection, because they start with a much higher baseline probability.
⚠️ Important: Still Act as if You Have COVID! This analysis absolutely does not mean you should ignore a positive test result. Even if there's only a 25% chance you have COVID, that's still much higher than your baseline risk. There's significant risk of bad outcomes to you and others if you act as though you don't have COVID.
Learning Tool: Try experimenting with the test calculator—change your symptoms, location, exposure level, or test type to see how dramatically these factors affect your results. After calculating your probability, click "Explain calculation" to see the detailed mathematical explanation of exactly how Bayes' theorem combines all these factors. This demonstrates why context is crucial in medical testing and why the same test result can mean very different things for different people.
I'm gradually adding more test data to the calculator as new studies become available and as I have time to review the literature. If you don't see your specific test in the dropdown list, you can select "Other RAT (Rapid Antigen Test)" for reasonably accurate results.
The "Other RAT" option uses average performance characteristics across multiple rapid antigen tests, so while it won't be as precise as test-specific data, it will still give you a good estimate of your infection probability based on your test results.
The uncertainty ranges account for multiple sources of uncertainty that affect your risk calculation. We use a statistical technique called Monte Carlo simulation, running 10,000 different scenarios that sample from the following uncertainty sources:
Test Performance Uncertainty: Each test's sensitivity and specificity have their own uncertainties based on the clinical studies that validated them. We use Beta distributions that properly reflect this uncertainty—tests validated on larger study populations have tighter uncertainty bounds than those validated on smaller groups.
Positivity Rate Uncertainty: Local positivity rates from testing sites also have uncertainty based on the volume of testing in your region. Areas with more testing provide more precise positivity rate estimates.
Prevalence Uncertainty: For asymptomatic users, prevalence point estimates come from the PMC model, but PMC does not provide uncertainty intervals. To quantify prevalence uncertainty, the calculator uses a custom Bayesian hierarchical wastewater model calibrated against IHME's framework that accounts for: (1) biological variability in how long infected people shed virus using Omicron and pre-Omicron infectiousness duration data, (2) differences between COVID variants in transmission patterns, (3) uncertainty in converting wastewater viral levels to prevalence estimates, and (4) measurement noise in wastewater surveillance data. This provides much more realistic uncertainty bounds than using fixed prevalence estimates.
For each simulation, we sample values from all these uncertainty sources, calculate your probability of infection, then examine the spread of results. The "probable" range shows where your actual risk most likely falls (51% of scenarios), while the "almost certain" range covers 99% of plausible scenarios. This comprehensive approach gives you a realistic sense of how confident we can be in the calculated probability, rather than presenting a single number that might seem more precise than it actually is.
The sensitivity of a test is the probability that the test is positive if the person is infected. The specificity of a test is the probability that the test is negative if the person is not infected. As the table below shows, the sensitivity and specificity of a given test can depend (sometimes dramatically) on whether it is administered to someone who is symptomatic or asymptomatic.
The table below presents performance data for various tests during the Omicron period specifically. This is because test sensitivities—especially those of RATs (Rapid Antigen Tests)—dramatically decreased with the emergence of Omicron. So, earlier testing data—e.g., data from the FDA in 2020-2021—has become much less relevant.
Important: The values in this table represent the sensitivity and specificity used for the first test result only. When you enter multiple test results, the calculator uses a more sophisticated approach with an "effective" sensitivity and specificity that changes based on previous test results. See "How does the calculator handle multiple test results?" for details.
Test | Symptomatic Sensitivity (95% CI) |
Symptomatic Specificity (95% CI) |
Asymptomatic Sensitivity (95% CI) |
Asymptomatic Specificity (95% CI) |
Notes |
---|---|---|---|---|---|
BinaxNOW | 74.0% (66.8%–80.4%) |
99.2% (95.4%–99.9%) |
49.6% (40.5%–58.6%) |
99.4% (97.7%–99.9%) |
|
CorDx (Covid & Flu) | 89.1% (81.9%–93.6%) |
99.8% (99.1%–100%) |
25.2% (21.5%–29.3%) |
99.8% (99.1%–100%) |
|
FlowFlex (Covid-only) | 84.7% (79.7%–88.6%) |
99.3% (98.5%–99.8%) |
27.5% (21.3%–34.3%) |
99.8% (99.6%–99.9%) |
|
FlowFlex Plus (Covid & Flu) | 90.6% (85.4%–94.4%) |
99.3% (98.2%–99.8%) |
27.5% (21.3%–34.3%) |
99.3% (98.2%–99.8%) |
|
iHealth (Covid-only) | 72.5% (63.6%–80.3%) |
98.4% (96.8%–99.2%) |
25.2% (21.5%–29.3%) |
98.4% (96.8%–99.2%) |
|
iHealth (Covid & Flu) | 84.2% (75.6%–90.2%) |
98.4% (96.8%–99.2%) |
25.2% (21.5%–29.3%) |
98.4% (96.8%–99.2%) |
|
Lucira | 88.3% (80.2%–93.3%) |
99.9% (99.6%–100%) |
84.0% (75.1%–90.3%) |
98.2% (95.2%–99.5%) |
|
Metrix | 95.0% (83.5%–98.6%) |
97.1% (85.5%–99.5%) |
94.0% (84.5%–100%) |
99.2% (97.2%–99.8%) |
|
OSOM (Covid & Flu) | 59.7% (51.6%–67.4%) |
99.1% (97.9%–99.6%) |
25.2% (21.5%–29.3%) |
99.1% (97.9%–99.6%) |
|
Other RAT (Rapid Antigen Test) | 87.4% (83.7%–90.4%) |
99.9% (99.7%–99.9%) |
25.2% (21.5%–29.3%) |
99.8% (99.6%–99.9%) |
|
Pluslife | 98.7% (93.1%–99.8%) |
99.3% (98.7%–99.6%) |
97.3% (86.2%–99.5%) |
99.3% (98.7%–99.6%) |
|
WELLLife (Covid & Flu) | 87.5% (80.7%–92.2%) |
99.7% (98.9%–99.9%) |
25.2% (21.5%–29.3%) |
99.7% (98.9%–99.9%) |
|
When you enter multiple test results taken at around the same time (within a few hours), the calculator uses an advanced statistical model that accounts for correlations between tests. Instead of simply applying Bayes' theorem repeatedly with fixed test performance values, the model uses an "effective" sensitivity and specificity for each subsequent test based on previous results.
For example, if you get 3 negative tests in a row during the same testing session, the model recognizes that if you are infected with a typical viral load, you probably would have tested positive by now. So the effective sensitivity for the 4th test drops substantially, reflecting the fact that additional negative tests provide diminishing evidence against infection.
This correlation modeling only works when tests are taken at around the same time because it assumes you have approximately the same viral load and testing conditions for all tests. For tests taken days apart, your viral load could have changed dramatically (infection progresses from low to high to declining levels), you could have acquired or cleared infection, or systematic error sources (like contamination or poor technique) might no longer persist between tests.
The model tracks the probability distribution of your viral load (if infected) and the probability of systematic testing errors, then uses these to calculate appropriate effective test performance characteristics for each new test result.
Note: I plan to write a more detailed explanation of the methodology at a later time. I also plan to add the ability to enter tests from multiple days (with appropriate statistical modeling for each scenario).
This tool was created by me: Nicholas DiBella. I'm a researcher with a PhD in Philosophy from Stanford University (where I specialized in the foundations of probability) and a B.S. in Physics from MIT. While I have no formal training in epidemiology, I've spent considerable time during the pandemic learning about COVID transmission models, diagnostics, and various other matters in public health risk assessment.
My physics training and philosophical work on probability were extremely valuable for this project—it gave me the tools to develop and implement complex mathematical models while thinking carefully about how to communicate uncertainty and risk in honest, helpful ways.
Throughout the development process, I've benefited greatly from feedback from various researchers, friends, and kindred spirits who share a commitment to rigorous COVID risk assessment. I especially want to thank Benjamin Brown, Cameron O'Neill Byerley, Simon Cullen, Pantea Javidan, Matthew Karolian, Alison Mirin, Lidia Pruente, and Stephanie Schmit for their valuable input and encouragement.
Yes! This entire project is open source and available at github.com/dibellatron/YourCovidRisk. All code, calculations, and methodologies are publicly accessible for review.
I especially welcome feedback from researchers, epidemiologists, programmers, and anyone with relevant expertise who notices potential technical errors, scientific inaccuracies, mathematical issues, or has general suggestions. Please reach out at yourcovidrisk@gmail.com with any concerns or suggestions.
This tool was created to fill a significant gap in available COVID risk assessment resources. While COVID remains a serious ongoing health concern in 2025—particularly for immunocompromised individuals and those with chronic illnesses—most public health messaging has shifted toward oversimplified guidance that doesn't help people make informed decisions about their individual circumstances.
I noticed that people who are still taking COVID seriously (including immunocompromised individuals, those caring for vulnerable family members, and anyone wanting to make evidence-based decisions) lacked access to sophisticated risk assessment tools. The available options were either overly simplistic or required specialized scientific knowledge to use effectively.
This represents a gap where the underlying science exists—academic researchers have developed sophisticated transmission models and Bayesian risk assessment methods—but these advances haven't been made accessible to the public through user-friendly tools. While government agencies have the resources to build such tools, comprehensive risk calculators haven't been prioritized in public health policy. The COVID-cautious community, which most needs these resources for making informed decisions, has been largely underserved by existing risk communication efforts.
This tool aims to bridge that gap by:
While I recognize that only a small percentage of the population may use this tool, those who do are often making higher-stakes decisions where precision really matters. My goal is to ensure they have access to the best available science for those decisions.
Currently, the calculators are designed primarily for the United States, with U.S.-specific data sources for COVID prevalence and positivity rates. However, many of the underlying calculations (especially for exposure risk) are based on universal biological and physical principles that apply globally.
If you have access to local COVID prevalence estimates, you can manually enter them in the advanced fields of either calculator for more accurate results. In the exposure calculator, click "Advanced" to override the default prevalence data. In the test calculator, you can adjust prevalence settings when calculating risk.
I hope to expand international support in the future, but don't have a specific timeline yet. This would involve integrating international data sources for COVID prevalence, local positivity rates, and potentially region-specific epidemiological factors.
In the meantime, users outside the U.S. may still find these tools useful as general risk assessment tools, though the default prevalence estimates may not reflect your local situation accurately.
Yes! I'm actively working on improvements to the existing calculators as well as developing entirely new tools, though I don't have specific timelines for their release. Here are some things I plan/hope to do:
Exposure Calculator Enhancements
Improved ventilation and air quality controls: Currently, the calculator uses typical air change rates for different indoor environments, though you can specify custom ACH values in the Advanced settings. I plan to add user-friendly controls that let you specify the actual ventilation, filtration, and disinfection measures in your specific environment. This would include options for windows being opened, portable air purifiers, HVAC filtration upgrades, and far-UVC systems. This will give users much more accurate risk estimates without needing to know technical measurements that are difficult for most people to obtain.
International support: Integrating international data sources for COVID prevalence and potentially more local data sources for COVID prevalence for users in the U.S.
Wind customization for outdoor scenarios: Adding the ability to input specific wind conditions (speed and direction) for more accurate outdoor risk calculations.
More mask customization options: Expanding the detailed mask options currently available for you as the app user to also include custom settings for other people's masks in your exposure scenarios.
Preset scenario templates: Pre-configured common scenarios that normally require complex manual setup. For example, travel (airport wait + flight + ground transport), healthcare visits (waiting room + appointment), workplace events, social gatherings, and other multi-step situations. Users would just need to input durations and basic details rather than configuring each component separately.
"Did other people test negative recently?" option: Adding the ability to account for whether other people in your scenario have tested negative recently. This could significantly reduce calculated risk in many real-world situations where you have this information.
Test Calculator Enhancements
Multi-day test support: Currently, the test calculator only works when you enter tests taken within a few hours of each other. I plan to add support for tests taken on different days, with appropriate statistical modeling for how your infection risk and viral load might change between testing sessions.
Uncertainty analysis for multiple tests: Currently, uncertainty intervals are only shown when you enter a single test result. I plan to extend this uncertainty analysis to scenarios where you enter multiple test results.
Additional test types: Adding more rapid tests to the dropdown list, taking into account their particular sensitivities and specificities.
International support: Integrating international data sources for COVID prevalence and potentially more local data sources for COVID prevalence for users in the U.S.
New Calculators
"How long is my negative test good for?" This calculator would help determine the probability that you remain uninfected at various time points after testing negative. For example, if you test negative in the morning, what's the probability you're still uninfected that evening, or several days later? The tool would account for multiple tests taken at different times, varying test sensitivities, and changing exposure risks over time.
"Are you still contagious?" This calculator would be particularly useful for determining when it's safe to visit others after an infection. It would estimate the probability that someone is no longer contagious based on factors like when their symptoms resolved, recent negative test results, and the specific tests used. The model would incorporate clinical data on contagiousness duration, test performance characteristics, and viral rebound patterns—including how these vary based on Paxlovid treatment.
While I'm looking forward to building these new calculators, I should note that I'm prioritizing improvements to the existing calculators for the time being. I also plan to add more documentation about the methodology of the existing calculators.
I'm also happy to hear suggestions for new features or improvements! Feel free to reach out at yourcovidrisk@gmail.com with your ideas.
If you'd like to contribute, you can support the project at ko-fi.com/yourcovidrisk or reach out at yourcovidrisk@gmail.com to learn about other ways to help.
This tool represents hundreds of hours of unpaid scientific and technical work—including extensive literature reviews, original scientific research, and software development. I created it to fill a stark gap in available COVID risk assessment resources for individuals who need detailed, personalized risk calculations. While I'm passionate about continuing to develop and improve these calculators, sustaining and expanding this resource requires significant ongoing time and effort.
Contributions of any amount will help support development of the new features mentioned in the previous question—like preset scenario templates, improved ventilation and air quality controls, international data integration, and new calculators like the "How long is my negative test good for?" and "Are you still contagious?" calculators. They will also help cover hosting costs and the time needed for ongoing maintenance, literature reviews, and regular data updates.
The calculators on this site will always remain free and accessible to everyone. Donations simply help ensure I can continue dedicating the time needed to keep improving these tools for the COVID-cautious communities who rely on them.
Please reach out at yourcovidrisk@gmail.com. Your feedback is important and will help improve the tool.
Disclaimer: This site provides mathematical calculations for educational purposes only. It is not intended as medical advice, diagnosis, or treatment.