Methodology
Every flag in a Budget Watch report is produced by one of five checks. The thresholds below are editorial judgment calls — they’re documented here so you can evaluate them, challenge them, or improve on them.
The full source code for all checks lives in analyzer.py in our public repository.
Check 1 · Year-over-year spike
What it measures: A budget category grew by more than 20% in a single fiscal year, adjusted for population change.
Why 20%? Most municipal departments have relatively stable year-to-year spending. A 20% jump is large enough that it almost certainly reflects a deliberate decision — a new program, a contract renegotiation, an unusual purchase — that deserves explanation. Below 20% we’d be flagging normal inflation and staffing adjustments.
What it doesn’t catch: Multi-year gradual increases. A department that grows 18% per year for five years won’t trip this check. That’s a known limitation.
Severity: High if over 40%, medium if 20–40%.
Check 2 · Peer-spending outlier
What it measures: A category’s per-capita spending is more than 50% above the median for peer towns of similar size, type, and region.
The peer problem: This check is only as good as the peer towns we choose. Bad comparisons produce meaningless flags. We choose peers manually based on population (within 30%), municipality type (city vs. township vs. county), region (same state where possible), and economic profile. When we’re uncertain about a peer choice, we don’t guess — we leave the field blank and note the gap in the report.
Severity: High if over 100% above median, medium if 50–100%.
Check 3 · Fund balance erosion
What it measures: The town’s general fund reserve has declined in both of the two most recent fiscal years on record.
Why it matters: Fund balance is a town’s financial cushion. Governments without adequate reserves are vulnerable to service disruptions, borrowing at bad rates, or deferring maintenance in ways that cost more later. A two-year decline doesn’t necessarily indicate a problem — capital projects or economic downturns have legitimate explanations — but it’s worth asking about.
Severity: Medium (single flag regardless of magnitude, because trajectory matters more than a single data point).
Check 4 · Reserves vs. service cuts
What it measures: The town is holding fund balance above 15% of general fund expenditures while simultaneously reducing spending in categories we classify as public services (parks, libraries, public safety, roads, human services).
The logic: Reserves exist to provide stability. A town that accumulates large reserves while visibly cutting services that residents depend on faces a legitimate public question about priorities. This check doesn’t say the answer is wrong — it says the question should be asked.
Service categories used in this check are listed in the service_categories field of the town’s data file.
Severity: Medium.
Check 5 · Unexplained inter-fund transfers
What it measures: A transfer between funds exceeds $50,000 (or $20 per capita, whichever is larger) and is not accompanied by a documented explanation in the budget narrative.
What counts as documented: A line item label like “Transfer to Capital Projects Fund — Road Resurfacing Program” is sufficient. A generic “interfund transfer” with no further description is not.
Why this matters: Inter-fund transfers are a common mechanism for moving money in ways that don’t appear in the headline general fund figures. Most are routine and well-documented. When they’re not documented, the question is simply: what is this for?
Severity: High if above $100 per capita, medium otherwise.
What we don’t check (and why)
- Personnel decisions — We don’t flag individual salaries or staffing levels. Personnel is the largest single budget driver for most towns, and comparisons without detailed job-classification data produce more noise than signal.
- Debt service — Debt schedules are structurally complex and depend heavily on capital project history. We flag fund balance erosion as a proxy for fiscal stress but don’t attempt to analyze debt structure directly.
- Revenue sources — We focus on spending. Revenue analysis (tax rates, state aid dependency, fee structures) is important but requires different data than most published budgets contain.
Corrections
If you believe a flag in one of our reports is based on a misread figure, a bad peer comparison, or a documented explanation we missed, please contact us. We will review, correct the record publicly if warranted, and note the correction in the report.