10 analyses of the town's money, written by this project from records the town and district published and from documents obtained by request. Every figure in one is recomputed from the data on every build, and every one of them prints.
Nothing on this page is an official document. These analyses are written here, from documents the town and district published and from records obtained by request. They have not been reviewed or endorsed by the Town of Lunenburg, the Lunenburg School Committee, the Finance Committee or Lunenburg Public Schools, and this project is not affiliated with any of them.
Every figure in an analysis is recomputed from the underlying data by a script, and the script is named on the row. The data itself is published below — you do not have to take any of this on trust, and you should not.
Where an earlier version of an analysis was wrong, the correction stays in the text rather than being edited out. Several of these documents describe their own earlier errors.
First published in the last 7 days
A subject, page by page
Also on this subject: Health insurance options
A subject, page by page
A subject, page by page
Also on this subject: Youth league field payments · School user fees · Extracurricular cuts
A subject, page by page
Also on this subject: Children schooled elsewhere · What we cannot answer
A subject, page by page
Also on this subject: The departure scenario, with its dials
A subject, page by page
Also on this subject: The full Monty Tech report
A subject, page by page
Also on this subject: What we cannot answer
A subject, page by page
A subject, page by page
Also on this subject: What we cannot answer
A subject, page by page
Also on this subject: What we cannot answer
A subject, page by page
Also on this subject: What we cannot answer
A subject, page by page
Also on this subject: Stabilization funds · Free cash calculator
A subject, page by page
Also on this subject: Free cash
A subject, page by page
A subject, page by page
A subject, page by page
Also on this subject: Growth dials: what building would have to do · What we cannot answer
A subject, page by page
A subject, page by page
Also on this subject: Every board, one page each
A subject, page by page
Also on this subject: Athletics costs
Method
Every finding this project has published as a post: the figures, what it means for a resident, a Finance Committee member and a School Committee member, and the links to the report underneath it. About two minutes each.
What every board is doing to prepare for Town Meeting: the omnibus budget, the school budget above all, and the warrant. What is coming, where this cycle stands, what was said most recently, what was posted. Not every mention of money — the budget being built, and what will land on the warrant.
Meetings coming up for the Select Board, Finance Committee and School Committee with what is on each agenda, minutes just posted, recordings just published, and what happened at the last recorded meetings. Refreshed daily.
Every board and committee the town posts for, one page each: what is coming, what happened, every vote we have minutes for, where the board’s time goes, and when budget season has fallen on its agendas in past years.
Our minutes of recorded meetings, written from the captions: votes, transfers, budget items, decisions and public comment, every item linked to the video at that second, and checked against the town’s minutes where they exist.
Method
The sixteen annual town reports, FY2011–FY2025, every one downloadable with the sha256 of the bytes we hold — and what we read out of them, by category. Says plainly which pages tie to a total the page itself prints and which carry figures nothing has ever checked, because those are not the same thing.
What can be followed from the school budget to the town’s books, and where it stops. Two levels join, the third cannot, and the format a report arrives in decides which.
Every question this archive can answer, in plain English and without a line of SQL. The list a resident should start from: pick the question you actually have and follow it to the figure and the document behind it.
The same questions with the query that answers each one, run against the database on every build — so none of them is a claim about what this data can do. If one stops answering, the build fails.
How every figure was reached
Every calculation the site publishes, with its inputs, its formula, a worked example, and whether each figure is published, contractual, statutory, our measurement or our assumption.
16,454 words · every calculation on this site, and whether each number is published, contractual, statutory, our measurement or our assumption
Not an analysis — the ledger itself
506 accounting measures — every fund, appropriation, revolving fund, grant and trust the town's own reports print — each one assigned to whoever answers for it. These are the town's figures, not ours.
The registry underneath all of this: every fund, appropriation, revolving fund, grant and trust the town’s own reports print, each one assigned to whoever answers for it.
The Town Manager’s departments, each with the lines it spends and what it held at the close of the period.
largest first
The budget column is what was appropriated and revised for FY2026, period 12 (year end, unaudited) where an account-level report exists; period 9 (31 March 2026) otherwise. It is a NET line — what the town had to raise after grants, fees and reimbursements paid for part of the same thing — so it is not what the department costs. Funds held are revolving funds and trusts as they stood on 31 March 2026; they accumulate across years and are not voted annually, and a negative one is a fund carrying a deficit on that date. The two columns are different kinds of number and are added nowhere on this site. Figures here are rounded — each page carries the exact ones, account by account.
Underneath all of it
Nothing above has to be taken on trust. These are the same sources the analyses are computed from, published at stable addresses.
/data/lunenburg.db
Every figure on this site in one SQLite file. The same database the analyses are computed from.
/api/index
A read-only JSON API. No key, no rate limit. /api/schema states the grain of each table and the four ways to get a confident wrong answer out of it.
/sources
Every source document, with its address, the publisher’s own filename and a checksum.
/docs/data/gross-school-budget-fy2026.xlsx
The district’s budget in the district’s own shape, with what was actually spent and what other money paid for it — and amber cells wherever that money is not held.
Index generated 2026-10-17 by scripts/build_reports_index.py, so it cannot describe a document that is not there or omit one that is.