Air Quality Data & Clean Air Score Methodology | CleanAirData
Understand CleanAirData historical scores, PM2.5 trends, regional reference coverage, reporting dates and the difference between a score and current AQI.
Three different views of air quality
| View | What it tells you | What it does not tell you |
|---|---|---|
| Historical Clean Air Score | A 0–100 summary for comparing locations over time; higher is better | Today’s AQI, a medical assessment, or a guarantee of clean air |
| Annual PM2.5 history | The annual concentrations available in the saved city record, in µg/m³ | Hourly changes or pollution measured inside a home |
| Current observations | The latest available response from a monitoring or modelling provider | A reading at your exact address; freshness and coverage depend on the source |
Start with a city report, or compare two locations. Every number should be read with its source, geography and reporting period.
Reporting dates and coverage
The current historical city-score snapshot was generated on March 23, 2026. Displayed histories include 2019–2024. Use the actual year labels in the report: the 2026 edition label does not mean that the historical observations were measured in 2026. Refreshing or rebuilding this website does not update those historical observations.
The directory combines directly scored city records with regional references. If a location has no scored record of its own, the current directory process can inherit the nearest scored city’s historical values within 50 miles. Such a page is not an independent measurement of the named city. Regional-reference reports identify the source city and distance. Buildings, roads, terrain and local sources can make conditions differ considerably within that distance.
The Three.js atlas plots selected city coordinates. It does not interpolate pollution between cities, show a live pollution plume, or provide global monitoring coverage. Its dots mark locations; use the linked reports to inspect the data.
How the historical score is calculated
The repository’s scorer converts five signals to component scores, each between 0 and 100, and combines them using these weights:
| Component | Weight | Calculation in the current scorer |
|---|---|---|
| Annual PM2.5 | 40% | Mean concentration over the final 12 months of the input dataset, mapped to a component score |
| Unhealthy days | 25% | Percentage of available daily AQI values above 100 |
| Multi-year trend | 20% | Linear regression of the available annual PM2.5 means |
| Seasonal variability | 10% | Standard deviation of monthly mean PM2.5 over the final 12 months |
| Extreme events | 5% | Number of available daily AQI values above the configured threshold of 150 |
Final score = 0.40 × annual component + 0.25 × unhealthy-day component + 0.20 × trend component + 0.10 × variability component + 0.05 × extreme-event component.
These are component scores, not raw concentration values. Adding raw PM2.5 and AQI values with these weights would not reproduce the score.
The current annual component uses a linear scale from 100 at a mean PM2.5 of 5 µg/m³ to 0 at 12 µg/m³, clamped to that range. These are model parameters, not a claim about current regulatory limits. The unhealthy-day component subtracts 20 points per percentage point of unhealthy days, down to zero. The trend component starts at 50 and moves by ten times the magnitude of the annual regression slope, bounded to 0–100. Insufficient annual history receives a neutral trend component.
The variability component is max(0, 100 − 5 × monthly standard deviation). The extreme-event component is max(0, 100 − 5 × counted extreme days). Published values are rounded, so recalculating from rounded components can differ slightly from the stored final result. Older stored records can also reflect an earlier scoring run; this page describes the current implementation and does not imply that every historical record was regenerated today.
| Grade | Historical score |
|---|---|
| A | 85–100 |
| B | 70–below 85 |
| C | 55–below 70 |
| D | 40–below 55 |
| F | Below 40 |
The scorer checks available daily records in its final 12-month window against an 80% completeness threshold. Published completeness is capped at 100%. This is a record-completeness check, not independent certification of sensor accuracy. The website’s build checks validate field presence, numeric ranges and route consistency; they do not replace an audit of the original source observations.
Current observations and missing data
Live panels request current data separately from historical scores. Depending on location and availability, the response may come from AirNow, WAQI or Open-Meteo. A modelled regional estimate is different from a nearby monitoring station; inspect the displayed provider, time and confidence information. If data cannot be obtained, treat the live reading as unavailable. Do not substitute a historical Clean Air Score for AQI.
Outdoor PM2.5 does not measure indoor air directly. Indoor guides provide general context and tools, not a measurement of conditions inside your building. For current local alerts and personal decisions, consult the relevant local authority and qualified professional advice.
Sources and transparency
- EPA Air Quality System: background on the historical monitoring system.
- AirNow: current air quality reporting and AQI information.
- Open-Meteo air quality documentation: regional air-quality modelling and forecast coverage.
- Contact us if a city label, source, date or value appears inconsistent. Include the report URL and the number you are asking about.
Advertising and affiliate links help support the site. They do not change the stored air-quality score. Product prices and availability are determined by the destination retailer, and an outbound click is not proof of a purchase.