Data
The files behind this site and how they are made.
Downloads
Salary by title
Median, mean and percentiles for every title and year.
Real wages by title
Nominal and inflation-adjusted pay, with prices and rent alongside.
Gender gap by title
Estimated pay by sex proxy, with the gap in percent and dollars.
Columns
An empty value is never a zero. It means this site does not have the
value. Each file has an n column with the number of people
in the group. It also has a suppressed column, which is TRUE
when the group has fewer than 30 people. A suppressed row keeps its name
and headcount but has empty statistics, so you can tell "too small to
report" from "not in the data".
A column name that starts with real_ is adjusted for
inflation to the most recent fiscal year. A plain salary column is in the
dollars of its own year. The table is also available as
data_dictionary.csv.
Every file is plain CSV, with real numbers and not formatted text, so it opens in a spreadsheet or a script without more work.
Free to reuse with attribution. Credit NYC Open Data for the payroll and carry the fiscal year when republishing a figure.
Sources
Process
Each update runs seven steps.
-
Collect
The pipeline downloads the City's payroll and the New York area price and rent series from the Bureau of Labor Statistics. It also reads Zillow's rent index and the Social Security Administration's baby name records. The site collects no new data. Every statistic is calculated from these published records.
-
Match
The payroll does not record gender, so the site estimates it from first names. Each name is compared with Social Security birth records from 1880 and given a weight, the share of that name that is male or female. A name with fewer than 25 birth records is not used, because too few records give false certainty.
-
Check
Salary figures include each employee with an annual salary and an active leave status on June 30. Hourly and day-rate workers are calculated separately, because a rate and a salary are different quantities and an average of the two has no meaning. A group with fewer than 30 people has empty statistics, because in a group of three one salary controls the result.
-
Adjust
A City fiscal year runs from July 1 to June 30, so fiscal year 2025 is July 2024 to June 2025. Pay is adjusted with the average consumer price index for the 12 months of each fiscal year, not the index for one month. Prices use BLS series CUURS12ASA0, all urban consumers in the New York-Newark-Jersey City area. A national index is too low for New York, so the site does not use one.
-
Compare rent
Rent uses BLS series CUURS12ASEHA, rent of a primary residence. The site also shows the Zillow rent index in dollars. The citywide page gives the difference between the two measures.
-
Summarize
Salary distributions are not symmetrical. A few high salaries pull the mean above the pay of a typical employee, so the site shows the median first and also gives the mean. Above 30 people, you set the minimum group size on the compare page. The right minimum differs for each question.
-
Publish
One export writes the data the site reads and the CSV files above.
Limits
- The name proxy estimates the sex in a birth record. It cannot identify a transgender or non-binary person, and it is not reliable for one person.
- About one employee in ten has no usable name match. The match covers about 89 percent of the workforce, and that share falls each year as the workforce becomes more diverse.
- The payroll does not record race or ethnicity. The name origin comparison is a weak proxy for national origin. Read it as one.
- Tenure is the time at the current agency, not total public service. An employee who moved between agencies looks more recent than they are, so the compression and tenure figures run low.
- The CEASED status includes a resignation, a retirement, the end of seasonal work, a layoff and a death. It cannot show why a person left.
- The records give overtime hours and dollars. Required overtime and voluntary overtime look the same.
- Each figure is gross pay, before tax, pension and health contributions. It is not take-home pay.
- This site measures what the City pays. It does not measure what the work is worth, and no dataset answers that question.