Reading wage data
Top-coded wages: what "at or above" means
Why some 75th and 90th percentile wages read as at or above a ceiling rather than a number, what BLS's top code is, and how this site handles those cells.
Last reviewed . Explains; does not advise.
On the pages for physicians, chief executives, lawyers and a few dozen other occupations, the 90th percentile wage is not a number. It reads “at or above” a figure, with a marker in the source file. This is a top code, and it is a deliberate feature of how the data are collected.
The open-ended interval
OEWS employers report how many workers fall into each of twelve wage intervals. Eleven of the intervals have a lower and an upper bound. The twelfth has only a lower bound: every worker paid at or above it is counted there, with no further detail. In the current data the threshold of that interval corresponds to $115.00 an hour, or $239,200 a year at 2,080 hours; the workbook notes state both figures.
A percentile can only be estimated inside an interval with two ends. When the worker at the 90th percentile falls in the open-ended top interval, BLS cannot interpolate and instead publishes the threshold with a marker meaning “greater than or equal to.” The same happens, more rarely, to the 75th percentile and the median.
The mean is affected too
The mean wage requires a value for every worker, including those in the top interval. BLS assigns workers in the open interval an estimated mean drawn from the National Compensation Survey rather than treating them as earning exactly the threshold. That is why a mean can be published, and can exceed the top code, for an occupation whose 90th percentile is top-coded. It also means the mean for such occupations is more uncertain than the median, because it depends on an external estimate of a tail the survey did not measure.
What the published files actually show
The threshold printed in the notes is not applied as a hard ceiling to every cell. In the May 2025 files some published percentiles and means exceed it, reaching several hundred dollars an hour, while other cells for the same occupations carry the top-code marker. The marker should be read as a statement about the cell it sits in, not as a limit on the others. This site keeps each cell exactly as published: a numeric value stays numeric, a marked cell is shown as “at or above” its value, and no figure is estimated for the missing part of the distribution.
Reading a top-coded row
A top-coded 90th percentile tells you that at least 10 percent of workers in the occupation earn above the threshold, and nothing about how far above. For occupations such as surgeons the true 90th percentile is far higher. Comparisons between two occupations that are both top-coded at the 90th percentile cannot be made at that percentile; use the median or the 75th if it is published.
For most occupations the top code never binds. It affects the highest-paying occupations in the occupations tables and a handful of state and metro rows for them, which is where the annual 90th percentile would exceed roughly $239,000.
Why BLS does it
The open interval protects respondent confidentiality and keeps the questionnaire manageable; asking employers to place every executive’s pay into fine intervals above $115 an hour would cost response rates for little statistical gain. It is the same reason other federal surveys top-code income: the Current Population Survey, for instance, caps the earnings it publishes at a fixed value.
The practical rule: when a cell says “at or above,” believe the direction, not the magnitude, and look at the rest of the row.