VoxelNYC's Avatar

VoxelNYC

@voxelnyc.substack.com

7 Followers  |  21 Following  |  21 Posts  |  Joined: 27.09.2025  |  1.7407

Latest posts by voxelnyc.substack.com on Bluesky

Post image

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

OMB 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?

18.11.2025 17:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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    πŸ“Œ 0

That's why the Council's response yesterday was basically "yup, our forecast was accurate".

18.11.2025 16:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I 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    πŸ“Œ 0

The 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    πŸ“Œ 0

Council'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    πŸ“Œ 0

Mayor'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    πŸ“Œ 0

Example: 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    πŸ“Œ 0

Press 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    πŸ“Œ 0

The 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    πŸ“Œ 0
A screenshot of a SQL query

A screenshot of a SQL query

A screenshot of the results from 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

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!

14.11.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
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

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

14.11.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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

14.11.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
A screenshot of from the OpenData NYC page that hosts documentation for the Expense Budget

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

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...

14.11.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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    πŸ“Œ 0
A screenshot from the website of New York City Mayor's Office of Management and Budget, with a graphic depicting the annual budget cycle timeline

A 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

14.11.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
A screenshot of the code for a SQL query

A screenshot of the code for a SQL query

A screenshot of the results from running 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.

14.11.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
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.

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    πŸ“Œ 0
A 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"

A 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

14.11.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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

14.11.2025 17:01 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@voxelnyc.substack.com is following 20 prominent accounts