Josh Greenman · New York City budget Adopted expense budget, fiscal 2027

The fully loaded budget

New York City books pensions, health insurance and legal payouts in three central accounts rather than against the agencies that incur them. So the published budget says the Police Department costs $6.3 billion. Push the pooled money back where it was actually run up and the number is $11.5 billion. Here is every agency, both ways.

Source: Office of Management and Budget expense budget and the comptroller’s claims report, via NYC Open Data · How every dollar was assigned

Adopted expense budget for fiscal year 2027, the year now under way · $117.8 billion · 304,778 budgeted positions

Total expense budget
Pooled centrally, then reassigned here
Belongs to no agency at all
Police, fire and jails
Show each agency Rank by Fiscal year Include

Agency Budget line Pension Benefits Payouts Cost

How much each agency’s published line hides, every year since fiscal 2017

A value of 1.0 would mean the published line already contains everything the agency costs. Across budgets the multiples move very little. The Police Department has run between since fiscal and the Fire Department between . The share of the whole budget sitting in the three central accounts has gone from to over the same span.

The height tracks how much of an agency’s work is done by people on the city payroll. An agency high on this chart does most of its work with city employees. An agency near 1.0 spends its budget on contracts, grants and benefit payments to the public, which carry no pension and no health insurance of the city’s own.

What sits in the pooled accounts

Three central accounts hold money that agencies spend but that does not appear on their lines. The budget names the retirement system on every pension line, and four of the five funds belong to a single workforce. Health insurance and payroll taxes are shared out by headcount and payroll. Legal payouts follow the comptroller’s record of which agency was named in each settled claim.

Nobody’s line

Part of the budget cannot be charged to any agency running anything today. Debt service is a bill from capital budgets of past years. Retiree health care was earned in agencies as they were staffed decades ago. These charges are left where the budget puts them.

How every dollar was assignedMethod

Three questions decide where a pooled dollar goes, and each answer carries a different level of confidence. They are marked on every agency’s detail panel.

Named in the budget

The city’s pension account lists its payment to each retirement system as a separate line. The Police Pension Fund covers uniformed officers of one department. The Fire Pension Fund covers one department. The Teachers’ Retirement System and the Board of Education Retirement System cover the schools. Those four lines, , are assigned exactly as the budget writes them. Nothing is modelled.

Shared out on the city’s own headcount

The remaining pension line is the city’s payment to the New York City Employees’ Retirement System, which covers nearly everyone else. It is divided by payroll, after taking out the uniformed and pedagogical pay that belongs to the four named funds — a distinction the budget itself draws, in its own object codes.

Health insurance, welfare fund contributions and workers’ compensation are divided by budgeted positions, because those costs follow people rather than salaries. Payroll taxes are divided by payroll. The Department of Education and the City University buy their own coverage out of their own budget lines, so they are taken out of the shared pool rather than charged twice.

This is the one part of the page that is modelled, and it can be checked against the city’s own behaviour. The shared pool works out to a budgeted position. Education, which buys the same coverage directly, spends a position, and the City University . Three independent numbers within about a tenth of each other.

Followed to the agency that got sued

The budget provides a single line for judgments and claims. It is split using the comptroller’s record of settled claims, , by the agency named in each claim. of settlement dollars name an agency the budget also names; the rest stays unassigned.

What was deliberately not done

Debt service is not pushed onto agencies. It could be approximated by tracing which function the capital was built for, but that attribution would not be supportable from the budget itself.

Retiree health care is held out of the shared pool for the same reason. Uniformed workers can retire after 20 or 25 years of service and are therefore covered for longer than other city employees, so holding retiree coverage aside lowers the police and fire figures on this page relative to the rest.

Capital spending is not here at all. This is the expense budget, the same thing the published charts show. The city spent about $15.6 billion on capital in fiscal 2025 on top of it.

Every year, not just this one

The same arithmetic runs on every adopted budget New York City publishes as open data, , and each year has to pass every check on its own before any of it is written. Two features of the dataset complicate that. Agency numbers lose their leading zero before fiscal 2027, so the pension agency is 095 in one year and 95 in the next; a filter that does not pad silently matches nothing and the year builds with no pension pool at all. Object class numbers do the same. The build pads both, and fails outright if a year comes back without its three central agencies.

The line names themselves are stable. Every pension fund, every benefits object code and the uniformed and pedagogical payroll splits carry identical strings in all eleven budgets, which is why the series can be compared at all.

What reconciles

Every agency line, every pooled account and every central charge on this page adds back to the budget’s own printed total of . The build fails rather than publishes if it misses by more than the rounding on individual lines ( across roughly 150 of them). The pooled accounts add back to their own totals to the dollar.

What the figures do not say

A larger figure here carries no argument about whether an agency should cost more or less. What the arithmetic establishes is narrower: the number printed next to an agency’s name is not that agency’s cost, and the size of the gap differs by agency, so agencies cannot be compared against one another on published lines.