Open Government, Perspective
New York City Government Should Have World-Class Procurement Transparency. Here’s How.

New York City’s procurement ecosystem is a behemoth, channeling billions of dollars annually into goods, services, and infrastructure that keep the city running. The current publication of this data via the Mayor’s Office of Contract Services PASSPort Public system, NYC Open Data and the Comptroller’s Checkbook.NYC represents a commendable step toward transparency. It answers the fundamental questions of “who,” “what,” and “how much” for thousands of contracts. However, when measured against the global gold standard — the Open Contracting Data Standard (OCDS) — it becomes clear that NYC is providing a snapshot where a movie is required. The gaps are not merely technical deviations; they represent missed opportunities to save money, deter fraud, and improve the quality of life for millions of New Yorkers. Global success stories from Ukraine and Colombia demonstrate that when these missing pieces are filled, the results are transformative.
The gaps in the picture
The most profound deficiency in the current NYC dataset is the absence of contract history and amendments. The OCDS schema is uniquely designed around the concept of “releases” — sequential, timestamped updates that tell the story of a contracting process from inception to closure. By contrast, NYC’s data is largely static, displaying only the current state of a contract. We might see a contract valued at $50 million today, but the data does not easily reveal if it began as a $20 million agreement that ballooned through a series of quiet amendments. Without this historical lineage — the “audit trail” of the deal — oversight bodies, journalists, and the public cannot easily identify scope creep or cost overruns, which are often the earliest red flags of mismanagement. The data is flattened, hiding the narrative of how public funds are actually shepherded over time.
A second critical gap is granularity. The current dataset aggregates spending into high-level categories or contract titles, such as “IT Services” or “General Construction.” OCDS supports detailed line-item data, allowing for the analysis of specific unit costs — the price paid per laptop, per hour of legal counsel, or per linear foot of asphalt. This missing layer of detail prevents cross-agency benchmarking. If the Department of Education pays 20% less for the same paper supplies than the Department of Sanitation, the city has no easy way to know or leverage that purchasing power. For the public, granular data would demystify generic, multi-million dollar “consulting” contracts by breaking them down into tangible deliverables.
Furthermore, the implementation phase — what happens after the contract is signed — is largely absent. OCDS includes fields for milestones, progress reports, and delivery schedules. Currently, we know a vendor won a bid, but we lack useful data on whether they are hitting their targets. The evaluations deep in PASSPort Public spreadsheet downloads offer only a hint of outcomes with a simple “Satisfactory, Excellent, Good, Poor, Unsatisfactory” rating and give us no ability to learn whether the elevators in public housing were repaired on schedule or if the new software system was delivered by the deadline. Including implementation data shifts the focus from “spending” to “results,” enabling taxpayers to judge vendors on performance rather than just their ability to fill out a bid form.
Lessons from global leaders: Ukraine and Colombia
The argument for closing these gaps is not theoretical. Governments that have adopted the full OCDS philosophy have reaped massive dividends in efficiency and credibility.
Following the 2014 Maidan Revolution, Ukraine undertook a radical overhaul of its notoriously corrupt procurement sector. They built Prozorro (meaning “transparent”), an e-procurement system built natively on OCDS. Their slogan, “Everyone sees everything,” was not just marketing; it was the architectural principle of the system.
By standardizing procurement data and making every tender, bid, and amendment publicly accessible in real time, Ukraine’s OCDS-based system, Prozorro, transformed its market. The reforms saved over $6 billion by the end of 2020. Increased transparency boosted competition — the average tender drew 15% more bids and 45% more unique suppliers, and roughly three-quarters of the small and mid-sized businesses that bid in 2017 won at least one public tender. The impact reached healthcare, where the medical procurement agency cut medicine prices by up to 40% and health bodies saved about 15% on average — 35% when three or more suppliers competed. More than 100,000 citizen monitors now help make sure projects are actually delivered.
In Colombia, the adoption of OCDS-based open contracting was pivotal in addressing local corruption and improving service delivery, especially in education. By opening up data, the reforms broke up a $22 million price-fixing cartel in Bogotá’s school meals program. This increased transparency led to market diversification, with the number of school meal suppliers jumping from 12 to 55, improving food quality for 900,000 children daily. Furthermore, it empowered over 200 local farmers to sell directly to the government, strengthening local economies. Overall, the number of bidders increased by 46%, and the value of competitive awards rose by 64%, demonstrating systemic growth.
Portland, Oregon: building an interface for their OCDS dataset
While nations like Ukraine and Colombia offer inspiring examples of OCDS implementation at a national scale, we don’t need to look overseas for a relevant model. The City of Portland, Oregon, organizes its procurement data in a way that directly addresses the gaps we see in New York City’s system.
Organizing data for the full lifecycle
Portland’s data organization focuses on the “Release” — a coherent package of information that updates over time. Instead of separate, disconnected datasets for solicitations, contracts, and payments, they produce an OCDS dataset as a series of CSVs posted online. By doing this, they make it possible for developers to build interfaces to make procurement information legible to the public.
A single OCDS record in Portland’s system contains:
- Tender: the initial solicitation details, inquiries, and huge granular line-item requirements.
- Awards: who won the bid and for how much.
- Contracts: the comprehensive legal agreement.
- Implementation: a big “missing piece” in NYC data — containing actual purchase orders, invoices (transactions), and approval milestones.
This structure means that “history” isn’t an afterthought; it is built into the data model. If a contract is amended or a new payment is made, a new release is generated, creating an immutable audit trail.
Using generative AI (Google Antigravity, Gemini and Claude), in the matter of a day we were able to deploy the OpenProcurement API, load their data into it, and build a front end that stitches the OCDS procurement stages together to create an Explorer app for Portland’s procurement.
Building the viewer
To demonstrate the power of this data, we built the Portland Open Contracting Explorer, a modern web application designed to visualize this complex lifecycle.
The viewer is built with React and OCDS JSON served directly from the deployment of the OpenProcurement API. The design’s goal is to turn each solicitation into a legible story that shows progress from a “Tender” to an “Active Contract” and finally to “Completion.”
Telling the story: from solicitation to completion
Consider the implementation of SAP HCM processes (Contract 30004792). In NYC’s current system, this might appear as a single row in a spreadsheet. In the Portland Explorer, the viewer tells the full story:
- The Ask (Tender): we see the city’s initial request for “Implementation of SAP HCM Processes and Forms,” with an estimated value of $400,000. We can even dive into the specific line items requested.
- The Agreement (Award & Contract): we see the award went to “MOURI Tech LLC” for $391,600 — slightly under budget.
- The Execution (Implementation): this is where the data shines. The viewer lists the specific milestones (e.g., “City Auditor approved the contract”) and transactions. We can see individual invoices paid out over two years, ranging from small $2,500 consulting fees to large $78,000 payments.
By visualizing the implementation phase, the contract’s story emerges and the viewer can answer the crucial question: did we get what we paid for? We see the payments flowing out as the work is delivered, providing a level of accountability deeply missing from NYC’s static contract lists.
Of course, there is significant room for improvement in the Portland implementation of OCDS — the biggest of which is that Portland’s dataset doesn’t link to the actual signed contracts. New York City doesn’t release this information either, but many other governments do, such as Ukraine.
The path forward for NYC
It is not enough to simply publish PDFs, spreadsheet tables or transaction logs. The city must move from basic transparency to actionable, structured data that meets global standards for good, open government. Doing so will empower credible oversight, invite a wider array of vendors to compete for city business, and ultimately ensure that every tax dollar delivers maximum value for New Yorkers.
But transparency is not just the foundation of good government — it’s the platform upon which the public can understand, engage and influence government activities. Without it, the public is just yelling into a black box. With it, the public can watch and verify that the government is working for them.
By fully adopting OCDS — specifically identifying contract lineage, publishing actual contracts, enforcing line-item granularity and tracking implementation performance — NYC can unlock billions in potential savings, improve services, build significant credibility locally and globally, and create a whole new set of pathways for the public to engage with and influence their government.