Police cost-share methodology
The Village runs the only municipal police department in Red Hook. Town and Tivoli buy patrol service from the Village (and from the Dutchess County Sheriff). The Red Hook Central School District buys School Resource Officer (SRO) coverage from the Village. Each of those flows pulls money out of one jurisdiction's budget and into the Village's. To ask "what does each jurisdiction pay, net?" we have to (a) pin down what the Village spends gross, (b) subtract what the others reimburse, and (c) compare the residual on a population or property-value basis.
This page walks through the four ingredients. Numbers are pulled from audited sources where possible; named contracts override AFR figures when both exist for the same (year, counterparty) pair.
The fully-loaded cost answers "how many dollars from the Village budget were spent producing police service this year?" That includes the obvious things (officer salaries, uniforms, vehicles) plus shares of cross-cutting costs (benefits, building maintenance, IT, payroll administration).
The Activity-Based Cost (ABC) pipeline computes this. Direct + payroll-share benefits + payroll-share overhead. See the ABC methodology page for the full walkthrough, including the Village-specific override that uses 35% / 50% / 40% shares for facility / insurance / IT instead of the pure payroll-share default.
For the long-trend chart on the issue page we use the simpler version: every line in the Village AFR whose account label mentions "police" or "sheriff", summed by fiscal year. That's less complete than the ABC computation (it doesn't pull in payroll-share benefits sitting on the A9015 line, for example) but it extends consistently back to FY94/95, which the ABC pipeline doesn't.
Three streams of money come into the Village for police services. We assemble the year-by-year receipts from three source types, in priority order:
- Named contracts — the IMA or SRO contract text itself, where the annual dollar value is quoted. Most authoritative when available, but sparse: only ~5 of the 32 years in the dataset have actual contract PDFs we can point to.
- Payer AFRs— Town files B3120 ("Police, Contractual Expenditure") and Tivoli files A3120 ("Police") on their audited annual reports with the OSC. These give us 31 years of dense data for Town and Tivoli, FY94/95 through FY24/25. Each row is mostly the Village contract payment plus a small Sheriff line.
- Village A2261— Village revenue line for school-resource-officer payments. Broken out by counter- party only from FY24/25 onward (via the budget LLM extracts). For FY07/08 through FY23/24 it's combined into A2260 alongside Town/Tivoli; we can't separate it without contract text or reasonable inference.
The result: 32 year-rows in the contract-receipts table, covering 1995 through 2026.
For fiscal year starting 2024, the receipts data says:
| Source | Annual receipts | Provenance |
|---|---|---|
| Town of Red Hook | $122K | town_afr |
| Tivoli | $18K | tivoli_afr |
| School District | $133K | contract |
| Total to Village | $273K |
That total is what we subtract from the Village's gross police appropriation to get the "Village line" shown on the cross-jurisdiction chart.
With each jurisdiction's net police spending in hand, we divide by population to compare on equal footing. Population comes from the 2020 Decennial Census, town-level and village-level:
- Village of Red Hook: 1,975 residents
- Village of Tivoli: 1,012 residents
- Town of Red Hook, total: 9,953 residents
- Town-outside-villages (the residents who get shared-services patrol but don't pay through a village levy): 6,966 residents
The Town-outside-villages figure is what we use for the fairness denominator on the Town side, because residents inside Tivoli are buying patrol through Tivoli's contract (and inside Red Hook Village they're paying through the Village levy directly).
A second cut. Property tax is the dominant funding source for the Village PD, so an alternative fairness benchmark is "what would each jurisdiction owe if cost were shared in proportion to taxable assessed value?" Total taxable AV in the town comes from the 2025 Tentative Assessment Roll. The breakdown lives in data/extracts/police_costs.yaml under assessed_values.
Both lenses (population, AV) tell different stories — Town residents own more aggregate AV than Village residents because Town has more land, so the AV-share counterfactual shifts the burden differently from the population-share one. The issue page presents both side by side.
- FY-alignment is loose.The Village fiscal year runs June-May. Town runs the calendar year. School runs July-June. The chart normalizes on the start calendar year of each fiscal period; small mismatches (1-3 month overlap between adjacent years) aren't corrected for.
- Pre-FY24 school-share is an estimate. Village A2260 lumps all three counterparties together for FY07/08-FY23/24. We can subtract Town AFR + Tivoli AFR to get a residual that's mostly School District, but it's a derived number, not an audited one. The methodology marks these years as confidence: low.
- Sheriff carve-out.Town's B3120 line includes a small Sheriff coverage payment (currently ~$2,500/yr). For the chart we treat Town's entire B3120 as "Town police spend" without partitioning out the Sheriff portion. The Village receives none of that ~$2,500.
- Tivoli 2020-2022 anomaly.Tivoli's AFR police line dropped from ~$17K (2019-20) to $1,635 (2020-21) to $8,856 (2021-22) before recovering. Likely a pandemic-related contract reset; the dataset flags these with confidence: medium and notes.
- 2026 receiptsreflect the new contracts ($120K Town base + Capital Reserve, $155K SRO, Tivoli hourly-only). Town/Tivoli/School won't file 2026 AFRs until well into 2027, so these are source_type: contract until then.
Sources
- externalContract history dataset: data/extracts/police_contract_history.yaml— 60+ records of per-year contract receipts, with source citations per record (Town AFR, Tivoli AFR, named contract, or inferred).
- externalBuild script: analysis/build_police_contract_history.py— YAML → JSON aggregator that picks the best-priority source per (year, counterparty).
- externalCross-jurisdiction chart loader: site/src/lib/getCrossJurisPoliceSpend.ts— getCrossJurisPoliceSpendNetVillage() — applies the contract-receipt subtraction.
- externalOSC Annual Update Documents (audited AFRs)— NY State Comptroller's bulk download is the source for Town and Tivoli expenditure lines and Village A2260/A2261 revenue lines.
- recordABC methodology page— How fully-loaded police cost is computed (direct + payroll-share benefits + payroll-share overhead).
- recordIssue page: police-cost-sharing-detail— Where this methodology is applied.