Screening New York State certified payrolls against published prevailing-wage schedules

Every week, contractors on New York public-work projects file certified payrolls that the State publishes as open data. The State also publishes the prevailing-wage schedules those payrolls must meet. This project joins the two — 588,505 wage lines against both 2025–2026 and 2026–2027 rate schedules for all 62 counties — and surfaces a ranked, evidence-cited set of candidates for human review.

How to read these findings

Every finding on this site is a screening candidate drawn from public records, requiring investigation — not a determination that any law was broken. A finding means one thing only: a certified-payroll line, filed by the contractor itself in a public state dataset, reports an hourly cash wage below the lowest published journeyworker rate for the matched trade classification in that county and schedule period.

Lawful explanations that public data cannot rule out include: workers in registered apprenticeship or training programs whose registration is not visible in the dataset; wage components paid as supplements rather than cash; classification nuances the published schedules do not capture; and data-entry errors in the underlying filings. The screen removes the candidate classes it can detect (payments matching scheduled apprentice rates, payments matching another classification’s exact rate), but it cannot verify apprenticeship registration or supplement payments from public data.

Exposure figures are indicative screening magnitudes (shortfall per hour times reported project hours), not damages estimates. If you believe any entry is in error, contact thomas@concoursetech.com and it will be reviewed promptly.

The funnel

The screen is deliberately conservative at every stage: it compares each payroll line only against the lowest published journeyworker rate for the matched trade family in that county and schedule period, and then removes the false-positive classes it can detect from public data. Bars are square-root scaled; exact counts are shown.

Certified-payroll wage lines harvested (data.ny.gov)588,505
2026-01-01 through 2026-07-20 · 3,503 contractor accounts
Journeyworker lines screened against schedule floors554,606
Lines labeled Journeyman with a plausible hourly rate; every excluded line is logged
Tier 1 — paid below the lowest scheduled journeyworker rate24,947
928 contractors · conservative minimum-family floor per county and schedule period
High confidence — shortfall of 15% or more12,602
605 contractors
Standing candidate set after Tier 2 screens6,835
468 contractors · $1,754,083 indicative exposure — after removing 6,486 findings matching scheduled apprentice rates and 1,379 matching another classification's exact rate
6,835
standing high-confidence findings
468
contractors in the standing candidate set
$1,754,083
indicative exposure (shortfall × reported project hours)
370
findings independently corroborated by the weekly gross-wages field

Browse the candidate set →

Where the standing findings are

CountyStanding findingsContractorsIndicative exposure
Orange66427$217,299
Albany53759$134,816
Erie36834$133,372
New York34129$110,785
Suffolk48343$106,364
Dutchess27918$106,218
Westchester41635$103,275
Nassau43435$92,561
Onondaga35528$66,877
Ulster18819$64,579

Top 10 of 62 counties with standing findings.

By trade

TradeStanding findingsContractorsIndicative exposure
Electrician91554$391,401
Laborer1,192103$251,776
Plumber76759$246,276
Carpenter89288$212,696
Mason64222$110,878
Electrician Lineman38914$102,500
Painter25423$77,396
Ironworker30622$68,532
Steamfitter23922$60,692
Sheetmetal26029$50,856

Read more