Household Secondary Attack
Summarize contact-weighted secondary attack rates excluding household index cases from the supplied denominators.
Description
Calculate household secondary attack percentages and a contact-weighted pooled percentage from distinct household records.
A household secondary attack proportion counts new cases among susceptible contacts of an index case over a defined observation period. The contact denominator excludes the index case and should represent people at risk of becoming secondary cases. Despite the customary name attack rate, this calculation is a proportion rather than a person-time rate.1
Pooling households means dividing all supplied secondary cases by all susceptible contacts. Larger contact groups therefore contribute more weight. A simple average of household percentages answers a different question because it weights households equally.
Household Secondary Attack returns each household’s percentage and the pooled percentage. It relies on your definitions of susceptible contacts, secondary cases, and the follow-up window.
When to summarize household contact outcomes
Use the tool for a set of distinct households with comparable ascertainment and follow-up definitions. Identify index cases and the at-risk contacts before entering counts.
- Calculate per-household percentages without losing record order.
- Pool contact counts across households of different sizes.
- Check that secondary cases do not exceed susceptible contacts.
How to enter household counts and calculate pooled attack
- Enter nonempty distinct Household ids and aligned Susceptible contacts and Secondary cases lists.
- Use positive integer susceptible-contact counts excluding index cases, and nonnegative integer secondary cases no greater than each denominator.
- Run the tool and read Household attack percent in ID order.
- Read Pooled attack percent as the combined contact-level proportion, retaining the case definition and observation period.
householdPercent_i = 100×cases_i/contacts_i; pooledPercent = 100×sum(cases_i)/sum(contacts_i) The tool pools counts before division. It does not average the household percentages.
{
"input": {
"householdIds": [
"A",
"B"
],
"susceptibleContacts": [
4,
6
],
"secondaryCases": [
1,
3
]
},
"output": {
"householdAttackPercent": [
25,
50
],
"pooledAttackPercent": 40
}
} Zero secondary cases are accepted; a household with no susceptible contacts is rejected rather than assigned a zero percentage. Duplicate IDs, empty/misaligned lists, invalid integer counts, and excessive cases produce errors.
Limitations and interpretation
- The tool cannot establish transmission links or separate household acquisition from community exposure.
- Susceptibility, index-case classification, follow-up duration, missing contacts, and ascertainment are supplied assumptions.
- No household clustering adjustment, confidence interval, survival analysis, or vaccine-effect comparison is included.
- Exact ID uniqueness is checked, but case, whitespace, and alternative household labels are not reconciled.
Alternative or Complementary methods
Timing analyses can support a separate review of onset relationships. Reproduction-number calculations use different denominators and assumptions; a household attack percentage should not be substituted directly for R0 or Rt.
References
-
Principles of Epidemiology, Lesson 3: Morbidity Frequency Measures — U.S. Centers for Disease Control and Prevention; archived teaching material
Similar or alternative tools
- Serial Interval Onset Summary
Summarize supplied source-to-recipient symptom-onset intervals, including negative values.
- Generation Serial Interval Pairs
Compare infection and symptom-onset intervals in aligned transmission pairs.