Last updated: July 2026

The respiratory threat level is a single, plain-English answer to one question: how much flu, RSV and COVID-19 activity is the CDC's own surveillance data showing in a given state right now, and which way is it moving? Underneath that one word sits a small, deliberately boring pipeline. This page documents every constant in it, so you can check our work rather than take it on faith.

Two principles guide the whole method. First, we only ever describe the data — the index summarizes reported activity; it is not a forecast, a case count, or clinical guidance. Second, every threshold is published. The numbers below are the actual values the code uses; they are FluTrack's transparent editorial thresholds, chosen to reflect typical seasonal ranges in the underlying CDC products. They are not CDC-defined cut points, and no U.S. government agency sets, reviews, or endorses them.

The short version

Four CDC signals are each scored 0–100, blended by a fixed weighting into one composite score, and that score is mapped to one of five levels — Minimal, Low, Moderate, High, Very High. A separate rule compares the most recent week against the prior few to label the trend Rising, Falling, or Holding steady.

The five levels

Every score in FluTrack ultimately resolves to a level from 0 to 4. The composite is first expressed as a continuous score from 0 to 100, then bucketed at fixed cut points. A score sitting exactly on a boundary rounds up into the higher level.

LevelLabelComposite score (0–100)In plain English
0Minimal0 – < 20Little measurable respiratory activity in the data.
1Low20 – < 40Present but limited; typical of the shoulders of a season.
2Moderate40 – < 60Clearly elevated activity across the signals.
3High60 – < 80Widespread activity, in the range of a busy respiratory week.
4Very High80 – 100Among the most intense activity the signals register.

The four signals and their weights

FluTrack draws on four independent, public-domain CDC surveillance signals. Each is converted to its own 0–100 sub-score (see below), and the composite is a weighted average of whichever signals are present. The weights are fixed:

SignalCDC sourceWeightWhy this weight
Wastewater viral activity (WVAL)NWSS0.30Weighted highest: viral shedding measured in wastewater typically leads clinical reporting by roughly 5–7 days, so it is the earliest read on where activity is heading.
Acute Respiratory Illness levelNSSP ARI0.25A broad categorical read on how busy respiratory care is, translated from the CDC's own activity label.
Emergency-department visitsNSSP0.25A direct, hard measure of illness severe enough to send people to the ER.
Laboratory test positivityNREVSS0.20Weighted lowest: positivity reflects testing behavior — who chooses to get tested — as much as underlying prevalence, so it is the noisiest of the four.

Signals are frequently missing for a particular state and week. Rather than penalize a state for a gap in federal reporting, FluTrack renormalizes the weights over whatever signals are actually present. If, say, positivity is unavailable, the remaining three weights (0.30 + 0.25 + 0.25 = 0.80) are used as the denominator, so the composite is always a proper weighted average of the data on hand. FluTrack records which signals contributed to each result.

How the ARI activity label is mapped

The NSSP Acute Respiratory Illness product is categorical, not numeric. FluTrack maps its labels to the 0–4 scale as follows: Minimal or Very Low → 0, Low → 1, Moderate or Medium → 2, High → 3, and Very High or Extremely High → 4. That level is then represented by its band midpoint score (10, 30, 50, 70 or 90) before entering the weighted average.

From a raw reading to a 0–100 sub-score

Each numeric signal is turned into a 0–100 sub-score by anchoring its breakpoints to the level boundaries and interpolating linearly between them. Concretely, a reading of 0 scores 0, and the four breakpoints map to sub-scores of 20, 40, 60 and 80 respectively — the exact boundaries between Minimal, Low, Moderate, High and Very High. A reading landing halfway between two breakpoints scores halfway between their boundary values. Readings above the top breakpoint ramp from 80 toward 100 over one additional breakpoint-width. This keeps the smooth composite perfectly consistent with the discrete level bands in the table above.

The breakpoints

These are the thresholds that separate the five levels for each signal. A reading at or above a breakpoint moves up into the next level. Units are noted per row. Again: these are FluTrack's editorial thresholds, informed by typical seasonal ranges in the CDC products — not official CDC cut points.

Signal Unit Minimal Low Moderate High Very High
Wastewater (WVAL index) index < 33 – 55 – 77 – 8.5≥ 8.5
ED visits — combined % of ED visits < 2.02.0 – 3.53.5 – 5.55.5 – 8.0≥ 8.0
ED visits — influenza % of ED visits < 0.60.6 – 1.51.5 – 3.03.0 – 5.0≥ 5.0
ED visits — COVID-19 % of ED visits < 0.60.6 – 1.21.2 – 2.22.2 – 3.5≥ 3.5
ED visits — RSV % of ED visits < 0.30.3 – 0.80.8 – 1.51.5 – 2.5≥ 2.5
Positivity — influenza % of tests positive < 33 – 88 – 1515 – 25≥ 25
Positivity — COVID-19 % of tests positive < 44 – 88 – 1414 – 20≥ 20
Positivity — RSV % of tests positive < 22 – 55 – 1010 – 15≥ 15

At the state-composite level, combined ED visits, the wastewater index and the ARI label feed the headline number; a state's mean test positivity is scored against the influenza positivity band as a general proxy. The per-pathogen bands above drive the by-virus breakdown.

A worked example

Suppose a state reports three signals for the latest week: a wastewater index of 6.0, combined ED visits at 4.2% of all visits, and an ARI label of High. Test positivity is missing. Each present signal is scored, then blended:

SignalReadingSub-scoreWeight
Wastewater6.0 (band 5–7)500.30
ED visits (combined)4.2% (band 3.5–5.5)470.25
ARI levelHigh (level 3)700.25
Positivity— not reported —

The weights of the three present signals sum to 0.80. The composite is (50 × 0.30 + 47 × 0.25 + 70 × 0.25) ÷ 0.80 = 44.25 ÷ 0.80 ≈ 55. A score of 55 falls in the 40–60 band, so the headline level for this state would read Moderate.

The by-virus breakdown

The same machinery runs once per pathogen. For influenza, COVID-19 and RSV individually, FluTrack scores whichever of that virus's ED-visit, positivity and wastewater readings are available, using the pathogen-specific bands above, and blends them with the same weights (wastewater 0.30, ED visits 0.25, positivity 0.20). The result is each virus's own level and trend, so a season driven mostly by, for example, RSV reads differently from one driven by influenza — even when the combined headline level is identical.

How the trend is derived

The trend answers "which way is this moving?" without pretending to more precision than weekly, lagged data can support. FluTrack takes the relevant chronological series (oldest to newest), compares the most recent week against the mean of the prior up-to-three weeks, and expresses the difference as a percent change:

  • A change of +8% or more is labeled Rising.
  • A change of −8% or more (a fall of at least 8%) is labeled Falling.
  • Anything in between is Holding steady.

The ±8% band is deliberately wide enough to ignore ordinary week-to-week wobble while still catching a genuine turn. When fewer than two data points are available, the trend is reported as "Not enough data" rather than guessed. As a worked case, an ED-visit series of 3.6, 3.8, 3.9, 4.2 compares the latest 4.2 against the prior three-week mean of about 3.77, a change of roughly +12% — labeled Rising.

Timing: a trend, never a live count

Surveillance data is reported with an inherent lag of roughly one to two weeks. FluTrack shows directional trends, not a real-time case count. CDC surveillance systems publish on a weekly cadence (typically Fridays), and a given week's figures generally reflect illness from one to two weeks earlier as reports are collected and revised. FluTrack therefore leads with the direction of travel rather than any single day's number, and figures for the most recent week or two can still move as late data arrives. See data sources for the specific CDC systems behind each signal.

Limitations

An honest index states plainly what it cannot do. The respiratory threat level:

  • Is not real-time. It reflects reported surveillance with an inherent one-to-two-week lag, not today's conditions.
  • Uses editorial thresholds. The breakpoints and weights on this page are FluTrack's own, informed by typical seasonal ranges — not official CDC classifications. Reasonable analysts could choose different cut points.
  • Depends on federal reporting. Coverage varies by state and week; sparse wastewater sites or missing signals mean some composites rest on fewer inputs than others.
  • Is a state-level summary. Activity can differ substantially within a state, and the index does not resolve county or neighborhood detail.
  • Reflects measured activity, not risk to any individual. It describes what the surveillance data shows in aggregate and says nothing about a specific person's circumstances.
  • Blends signals that measure different things. Wastewater, ED visits, positivity and ARI capture related but distinct phenomena; combining them is a useful simplification, not a ground truth.

Independence and scope

FluTrack is an independent project and is not affiliated with, endorsed by, or sponsored by the Centers for Disease Control and Prevention (CDC) or any government agency.

The information on FluTrack is provided for general informational purposes only and is not a substitute for professional medical advice, diagnosis, or treatment. Always seek the advice of a qualified health provider with any questions you may have regarding a medical condition.

Reproducibility note: the constants documented here mirror FluTrack's threat-index module exactly. If the method changes, this page changes with it.

Method questions

Are these thresholds defined by the CDC?

No. The breakpoints, weights and cut points on this page are FluTrack's own transparent editorial thresholds, chosen to reflect typical seasonal ranges in the underlying CDC products. They are not official CDC classifications, and no government agency sets or endorses them. FluTrack is an independent project and is not affiliated with, endorsed by, or sponsored by the Centers for Disease Control and Prevention (CDC) or any government agency.

Why is wastewater weighted more heavily than lab positivity?

Wastewater viral activity typically leads clinical reporting by roughly 5–7 days, making it the earliest reliable read on where activity is heading, so it carries the highest weight (0.30). Test positivity is weighted lowest (0.20) because it reflects testing behavior — who decides to get tested — as much as underlying prevalence.

What happens when a signal is missing for my state?

The composite is a weighted average over whichever signals are actually reported. If a signal is unavailable, its weight is dropped and the remaining weights are renormalized, so the score always reflects a proper average of the data on hand. FluTrack also records which signals contributed.

How current is the data behind the threat level?

Surveillance data is reported with an inherent lag of roughly one to two weeks. FluTrack shows directional trends, not a real-time case count. Surveillance updates weekly, and each week's figures generally reflect illness from one to two weeks earlier. That is why FluTrack leads with the trend rather than a single day's count. See our data sources for the specific CDC systems.

Is the respiratory threat level a prediction or medical advice?

Neither. It is a descriptive summary of recent, reported surveillance data — not a forecast and not clinical guidance. The information on FluTrack is provided for general informational purposes only and is not a substitute for professional medical advice, diagnosis, or treatment. Always seek the advice of a qualified health provider with any questions you may have regarding a medical condition.