Phuket · readings, context & method
How Phuket air quality is calculated
The headline number preserves this site's original calculation: average the two highest fresh Phuket PM2.5 readings, then convert that concentration to its US AQI indicator. The same calculated concentration is saved for our history.
The calculation at a glance
Two highest fresh PM2.5 readings → their mean concentration → AQI. If only one valid reading is available, use that reading. If none is fresh, keep the last known value and mark it stale. Collection is scheduled every two minutes; freshness depends on the measurement timestamps, not just the collection time.
How the current Phuket reading is selected
- Check the inputs. Use available Phuket PM2.5 measurements with valid non-negative concentrations, a usable timestamp and an online source. A measurement must be no more than 120 seconds old at collection; future-dated measurements are excluded.
- Select the highest two. Sort the eligible concentrations and average the highest two. With one eligible source, use it alone. This deliberately emphasizes the higher available readings; it is not the average of every monitor or an island-wide exposure estimate.
- Save one result. Store the calculated concentration, calculation time and contributing inputs. The public number and the locally collected history refer to that same result. Loading the page does not silently choose a different pair.
- Age the result honestly. Freshness uses the oldest contributing measurement. When it passes 120 seconds, the number remains visible as last known. An empty or failed collection does not replace it with zero. With no valid previous result, the site shows no reading.
A worked example
Suppose three eligible readings are 8, 12 and 20 µg/m³. The two highest are 20 and 12: (20 + 12) ÷ 2 = 16 µg/m³. That concentration converts to AQI 64 using this site's formula. We do not average the three readings or average two AQI scores.
The two-minute schedule is a collection target, not a promise that upstream measurements arrive every two minutes. Network failures, delayed source updates and caching can leave a last-known reading on screen. Its timestamp and status are part of the information.
Which AQI scale does this site use?
The indicator uses the site's original PM2.5 conversion based on the US AQI scale with the 2024 PM2.5 bands. EPA lowered the upper concentration for Good, AQI 0–50, from 12.0 to 9.0 µg/m³; Moderate begins at 9.1 µg/m³. This change took effect on 6 May 2024. Read EPA's primary AQI update and breakpoint table.
Not Good (AQI above 50) means above the US AQI Good range: Moderate or worse. It is not a separate EPA category.
First, PM2.5 is truncated to one decimal place. The site interpolates within the corresponding concentration band and rounds the resulting AQI to a whole number. Concentration is averaged before this conversion because the AQI scale is not linear across bands.
For continuity, the original implementation's 55.4 interpolation endpoint for the Unhealthy band is retained; EPA's published lower breakpoint is 55.5. Values beyond the top interpolation range continue above AQI 500 rather than being capped. This legacy behavior means we do not claim exact EPA compliance.
Why can another site show a different AQI?
The pollutant, observation time, location, averaging window and conversion can all differ. The EPA AirNow explanation distinguishes the daily PM index from its NowCast, which uses multiple recent hours. Our instantaneous PM2.5 indicator is neither an EPA NowCast nor an official multi-pollutant AQI.
The European Environment Agency's index has different bands and categories and considers hourly concentrations of up to five pollutants. Its labels cannot be substituted for a US AQI number. This site displays the US-based indicator; compare the underlying PM2.5 concentration and time window when checking different services.
How two-minute readings become daily history
All calendar boundaries use Asia/Bangkok, ICT (UTC+7). A day starts at local midnight; weeks run Monday to Sunday.
Our collected history
From 18 October 2026, we retain the actual calculated PM2.5 value in distinct two-minute collection slots. We average those concentrations within each hour, then average available hourly concentrations within the day. Changes in which two sources are highest remain reflected in those saved calculations.
Earlier available history
Older history uses published hourly PM2.5 observations: take the two highest available source concentrations in each hour, or one when only one exists, then average those hourly results into the Bangkok day. Published historical concentrations may have been corrected differently from the original live feeds.
Where our collected samples exist for an hour, their aggregate takes priority over published hourly history for that same hour, even if the local hour is incomplete. Missing data remains missing. Available older hourly records cannot recreate inputs that were never retained, so historical results should not be described as a perfect replay of the old live page.
Daily AQI converts the day's mean PM2.5. Weekly, monthly and yearly summaries take an equal-weight mean of the available daily PM2.5 concentrations, including partial days, and then convert it. A monthly AQI is therefore an explanatory summary of this archive, not an official monthly AQI standard.
What “complete,” “partial” and “no data” mean
- Covered local hour
- At least 23 distinct two-minute collection slots out of 30. An hour with fewer samples remains visible as an estimate, but does not count toward complete-day coverage.
- Covered historical hour
- An available published hourly observation counts as a covered hour. This is different evidence from 23 of our own collection slots, so the two historical sources are disclosed.
- Complete day
- A closed Bangkok day with at least 18 of 24 covered hours. This is the site's completeness rule, not a claim that every hour was observed or that official regulatory validation was performed.
- Partial day
- Some usable observations exist, but the day has insufficient covered hours or is still in progress. Today is always provisional, even when 18 hours are already available.
- No data
- No usable concentration is available for the period. The calendar shows a gap; it does not assign AQI zero or classify the day as Good.
Counts and percentages of Not Good days (AQI above 50) use complete closed days only. Period means include observed partial days, so always read their coverage alongside the number. Hour coverage divides covered hours by 24 expected hours per requested calendar day, including missing days and an unfinished today.
What the readings can and cannot establish
The indicator describes available PM2.5 observations in Phuket. It does not measure every location, represent a person's individual exposure, identify pollution sources or account for every pollutant. Choosing the highest two readings intentionally differs from an area-weighted island average. Changes in available sources may change the result even when conditions at other locations have not changed.
Historical inputs can be corrected when available data is reprocessed; affected daily and longer-period summaries then change with them. The saved local calculations preserve what was selected at collection time, while published historical inputs have their own processing. A complete day is a coverage label, not a guarantee against sensor error.
The daily archive exposes concentrations and coverage, and offers CSV downloads. Use the monthly comparison for the recorded range, the current page for the latest status, and data credits for source attribution and licenses. No forecast is inferred from these historical observations.