Overview: how NYC pays its workforce
A citywide view of New York City government compensation — total payroll, average pay, headcount, and benefits, drawn from the NYC Citywide Payroll dataset and complemented by the federal Bureau of Labor Statistics (BLS) Quarterly Census of Employment and Wages (QCEW) for the long-run employment series.
Total compensation footprint
Loading...
Total payroll over time
Wages paid (regular + overtime + other pay) for full-time, per-annum employees by fiscal year. Restricted to pay_basis = 'per Annum' with more than 1,500 regular hours to keep the comparison apples-to-apples across years.
Average full-time pay over time
Average pay for full-time, per-annum employees by fiscal year. Figures are nominal (not inflation-adjusted), so part of the rise reflects general price growth rather than real wage gains.
NYC local-government employment, 2000 to today
Source: federal Bureau of Labor Statistics (BLS) Quarterly Census of Employment and Wages (QCEW), local-government ownership in the five boroughs. The QCEW series is broader than the city's own payroll dataset — it includes some non-mayoral local-government employers (independent authorities and special districts that report to the unemployment-insurance system) — and is reported on a calendar-year basis, not the city's fiscal-year basis.
Top earners
The highest-paid city employees by total gross pay (base plus overtime plus other pay) for the selected fiscal year. Drawn from the top 500 records returned by the API.
Top earners
Overtime
Employees with the highest overtime pay in the selected fiscal year. The bar shows overtime pay as a percentage of regular gross pay.
Total overtime by agency
Top 20 agencies ranked by total overtime dollars paid in the selected fiscal year. The Police Department, Fire Department, Department of Correction, and Department of Sanitation typically dominate.
Top overtime recipients
Where overtime dwarfs regular pay
Top 25 employees ranked by overtime pay as a percentage of regular wages, restricted to those with at least $20,000 in regular gross to filter out partial-year noise. A 100% bar means overtime equaled regular pay; 200% means double. Y-axis shows name, job title, and agency.
Total overtime over time
Total overtime dollars and overtime as a share of regular wages, full-time employees only, citywide. Rising overtime can signal either chronic understaffing or a deliberate policy choice to cover demand with OT instead of new hires.
Per-diem & hourly
Workers paid by the day or hour — substitute teachers, per-session educators, election poll workers, hourly support staff, per-diem ferry crew, and more. The Citywide Payroll dataset includes roughly 220,000 per-day and per-hour records each fiscal year, alongside about 330,000 full-time annual-salaried employees (with a smaller group of partial-year salaried workers).
Where per-diem and hourly work concentrates
Top 15 agencies by per-diem and hourly headcount for the selected fiscal year. The Department of Education (per-session and substitute teachers) and the Board of Elections (poll workers) typically dominate; together they account for the bulk of the city's non-salaried workforce.
Why are skilled tradespeople at the top? Many of the highest-earning per-diem workers are stationary engineers, plumbers, electricians, and other building-trades staff at the Department of Education or other agencies. They're paid on a per-day rate (often $1,000+ per day) but routinely log a full 2,080-hour year — so their annual earnings rival or exceed those of salaried managers. The dataset codes them as "per Day" because that's how they were hired and how their union contract is structured, not because they're occasional workers.
Top per-diem & hourly earners
Agency analysis
Aggregate payroll metrics by agency for the selected fiscal year. The default chart ranks the top 20 agencies by average salary; toggle to view by average all-in pay. Use the table below to drill into any agency, sortable by any column.
Top 20 agencies by overtime spend
All agencies
Agency commissioners and equivalents
Identified by title — Commissioner, Chancellor, Chairperson, Executive Director, District Attorney, Borough President, Public Advocate, Comptroller, and Mayor. When more than one person held a head-of-agency title at the same agency in a fiscal year (e.g., a mid-year transition), the highest-paid is shown. Acting and interim heads may not appear if they retained a different civil-service title. Pay reflects what was actually paid during the fiscal year, so partial-year tenure shows as a lower figure than the annualized salary.
Pension tiers
Tier 6 employees (hired April 2012 or later) accrue significantly smaller pensions than Tier 4 — agencies with high Tier 6 share have lower future pension liability.
Tier mix by agency (top 20 by headcount)
All agencies
Headcount trends
Year-over-year headcount trends across the full dataset. Use the agency selector to drill into a specific agency for the long view. The snapshot below (top 30 agencies by headcount) reflects the selected fiscal year.
Headcount by agency
Bars reflect the selected fiscal year and break each agency's headcount into salaried full-time staff (per annum), per-day workers (e.g. poll workers, per-diem teachers), per-hour workers (substitutes, hourly support), and prorated annual (mid-year hires/departures). The time-series charts below show all years combined.
Headcount over time
Counts every person who received a paycheck during the fiscal year — including part-year, seasonal, per-diem, and one-day workers (e.g., ~37,000 Board of Election poll workers in election years; tens of thousands of per-session and per-diem teachers). The city's full-time-equivalent (FTE) headcount, as reported in the Mayor's Management Report and budget documents, is closer to ~300,000.
Methodology and notes
Source. All data is fetched live from the NYC Open Data Citywide Payroll Data dataset, identifier k397-673e, hosted by the Office of Payroll Administration on data.cityofnewyork.us. The dataset includes payroll information for active employees of mayoral agencies, certain elected officials' offices, and a number of other city entities, covering fiscal years 2014 to present.
Original sources
- Citywide Payroll dataset (k397-673e): data.cityofnewyork.us/City-Government/Citywide-Payroll-Data-Fiscal-Year-
- Socrata API documentation: dev.socrata.com/foundry/data.cityofnewyork.us/k397-673e
- NYC Office of Payroll Administration: nyc.gov/site/opa (data steward)
- NYC Office of Management and Budget: nyc.gov/site/omb · Financial Plan (source of the blended fringe-benefit rate)
- Mayor's Management Report: nyc.gov/site/operations/performance/mmr.page (full-time-equivalent agency headcounts and fringe schedules)
- Bureau of Labor Statistics (BLS) Quarterly Census of Employment and Wages (QCEW): bls.gov/cew — used in the Overview tab for long-run NYC local-government employment back to 2000.
- Pension tier definitions: NYCERS — About Tiers · NY State Comptroller — What's my tier?
- Retiree pension records (not in this tool): SeeThroughNY pension database, Empire Center for Public Policy
Field definitions
- Base salary. The annualized salary or hourly rate authorized for the title at the start of the fiscal year. This is not what was actually paid.
- Regular gross paid. Actual regular wages paid during the fiscal year, excluding overtime and other pay. This is the figure used as the base of pay in this tool.
- Total OT paid. Actual overtime wages paid during the fiscal year.
- Total other pay. Lump-sum payments, differentials, retroactive pay, and other non-regular, non-overtime compensation paid during the fiscal year.
- Total pay. Computed as
regular_gross_paid + total_ot_paid + total_other_pay. This is the figure used to rank top earners. - OT ratio. Computed as
total_ot_paid / regular_gross_paid. A ratio of 0.50 means an employee earned half as much in overtime as in regular wages.
Pro-rated salary marker
An asterisk (*) next to a regular pay figure indicates that the employee was paid less than 85% of their authorized base salary during the fiscal year. This usually means a partial year of service — a mid-year hire, a mid-year departure, or an extended unpaid leave. Applied only to records with pay_basis of "per Annum" or "Prorated Annual"; per-diem and hourly workers are excluded since the comparison would not be meaningful.
Full-time averages in the top stats bar
The "Avg salary (FT)" and "Avg all-in (FT)" figures are restricted to records where pay_basis = 'per Annum' and regular_hours > 1500. This filter excludes per-diem and hourly workers (substitute teachers, poll workers, per-session staff) and partial-year salaried employees, giving a more honest read of typical full-time city pay than averaging across all 550K records would.
Inflation adjustment
The Overview tab has a "Nominal" / "Real (FY 2025 dollars)" toggle that applies to the total-payroll, average-pay, and total-compensation-footprint cards. Real dollars are computed by deflating each fiscal year's nominal figure by the calendar-year average of the New York-Newark-Jersey City CPI-U (Bureau of Labor Statistics series CUURA101SA0), indexed to the FY 2025 base. Calendar-year averages are matched to the fiscal-year-end year, which is a reasonable approximation since NYC fiscal years end June 30 and the CPI series moves slowly within a year. This is a defensible journalism deflator, not a precise economist's deflator — readers comparing real wage growth should consult the Bureau of Labor Statistics directly for finer-grained adjustments.
Fringe benefits
When the "Include fringe" toggle is on, all pay figures are multiplied by 1.39 to approximate total compensation cost including health insurance (active and retiree), pension contributions for the New York City Employees' Retirement System (NYCERS), Teachers' Retirement System (TRS), and the Police and Fire pension funds, Federal Insurance Contributions Act (FICA) and Medicare taxes, annuity and welfare-fund supplements, and other non-wage benefits. The 39% blended rate is published by the New York City Office of Management and Budget Financial Plan and the Mayor's Management Report. Note: this is a uniform multiplier applied to all pay including overtime, though overtime typically carries lower fringe in actual budgeting. Use as an order-of-magnitude estimate only.
Pension tiers
Tier is inferred from agency_start_date using the cutoffs published by NYCERS and the New York State and Local Retirement System (NYSLRS):
- Before 1973-07-01: Tier 1
- 1973-07-01 to 1976-07-26: Tier 2
- 1976-07-27 to 1983-08-31: Tier 3
- 1983-09-01 to 2012-03-31: Tier 4
- 2012-04-01 onwards: Tier 6
Tier 5 was very brief and is folded into the Tier 4 / Tier 6 cutoff at 2012-04-01 for simplicity. The agency-level tier breakdown is computed client-side from the full set of employee records for the selected fiscal year (paginated from the Socrata API in 50,000-row chunks until all rows are retrieved), so every agency — including the New York City Police Department (NYPD), Fire Department (FDNY), Department of Correction (DOC), Department of Education (DOE), and Department of Sanitation (DSNY) — is represented.
Tenure
Years of service are computed as the difference between agency_start_date and June 30 of the selected fiscal year (the fiscal year, or FY, ends June 30). Employees with start dates after the fiscal-year end are shown as "<1 yr".
Limitations
- Dollar figures are nominal and not inflation-adjusted. Year-over-year comparisons reflect both real changes and inflation.
- Headcount is not point-in-time. The dataset counts every distinct employee record paid during the fiscal year, including those who left mid-year and those who joined mid-year, so the total is higher than any single-day headcount.
- Coverage excludes some entities. Most notably, employees of NYC Health + Hospitals, the Department of Education pedagogical staff in some years, and other independent authorities may not appear or may appear inconsistently across years.
- The Top earners and Overtime tabs draw from the top 500 API records by the relevant ranking before client-side filtering. Filtering for a small agency may therefore return fewer than expected results.
- Names appear as recorded in the city payroll system and may include data-entry inconsistencies.
Reproducibility
Every query in this tool is a Socrata SoQL request against the public dataset. The browser console will log each URL on request. To reproduce any view, copy the URL into a browser or curl it directly. Documentation: Socrata API docs for k397-673e.