Is it just simple extrapolation? $419M in the period from July - Oct 2025 portends $1.676B in the period from July 2025 - July 2026?
18.11.2025 17:11 β π 0 π 0 π¬ 0 π 0@voxelnyc.substack.com
Is it just simple extrapolation? $419M in the period from July - Oct 2025 portends $1.676B in the period from July 2025 - July 2026?
18.11.2025 17:11 β π 0 π 0 π¬ 0 π 0OMB says that this modification is supported by $419M in "stronger than expected" tax revenue since July, and $528M in savings.
The law says the NYC budget must be balanced (spending == revenue). So how does $947M in revenue + savings square with a $2.3B increase?
I'm trying to square yesterday's November Plan against the documents released during budget season. The release yesterday modifies the expense budget for this year, increasing it by $2.3B
18.11.2025 17:11 β π 0 π 0 π¬ 1 π 0That's why the Council's response yesterday was basically "yup, our forecast was accurate".
18.11.2025 16:18 β π 0 π 0 π¬ 0 π 0I say 'deliberately' because for the last 3 years, it's been the same script: an obviously wrong forecast of revenue in June to set up a spectacle in November when the Mayor announces good budget news after finding an extra few hundred billion dollars in the couch cushions
18.11.2025 16:18 β π 0 π 0 π¬ 1 π 0The reality is that the Mayor deliberately under-estimated tax revenues back in June when the budget was approved. A few months go by, the tax receipts are bEtTeR tHaN eXpEcTeD, and the Mayor can use the November Plan as an opportunity to apportion the extra money and claim a win
18.11.2025 16:18 β π 0 π 0 π¬ 1 π 0Council's messaging: "As forecasted by the Council, New York Cityβs economy continues to see steady growth. The Councilβs revenue projections have been consistently substantiated by the mayoral administrationβs financial plans, which is once again the case in this November Plan"
18.11.2025 16:18 β π 0 π 0 π¬ 1 π 0Mayor's messaging: "Today's announcement follows Mayor Adams' long history of strong fiscal management, including delivering an on-time, balanced, and fiscally-responsible $115.9 billion Adopted Budget earlier this year, which built on the FY 2026 Executive Budget, often called the Best Budget Ever"
18.11.2025 16:18 β π 0 π 0 π¬ 1 π 0Example: yesterday the Mayor released the "November Plan", which among other things is a mid-year check on tax revenues to make sure the budget agreed to with the Council in June is grounded in fiscal reality
18.11.2025 16:18 β π 0 π 0 π¬ 1 π 0Press releases from the NYC Mayor & City Council about the budget are frustrating because they are meant to craft institutional narratives around the budget process. Power relations between the Council and the Mayor are adversarial, so their public statements about the budget are not consonant
18.11.2025 16:18 β π 0 π 0 π¬ 1 π 0The VoxelNYC project is about making this public data more immediately usable. The current gap is a barrier to public oversight. If it's going to take this much work to just match a spreadsheet against a published report, OMB needs to create more (and better!) documentation.
14.11.2025 17:01 β π 0 π 0 π¬ 0 π 0A screenshot of a SQL query
A screenshot of the results from a SQL query
A screenshot of a table summarizing how to interpret the columns in a SQL query
Those "Change From..." columns are just simple deltas.
Looks like we're in good shape. This simple roll-up of the budget line-items from the Open NYC data source appears to match the Agency Summary table in the Expense Budget PDF.
Success!
A screenshot of a table that maps column names from the Expense Budget on OpenData NYC to the column labels in the agency-level summary section of the published Expense Budget PDF
I made a table showing how these columns relate between the two sources.
Note that the Expense Budget PDF has these "Change From..." columns that don't have an analog in the columns from Open NYC data. We'll have to calculate those ones ourselves
In the FY26 Expense Budget PDF, "Adopted Budget Amount" means the budget that was adopted.
"Financial Plan Amount" means the budget that was adopted for FY26
A screenshot of from the OpenData NYC page that hosts documentation for the Expense Budget
A screenshot of the column names for a table summarizing the Expense Budget for each NYC agency
The next step is to figure out how the columns from the Open NYC data map to the columns in the PDF.
While there is taxonomical overlap (adopted & modified) in the column names, the PDF table columns refer to previous fiscal years. But we've just filtered to the current FY...
This means there is a lot of historical data in the spreadsheet. Since we are trying to recreate a table from the FY26 Adopted Budget PDF, our first step is to filter the data to the latest publication date of the latest fiscal year
14.11.2025 17:01 β π 0 π 0 π¬ 1 π 0A screenshot from the website of New York City Mayor's Office of Management and Budget, with a graphic depicting the annual budget cycle timeline
The publication dates for each fiscal year align roughly with the milestones of the budget cycle (a series of proposals, reviews, and responses between the Mayor and the City Council):
January: Preliminary Budget
April: Executive Budget
June: Approved Budget
A screenshot of the code for a SQL query
A screenshot of the results from running a SQL query
The dataset has columns for `fiscal_year` and `publication_date`, implying that the dataset contains more than just the current fiscal year's budget data.
We can see there are 3 budgets per fiscal year, each having 30-40K rows.
A screenshot of a summary table for the Fiscal Year 2026 Expense Budget created by New York City Mayor's Office of Management and Budget. It shows authorized spending by agency for the current fiscal year.
This implies that the tables in the official PDF can be recreated with the spreadsheet. Let's test this out by reconstructing the table that summarizes authorized Expense spending for FY 2026 by agency.
14.11.2025 17:01 β π 0 π 0 π¬ 1 π 0A screenshot of a cover page from the Expense Budget created by the New York City Mayor's Office of Management and Budget. It reads "1. The Expense Budget"
Let's take the Expense Budget as an example. The Expense Budget exists in two forms:
1) a 1000-page PDF
2) a spreadsheet with 1,000,000 rows
Ostensibly, the spreadsheet is raw data product that is used to create the PDF
New York City publishes open budget data alongside official budget documents, but it's poorly documented. And in spite of its "clean data" appearance, it requires professional data work before it can be used for analysis.
#NYCBudget #OpenData