An analysis, written by this project

Show your work

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.

MarkdownPDF16,209 words93 KBlast changed 2026-09-07sha256 f1e6fd4b1a896489…

Every figure this project publishes, and how it was arrived at.

It is written for the people who have to decide something with it — Finance Committee, Town Manager, Select Board, School Committee. It assumes you read budgets and does not assume you write software. Nothing in the body of it requires a computer to follow; the files and commands are in Appendix A, for anyone who wants to rerun the arithmetic themselves.

The most useful thing here is not a number. It is the labels. Every figure is marked with where it came from, because you cannot judge an argument without knowing which parts of it are somebody else’s work and which are ours:

labelmeans
publishedA figure stated in a document by the town, the district or the state. We transcribed it.
contractA rate set by a signed collective bargaining agreement.
statuteFixed by law.
measuredWe calculated it from somebody else’s figures. The arithmetic is ours; the underlying numbers are not.
oursAn estimate, a classification or an assumption we made. These are the ones to argue with, and Section 12 lists every one of them in order of how much it matters.

If you have limited time, read Section 12. It is every assumption in the model, sorted by how much the answer moves if the assumption is wrong, with a plain statement of what backs each one — including the two that are backed by nothing.

Every section is laid out the same way: the question being asked, what goes into it, the arithmetic worked through, and then what we assumed and what would settle it. That last heading appears in every section without exception.

Two distinctions that everything here depends on

A budget is not an actual. A budget is what somebody voted or proposed. An actual is what got spent. On some lines in this town the two differ by 59%. A growth rate measured from an actual in one year to a budget in the next is partly real growth and partly the step between two different kinds of number, and it produces an answer that looks authoritative and is wrong — that mistake once put our special education growth rate a point and a half too high.

Every projection here uses budget figures only. Actual spending answers other questions and is used for them. The two are never combined inside one calculation, and that is enforced automatically rather than by good intentions.

A one-time saving is not a change in direction. A cut lowers the cost curve once and leaves its slope alone. Only a change in a growth rate changes the slope. Two figures growing at different rates move apart forever, no matter how much you subtract from one of them once — which is the arithmetic behind why a town can cut every year and face a larger gap every year. It is not mismanagement and it is not anybody being alarmist.

Most of what follows is one or the other. Free cash, cuts and overrides change the level. Sections 3 to 5 are about the rates.

And a budget line is a net figure, in dollars. The district budgets what the town must raise after grants, fees and reimbursements have paid their share. A line can rise because the thing got dearer, because a grant that was covering part of it ended, or because a fee stopped being collected — and all three look identical on the page. Nothing in this document measures what a service costs, how many people it employs, or how many children it serves. It measures appropriations, which is what Town Meeting votes on.


1. How the gap is projected

The question

If the district keeps doing exactly what it does now, and the town raises revenue the way the town says it raises revenue, how far apart are those two figures in each of the next several years?

That is not a forecast of what will happen, because what will happen includes decisions nobody has taken yet. It is the arithmetic of taking no decision at all.

What goes in, on the revenue side

All of it from the Town Manager’s FY27 budget release of 17 April 2026 and the enacted state budget.

figureFY27label
Levy limit$34,133,581.28published
Debt excluded from the limit$2,199,352.52published
State aid$11,876,038published
Local receipts$3,508,024published
Omnibus budget as appropriated$49,963,990.19published
School appropriation$26,572,288published
September Town Meeting article$350,000published
Programs that article restores$453,722published

How next year’s revenue is worked out

Three figures grow, one is held flat, and one is subtracted.

Next year’s levy limit = this year’s levy limit × 1.025 + new growth

Levy limit, FY27                                          $34,133,581
  plus Proposition 2½ growth of 2.5%                        +$853,340
  plus new growth                                           +$400,000
                                                      ---------------
Levy limit, FY28                                          $35,386,921
Debt excluded from the limit (held flat)                   $2,199,353
State aid, grown 2.8%                                     $12,202,629
Local receipts, grown 1.0%                                 $3,543,104
Less revenue not appropriated in the omnibus              −$1,753,006
                                                      ---------------
Town revenue available to appropriate, FY28               $51,579,001
The same figure for FY27                                  $49,963,990
Growth                                                          3.23%

That subtraction is worth a word. $1,753,006 of FY27 revenue does not appear in the omnibus budget — assessments, the overlay, state charges and the rest. We do not model it changing, so it is worked out once from the FY27 figures and taken off every year. That is an assumption. If those charges grow faster than revenue does, this projection is too generous.

And then the schools get their share.

Next year’s school appropriation = this year’s appropriation × (1 + the growth rate above)

This is the single most consequential choice in the model, and it is ours. It assumes the schools hold the share of the town budget they hold today — 53.2% of the omnibus — and neither gain nor lose ground against every other department. Nothing published commits the town to that, in either direction. A year in which the schools’ share moves by a single point swamps most of the growth rates in this document.

What goes in, on the cost side

The adopted FY27 school budget, line by line, sorted into seven groups. Each group grows at its own rate, because they behave nothing alike.

Cost of the same services next year = the sum of each group × (1 + that group’s growth rate)

The line items come to $26,572,290, against a published appropriation of $26,572,288 — a difference of $2, which is rounding in the district’s own workbook and is not corrected here.

The $453,722 of programs restored at the September Special Town Meeting is added to salaries, because that money is one-time and carrying those programs into FY28 is itself a cost the district has to absorb.

groupFY27share of the budgetgrows atthat rate is
Salaries, other than special education$13,409,67449.6%4.00%contract
Special education, in district$5,466,20120.2%6.49%ours
Health insurance and unemployment$4,019,07114.9%9.00%published
Everything else$1,772,0536.6%3.00%published
Transportation, other than special education$1,053,3603.9%6.00%ours
Out-of-district tuition$700,1422.6%0.00%ours
Utilities$605,5112.2%5.00%published
Total$27,026,012100.0%5.18% blended

Two things in that table are worth stopping on.

The cost side and the revenue side do not get the same addback. Costs carry the whole $453,722 restoration plan. Revenue carries only the $350,000 Town Meeting article, because the balance — $103,722 — came from health insurance savings inside FY27 that do not recur. So the projection begins FY28 already carrying that amount as gap. That is deliberate, and it is a judgement; anyone who thinks those savings do recur should take it off.

Unemployment compensation sits in the health insurance group. It is $25,000 of the $4,019,071, it shares an account code with health insurance, and so it grows at 9.0% along with it. Unemployment does not behave like a health premium. It is too small to change any conclusion, and it is written down here because somebody adding up the lines should not find a figure they cannot account for.

The gap, worked through for FY28

School appropriation, FY27                                $26,572,288
  plus the September Town Meeting article                   +$350,000
  grown at the town’s revenue growth of 3.23%               +$870,222
                                                      ---------------
Money available to the schools, FY28                      $27,792,510
                                                      ---------------
Cost of the same services, on the FY27 basis              $27,026,012
  each group grown at its own rate (blended 5.18%)        +$1,399,375
                                                      ---------------
Cost of the same services, FY28                           $28,425,387
Money available to the schools, FY28                      $27,792,510
                                                      ---------------
GAP                                                          $632,876

Those figures are recomputed from the steps above and checked against the model before this document will save. If they ever disagreed, it would stop rather than publish a walkthrough that does not reproduce the answer it is explaining.

The projection

Read the gap column carefully, because it is the figure most often misunderstood. Each row is that year on its own — what that single year’s shortfall would be if nothing had been done in any earlier year. The rows are not added together, and each one is not "the extra hole that year" either.

yearcost of the same servicesmoney availableshortfall that year, if nothing is done firstof which is new that yeartown revenue growth
FY28$28,425,387$27,792,510$632,876$632,8763.23%
FY29$29,908,680$28,684,645$1,224,035$570,8443.21%
FY30$31,481,524$29,599,248$1,882,276$619,2193.19%
FY31$33,149,963$30,536,892$2,613,071$671,1643.17%
FY32$34,920,491$31,498,162$3,422,328$726,9983.15%
FY33$36,800,078$32,483,659$4,316,419$787,0063.13%

Three different questions, three different answers, and they get confused for each other constantly:

the questionanswer for FY29
What is the shortfall in FY29, if the town does nothing in FY28?$1,224,035 — the gap column
How much of that is new in FY29, over and above the FY28 hole carried forward?$570,844 — the second column
What do the shortfalls come to across FY28–FY33 added together?$14,091,005

So FY29’s $1,224,035 is not $632,876 plus something. It is what FY29 looks like on its own if FY28 was left alone — the earlier shortfall is still there, and a year of growth has been added on top of it.

And the same word means something different in Section 10. There, every year’s gap is what is left after the previous years have been cut, which is a much smaller number: FY29 is $1,224,035 here and $556,851 there — 55% lower. Both are correct. They answer different questions, and the distance between them is the value of acting early rather than late.

The gap widens because two figures grow at different rates. Costs at 5.18%, town revenue at about 3.23% and drifting down toward the statutory 2.5% as a fixed $400,000 of new growth becomes a smaller share of a larger base. Nothing about the size of any one budget line changes that. It is four numbers, and it is the whole argument.

What we assumed, and what would settle it

  • The schools hold their present share of the town budget. Nothing publishes a commitment to that. It is the assumption most capable of making everything else here beside the point.
  • New growth stays at $400,000 a year. That is the town’s own estimate. The Assessors’ own series runs from $481,496 in FY2018 down to $234,383 in FY2023. Section 11.
  • Excluded debt, and the revenue outside the omnibus, are held flat. Both will move. Neither is modelled.
  • There is no FY28 budget. Everything after FY27 is projection. When the district publishes an FY28 request, that is the real number, and this is what it should be compared against.

2. Which budget lines actually drive the gap

The question

The instinct in every budget meeting is to go after the biggest line. That is the wrong ranking, and following it is how a town spends three meetings on athletics and none on special education.

How it is worked out

A line adds to the gap in proportion to its share of the budget multiplied by how far its growth exceeds the levy cap.

Contribution = share of the budget × (growth rate − 2.5%)

Neither figure means anything on its own. A very large line growing at 2½% adds nothing. A small line growing at 9% adds a good deal.

The result is in percentage points of budget growth above the cap, and the column adds up to the amount by which the whole budget outruns Proposition 2½.

linesharegrows atabove the cap bycontributionthat rate is
Health insurance and unemployment14.9%9.00%6.50%0.97published
Special education, in district20.2%6.49%3.99%0.81ours
Salaries, other than special education49.6%4.00%1.50%0.74contract
Transportation, other than special education3.9%6.00%3.50%0.14ours
Utilities2.2%5.00%2.50%0.06published
Everything else6.6%3.00%0.50%0.03published
Out-of-district tuition2.6%0.00%-2.50%-0.06ours

Total: 2.68 points. That is the number that has to reach zero. Blended cost growth is 5.18%, the levy cap is 2.5%, and the difference between them is those 2.68 points.

The same fact, two ways

Salaries, other than special education is the largest line in the budget at $13,409,674 — 49.6% of all spending. It grows at 4.00%, which is 1.50% above the cap, so it contributes 0.74 points.

Health insurance and unemployment is 14.9% of spending — a line 3.3 times smaller — and contributes 0.97 points, more, because it grows 6.50% above the cap instead of 1.50%.

A line held flat pulls the average down. Out-of-district tuition is 2.6% of spending at 0.0%, so it contributes -0.06 points — a negative number, which is what "below the cap" looks like in this column.

Rank by contribution. Never by size, and never by rate alone.

What we assumed, and what would settle it

  • Every rate in that table gets its own section below. Three of the seven are ours.
  • The shares are FY27 shares, held constant. In reality a faster-growing line becomes a bigger share of the budget each year, so this table slightly understates the top line over a long horizon. The projection itself grows each group separately and does not have that problem — only this ranking does.

3. Where each growth rate comes from

The question

You cannot judge this projection without knowing which of its growth rates are the district’s own, which are set by a signed contract or by statute, and which we chose. Here is the whole list in one place.

groupgrows atlabelbasis
Salaries, other than special education4.00%contractThe teachers’ agreement — scale increases plus steps
Special education, in district6.49%oursA blend of two contracts and two measured trends. Section 4
Health insurance and unemployment9.00%publishedThe district’s own stated assumption for FY27
Everything else3.00%publishedThe district’s own stated assumption for FY27
Transportation, other than special education6.00%oursThe district assumed 10% for FY27. This is softer, and ours
Out-of-district tuition0.00%oursHeld flat. Section 5 sets out why that is a finding rather than a gap
Utilities5.00%publishedThe district’s own stated assumption for FY27

Four of the seven are the district’s own stated assumptions or a signed contract. We did not invent them and we have not adjusted them. The three marked ours are the ones to argue with, and two of them get a full section each: special education in Section 4, out-of-district tuition in Section 5.

The third is transportation. The district assumed 10% for FY27. We use 6.0%, which is softer than the district’s own figure — so the gap published here is smaller than the district’s own assumptions would produce. It is ours, and unlike the other two it does not rest on any test of the line’s own history. It is the least defended figure in the table, and it is named as such in Section 12.

Checking the rates against history

Every assumption is compared against what that line actually did, budget to budget — never budget to actual, which would measure the step between two different kinds of number as well as the growth.

Six lines have come back flagged. Three of those turned out to be one-time step changes rather than trends, which is why the year-by-year has to be read before a compound growth rate is believed. A three-year rate measured off a small base is not a trend, and a line that goes to zero and reappears under a new name produces a spectacular-looking rate that means nothing at all.


4. Special education, in district

The longest section, because this is the growth rate this project built rather than transcribed, and it moves the answer more than any other single choice in the model.

The question

What should in-district special education be grown at, given that no contract governs it, the state has no account code for it, and three budget years cannot tell a one-time increase from a trend?

Why it is separated out at all

The state’s account codes cannot separate special education from everything else. One code covers paraprofessionals of both kinds; another covers transportation of both. Grouping by code alone put roughly $5.7 million of special education staffing in with general salaries, where it took the teachers’ contract rate.

That hid no money — the total was always right — but it averaged together two lines that behave nothing alike. Teaching salaries move when a contract is bargained. This line moves when a child arrives who needs a paraprofessional.

The classification, which is ours

This is the figure on the page most open to challenge, and it should be. There is no published quantity called "special education", so this total is a rule we wrote:

  1. Eight account groups are special education outright, and every line inside them counts — 46 lines.
  2. Inside groups that carry both kinds of cost, a line counts when the district’s own label for it says special education — 8 lines. One of those, special education transportation, is most of the money.

That is 54 lines totalling $5,466,201 in the adopted FY27 budget. Every one of them is published as a list, so the total can be added up by hand.

What sits just outside, and why:

excludedlinesFY27why
English Language Learner lines, wherever they appear2$279,342A different entitlement, serving different children, under a different part of the law — but the district files some of it inside groups that are otherwise special education, so a rule that took those groups at their word counted it. It did, until this was found.
2330 - Paraprofessionals General Education4$0General education paras. The group next to the special education one, and the single boundary most likely to be crossed by accident in either direction.
9300 / 9400 — out-of-district tuition4$700,142Special education, but escalated on its own because it is set by placement rather than by payroll, and it behaves nothing like staffing.

English Language Learner lines are the correction most worth knowing about. The district files some of that work inside groups that are otherwise special education, so a rule that took those groups at their word counted it — and ours did, until this was found. It is a different entitlement, serving different children, under a different part of the law.

The obvious answer, and why we did not use it

The obvious number is 5.77% — what the whole line did across three budgets. It was our published choice for a day. Break the line into its parts and the whole increase is one component moving once:

partFY25 budgetFY26 finalFY27 level serviceFY26 changeFY27 change
Paraprofessionals$1,376,893$1,344,373$1,874,411-2.4%39.4%
Special education transport$445,328$565,734$649,95327.0%14.9%
Speech, OT and summer services$603,017$567,677$589,245-5.9%3.8%
Substitutes$52,500$52,500$52,5000.0%0.0%
Psychologists and testing$270,675$295,355$207,7239.1%-29.7%
Special education teachers$1,990,158$1,993,848$1,963,5120.2%-1.5%
Administration, legal, supplies and contracted work$126,467$144,842$105,03914.5%-27.5%
Whole line$4,865,038$4,964,329$5,442,3832.0%9.6%

The paraprofessional increase is 111% of the whole FY27 rise — every other part of special education fell that year. Take it out and the rest of the line grew 1.14% a year, below the levy cap.

So 5.77% is not a growth rate. It is one hiring decision, averaged over two years and then compounded forever. Those paraprofessionals were hired. Their cost is already inside the $5,466,201 this projection starts from. Growing that base at 5.77% assumes the district hires 39% more paraprofessionals again next year, and again the year after.

The test that decides every rate below

Three budget years cannot tell a one-time increase from a trend. Our mirror of the district’s budget page reaches back to FY17, so each line below is measured over nine or ten budgets instead of two — budget figures only, and always at the same stage of the budget process, because a year has several budget figures at different stages and they are far apart. A series that takes whichever number each document happens to lead with is a walk across stages, not a trend.

Each line gets the same two tests. The growth rate itself is the ordinary compound one:

Growth rate = (last year ÷ first year) raised to the power of (1 ÷ number of years), minus 1

Does the line follow a trend at all? The "fit" column runs from 0 to 1 and measures how closely the years fall on a straight line. A figure near 1 means they do. A figure near 0 means there is no trend to measure, and stating a growth rate anyway is a choice dressed up as a measurement.

How much does the answer depend on where you start counting? The last column is that same compound growth rate to FY27, worked from every possible starting year. A narrow band means the answer is robust. A band running from very negative to very positive means the "growth rate" is an artefact of the year you happened to pick.

linebudgetsspanfirstlastfitdirectiongrowth rategrowth rate by starting year
Paraprofessionals10FY2018–FY2027$634,513$1,872,4110.898 up / 1 down12.78%11.54% to 39.49%
Professional staff8FY2020–FY2027$1,617,268$1,945,5120.844 up / 3 down2.67%-1.68% to 2.67%
Transportation9FY2019–FY2027$417,585$649,9530.336 up / 2 down5.69%5.50% to 24.61%
Out-of-district tuition11FY2017–FY2027$655,534$700,1420.106 up / 4 down0.66%-45.78% to 11.78%

Read the last row against the first. Same test, same arithmetic, opposite verdicts: paraprofessionals fit a trend at 0.89 and are grown at what they have actually done. Tuition fits at 0.10 and is held flat. That comparison is the argument, which is why both are published.

The rate we do use

There is no special education bargaining unit. Professional staff are on the teachers’ agreement and paraprofessionals on their own; the buses are a vendor contract, and substitutes and supplies are not bargained at all. So the rate is a weighted average of contracts signed for other reasons.

Rate = the sum, across the parts, of (that part’s share of the line × that part’s own growth rate)

Each part grows at its contract where a contract governs it and the line has behaved accordingly, and at what it has measurably done where no contract reaches it. Which of those applies is decided by the test above, not by preference.

partFY27 amountshare of the linegrows atbasis
Professional staff$2,865,51952.7%2.67%Measured over 8 budgets. Their agreement gives 3.5% and the line has run below it — headcount drifting down, not a smaller pay rise
Paraprofessionals$1,874,41134.4%12.78%Measured over 10 budgets rather than taken from the 2.0% contract — this line is headcount, and no settlement reaches it
Transport$649,95311.9%5.69%Vendor contract with no published escalator; measured over 9 budgets
Substitutes and supplies$52,5001.0%0.00%Not bargained; identical in every budget held
Blended rate6.49%

Two published contract rates are deliberately not used, and it cuts both ways. The teachers’ agreement gives 3.5% and this line has run below it — which means headcount here has been drifting down, and using the contract rate would have overstated this component. The paraprofessionals’ agreement gives 2.0%, and ten budgets show the line growing 12.78% a year, because no pay settlement governs how many people are employed. Pricing them at their contract assumes the district stops adding them.

The range, published beside the rate

Five defensible answers to the same question. The one we use is neither the highest nor the lowest, and anyone who prefers a different one can see what it costs.

ratereadingwhat it is
1.14%Special education apart from the paras, two budgetsWhat the rest of the line did while the paras were being added. Below the levy cap — and it is the paras, not the rest, that make this line a driver.
2.53%If every settlement were the whole storyThe two bargained agreements at their published rates and nothing else — no bus increase, no change in how many people are employed. Published here because it is what this model used to assume, and because the gap between it and the rate above is the part of this line that pay settlements do not explain.
5.77%The whole line, two budgetsWhat the in-district line did between the last two budgets. Close to the rate used, and reached a different way.
6.49% ← usedEach part at its contract, or at what it has measurably doneProfessional staff at the teachers’ agreement; paras and buses at what ten and nine budgets show them doing, because no contract governs how many people are employed. Weighted by each part’s share of the line.
9.63%FY27 by itselfThe single steepest year. One observation, and the top of the range.

What we assumed, and what would settle it

  • **We assume the FY27 hiring was a one-time step and not the first year of a climb.** If more paraprofessionals are hired every year — because more children arrive needing one, or because the ones here need more — this rate is too low and the projection understates the gap.
  • A budget line is dollars, not people. Nothing here shows headcount. The budget shows none. Two sources do and neither settles it: DESE publishes paraprofessional FTE per district and year with no school or classification, and the town prints per-school staff rosters by name in every annual report, FY2011-FY2025, with no FTE (/data/staff-roster-entries.csv). So "the line grew" still cannot be turned into "the district employs more paraprofessionals" without inventing the step between.
  • This is the one that carries the most weight. This rate rests on a paraprofessional line, and a line that rises because a grant ended looks exactly like a line that rises because the district grew. **What would settle it is the state’s End of Year Financial Report**, which separates spending by fund. We do not hold it, and it is the single most valuable document this project is missing.
  • The classification is ours. Anyone who draws the boundary differently gets a different total and a different blended rate.

5. Out-of-district tuition, and why we grow it at zero

The question

What should a line be grown at when eleven years of it show no direction at all?

What the eleven years show

The same test as Section 4, on the district’s own budget documents back to FY17, always at the same budget stage. Three of those years reproduce the FY27 workbook exactly, which is what makes the other eight worth trusting.

measurementvalue
Budgets11
SpanFY2017 to FY2027
Lowest$489,918 (FY2023)
Highest$1,291,293 (FY2026)
Highest over lowest2.64 times
Years up / years down6 / 4
Fit to a straight line0.10
Growth rate, first year to last0.66%
Growth rate, depending where you start-45.78% to 11.78%

A figure that swings from -45.78% to 11.78% depending on the year you start counting is not a measurement of anything. Publishing the first-to-last rate of 0.66%, because FY2017 happens to be the earliest year our archive reaches, would be an arbitrary choice wearing a measurement’s clothes.

So the rate is 0.0%, and that is a finding rather than a gap in the work. It says: nobody can say which way this line moves next.

FYprivate placementscollaborativestotalstage
FY2017$581,345$74,189$655,534proposed
FY2018$700,270$60,000$760,270settled
FY2019$694,480$60,000$754,480settled
FY2020$600,016$265,730$865,746settled
FY2021$589,156$130,113$719,269settled
FY2022$639,156$179,560$818,716settled
FY2023$303,364$186,554$489,918settled
FY2024$310,260$190,979$501,239proposed
FY2025$703,872$460,952$1,164,824proposed
FY2026$988,630$302,663$1,291,293settled
FY2027$536,400$163,742$700,142proposed

The risk is priced, not hidden

A slider here would invite a reader to pick whichever number suits their argument, and the honest answer is that nobody knows which is right. So instead the range is priced: each row below re-runs the whole projection with tuition set to that amount.

scenariotuitionFY28 gapagainst the budgeted figure
As the district budgeted it for FY27$700,142$632,876
Midway back$1,000,000$932,734+$299,858
Back to the FY25 budget$1,164,824$1,097,558+$464,682
Back to the FY26 budget$1,291,293$1,224,027+$591,151

The full width of that range is $591,151 of FY28 gap. It is the widest single-assumption range anywhere in this model.

What we assumed, and what would settle it

  • Holding a line flat is itself a bet, not a neutral act. We chose it because every alternative rate turned out to be an artefact of a start year, and the risk is carried in the table above instead of buried inside a growth rate.
  • Dollars are not children. A -46% move in this line could be fewer placements, or a more honest estimate after years of over-budgeting, or the same children at different rates. A budget cannot tell those apart. **What would settle it is a count of out-of-district placements by year**, which nobody publishes.

6. Health insurance

The question

Health insurance is 14.9% of the school budget and grows at 9.0%, so it contributes 0.97 points — the largest single contribution to the gap relative to its size. What can actually be done about it, and what does each option cost an employee?

What goes in

Premiums from the Town’s open enrolment notice of 21 April 2026. Rates rose 5.38% for FY27. The Town pays 75% of the premium and the employee 25%.

plannetworkdeductiblefamily, monthlyindividual, monthlyemployee pays, familyemployee pays, individual
Blue Care ElectBroadest network$500$3,662.52$1,392.63$10,988$4,178
Network Blue New EnglandRegional network$500$2,988.41$1,136.28$8,965$3,409
Blue SelectNarrower network$500$2,599.92$988.56$7,800$2,966
Access Blue SaverHigh deductible$2,000 / $4,000$2,602.28$989.46$7,807$2,968

One correction was made to the source, and it should be on the record. In the rate letter, one plan has its individual and family labels transposed — the figure labelled "individual" is plainly the family rate, matching every other plan’s ratio. We corrected it. Silently fixing a source is how a reader ends up unable to reproduce a figure from the document it cites, so it is said out loud instead.

The part that is ours, and it is substantial

How many employees are on which plan, at which tier, is not published. The counts below are placeholders, and the tool on the site lets you change them.

They are not arbitrary. They are set so that the Town’s 75% share reconciles to the health insurance line in the school budget. At 194 enrollees split 55% family and 45% individual, total premium comes to $5,331,280, of which the Town’s share is $3,998,460 — against a budgeted $3,994,071. That is a difference of $4,389, or 0.11%.

But that only pins down the total, not the mix. Which plans people are actually on is entirely our guess, and every per-plan figure below moves with it. They should be replaced with real counts before anybody relies on them.

Shifting the contribution split

District saves = total premium × (the change in the town’s share)

It saves the district precisely what it costs employees. There is no efficiency in this option — it is a transfer, and the site says so wherever it appears.

splitdistrict savesemployee on the broadest plan pays nowwould paychange
72% town / 28% employee$159,938$10,988$12,306+$1,319
70% town / 30% employee$266,564$10,988$13,185+$2,198
65% town / 35% employee$533,128$10,988$15,383+$4,395

Moving employees to a cheaper plan

Saving = (the dearer annual premium − the cheaper one) × how many move, worked separately for family and individual coverage

Moving 40 employees from the broadest plan to the narrower one saves $367,806 of premium in total — $275,854 to the Town and $91,951 to the employees, who are also the ones accepting the narrower network.

The statutory giveback, which is easy to miss

Plan design changes go through the Public Employee Committee under Chapter 32B, sections 21 to 23, and 25% of first-year savings must go back to employees as mitigation. The saving in year one is therefore 75% of the headline figure:

Premium moved by shifting one percentage point                $53,313
  less the 25% statutory giveback                            −$13,328
                                                      ---------------
District keeps, in year one                                   $39,985

Our own health panel applied that and our savings tool did not, so for a while the two answered 33% apart for the same change. Both apply it now.

What we assumed, and what would settle it

  • The Town, not the school district, controls the insurance group. The schools cannot change this on their own.
  • Contribution splits are bargained with each union. A shift is a pay cut in everything but name, to staff who have already absorbed position reductions.
  • Enrollment by plan and tier is not published. The figures here move with the counts you set, and should be replaced with real ones before anybody relies on them.
  • The 9.0% growth rate is the district’s own stated assumption, not a measurement we made. Premiums themselves rose only 5.38% for FY27 — well under it — because the rate covers the whole line, including how many people enrol and at which tier, not the premium alone.
  • What would settle the per-plan figures is enrolment by plan and tier. One table that nobody publishes.

7. Free cash

A note on why this section exists at all

Everything else in this projection is built from budget figures. Free cash is the opposite kind of number — it is what is left over once the year is done, which makes it an actual.

We said at the top that the two must never be combined inside one calculation. Here is how this does not break that rule: free cash is applied as a one-time subtraction after every growth rate has already run. It touches no budget group, no growth rate, and it never carries into the next year’s base. The difference between "a growth rate measured across that boundary" and "a labelled one-time amount taken off at the end" is the whole of why this is allowed. It is checked automatically at nine different draw levels, and the build fails if enabling free cash moves anything it should not.

What goes in

figurevaluelabelsource
Certified free cash, 1 July 2025$3,354,370publishedState Division of Local Services free cash proof
Identified before deductions$3,716,282publishedThe same proof
Unspent appropriations, 2025$2,457,761publishedThe same proof, one component of it
Unspent appropriations, 2021–24 average$986,340measuredAveraged from the four prior years of the proof
Operating budget$51,189,961publishedFY26 original appropriation
Recommended range5%–7%publishedThe Town’s own FY27 budget release, quoting DLS

Three different figures are all called "the operating budget", and none of them is the same number. $51,189,961 as originally appropriated, $51,531,199 as revised at the third quarter, and $50,441,654 implied by the Town’s own published figure of 6.65%, which we cannot reproduce. No conclusion turns on the difference — every version lands inside the recommended range — but a ratio quoted to two decimal places should not rest on a soft denominator without saying so.

The recommended range comes from one document, and it carries weight. It appears once in everything we hold: the Town’s own budget release, quoting the state. We hold no state publication saying it. That matters, because at a lower threshold the same balance is above the range rather than comfortably inside it. So the caveat travels with the figure everywhere it is used.

A dating trap, confirmed rather than assumed. The state dates free cash to the 1 July on which it is certified. The Town dates the same money to the fiscal year it can be spent in. They are one year apart. Lunenburg’s three largest certified balances are 2021, 2022 and 2025; add one to each and you get exactly the three years the Town names as its good ones.

How much there is, as a share

Share = certified free cash ÷ operating budget

Certified free cash                                        $3,354,370
Operating budget                                          $51,189,961
                                                      ---------------
Free cash as a share of the budget                              6.55%

Inside the 5%–7% range, near the top of it.

What a normal year produces — the most important figure here

The question: is this balance a policy, or an event?

Hold everything in the 2025 certification constant except the one component that moved, and carry the ratio between certified and identified across unchanged.

Identified free cash, 2025                                 $3,716,282
  less unspent appropriations in 2025                     −$2,457,761
  plus unspent appropriations at their 2021–24 average        +$986,340
                                                      ---------------
Identified, in a normal year                               $2,244,861
  × the certified-to-identified ratio of 0.9026                      
                                                      ---------------
Certified free cash, in a normal year                      $2,026,212
As a share of the operating budget                              3.96%

A normal year produces $2,026,212 — 3.96%, below the bottom of the recommended range. This year’s record exists because 2025 unspent appropriations were 2.49 times the town’s own four-year average — the largest jump of the nine towns in the state’s proof:

town2025 unspent, against its own 2021–24 averageshare of its free cash that is unspent appropriations
Lunenburg2.49 times66.1%
Ayer1.44 times60.4%
Groton1.37 times23.4%
Littleton1.13 times32.9%
Westford1.13 times46.5%
Shirley1.14 times63.7%
Townsend1.31 times64.2%
Upton0.72 times22.5%
Uxbridge0.40 times11.7%

Two different measures, and they disagree in a way worth understanding. The middle column asks how unusual 2025 was for that town, and on it Lunenburg is the clear outlier. The right-hand column asks what the balance is made of, and on that Lunenburg is the highest of the nine at 66.1% — but inside a cluster, with Townsend at 64.2%, Shirley at 63.7%, Ayer at 60.4% not far behind. A balance built out of money appropriated and not spent is a different thing from one built out of revenue beating forecast, and it implies a different remedy.

What this table deliberately does not show, and cannot. The obvious question is how each town’s free cash sits against the same 5–7% range, and that needs each town’s operating budget. The state’s proof carries no denominator — no population, budget, revenue or levy for any of the nine, Lunenburg included. So Littleton’s $10,021,469 against Shirley’s $266,093 says nothing about which is closer to its own target, and a percentage-of-budget column here would be invented rather than measured. Composition is shown instead, because a share compares across towns of different size and an absolute dollar figure does not.

What would settle it: each town’s operating budget for the same years, from the state’s municipal finance databank. It is obtainable, and we have not obtained it.

The state certifies less than it identifies, and we do not hold the reason. So that gap is carried across as an observed ratio rather than explained. It is an input to the figure above, and it is measured rather than understood.

What drawing the balance down would release

Released once = certified free cash − (operating budget × share kept back)

draw the balance down towhich isreleases, once
8%above the recommended range$0
7%top of the recommended range$0
6%middle of the recommended range$282,972
5%bottom of the recommended range$794,872
4%below the range — and about what a normal year generates$1,306,772
3%well below the range$1,818,671
2%well below the range$2,330,571
1%nearly nothing held back$2,842,470
0%spend everything, hold no reserve$3,354,370

$794,872 is the headline figure — what could be redirected while the retained balance stays inside the range the Town itself quotes.

One-off against policy, and the two must never be blurred

Two completely different quantities, and running them together is the most common error in this argument:

  • **Drawing the balance down to a lower target releases the accumulated balance ONCE.**
  • **Holding it there releases the annual flow EVERY year — and that annual figure does not depend on the target at all.** A lower target does not generate more money. It releases the accumulated balance sooner, and after that you are living on the flow either way.

The flow is what a normal year produces: $2,026,212.

And here is the difficulty, which is the honest answer to "just be less conservative". The flow is produced by the underspending. Two thirds of the 2025 balance is money appropriated and not spent. Budget more tightly and you shrink the gap — and you shrink the free cash you were going to fill it with. You cannot count both.

Six years of gap under each policy:

keep in reservewhich isreleased onceplus, every yeargap remaining, one-off onlygap remaining, with the policy
8%above the recommended range$0$2,026,212$14,091,005$1,933,733
7%top of the recommended range$0$2,026,212$14,091,005$1,933,733
6%middle of the recommended range$282,972$2,026,212$13,808,033$1,650,761
5%bottom of the recommended range$794,872$2,026,212$13,296,133$1,138,861
4%below the range — and about what a normal year generates$1,306,772$2,026,212$12,784,233$626,961
3%well below the range$1,818,671$2,026,212$12,272,334$115,062
2%well below the range$2,330,571$2,026,212$11,760,434-$396,838
1%nearly nothing held back$2,842,470$2,026,212$11,248,535-$908,737
0%spend everything, hold no reserve$3,354,370$2,026,212$10,736,635-$1,420,637

Free cash against an override — a one-off against a permanent change

The clearest single comparison in this project. The same dollars, once, against the same dollars permanently.

Free cash lands in one year and is gone. An override raises the levy limit permanently, so its value in a later year = the amount × 1.025 raised to the power of the years since.

At $794,872:

FYgapfree cash appliedgap after free cashoverride worthgap after override
FY28$632,876$794,872-$161,996$794,872-$161,996
FY29$1,224,035$0$1,224,035$814,744$409,291
FY30$1,882,276$0$1,882,276$835,112$1,047,164
FY31$2,613,071$0$2,613,071$855,990$1,757,081
FY32$3,422,328$0$3,422,328$877,390$2,544,938
FY33$4,316,419$0$4,316,419$899,325$3,417,094
six-year total gapamount
Doing nothing$14,091,005
With the free cash draw$13,296,133
With an override of the same size$9,013,572

Note what this shows, and what it must not be made to say. An override of this size does not close the gap either. It grows at 2.5% while the gap grows faster, so it loses ground every year. Only a change in the cost growth rates changes the direction.

What redirecting free cash would cost the capital programme

Free cash is the capital programme’s money. Saying an amount is "available within the guideline" without saying that is half the story.

figurevaluesource
FY27 funded capital programme$1,830,203The FY27 capital plan
Planned from free cash, FY27$991,627Annual Town Meeting warrant, Article 13
Planned from taxation$244,576The capital plan, funding page
Planned from the Vehicle Use Stabilization Fund$594,000The same funding page
Average free cash into capital, ten years$591,286The plan’s own Average row
Ranked, costed, and already unfunded$1,437,005 across 10 projectsThe same plan, below the funding line

A third of the programme was never school money. $594,000 is the Vehicle Use Special Purpose Stabilization Fund, adopted at the 2017 Annual Town Meeting for vehicles and equipment and requiring a two-thirds vote. Cancelling what it pays for frees nothing for the schools. So a draw can strand $1,236,203, not the whole programme. An earlier version of this model took projects off the bottom of the full funded list and stranded a front end loader with free cash that had never been paying for it.

How that assignment is known, since no project-by-project funding table is published: the plan footnotes exactly two projects as funded from that stabilization fund, and they come to exactly the $594,000 its own funding page shows against it. That is a reconciliation, not a guess, and the model refuses to run if it ever stops tying.

restricted projectrankcost
Fire — Engine 2 - 4x4 Brush Truck (replacement)3$335,000
DPW — Front End Loader with Snow Plow (replacement, retain spare)11$259,000

The dollars are exact. Which projects stop is a range.

Two different quantities, and they are kept apart.

Dollars need no assumption. Redirect an amount and the programme is funded by that much less. There is a queue of ranked, costed, unfunded work worth $1,437,005, so no dollar removed creates slack anywhere.

Which projects stop is a claim about how the Capital Planning Committee would behave, and it is reported as a range between two behaviours:

  • Holding the ranking rigid — take projects off the bottom of the published list until the money is found. Because projects are indivisible, this overshoots.
  • Re-sequencing — drop whatever combination comes closest to the money removed.
redirectdollars outholding the rankingre-sequencingprojects stopped
$3,354,370$1,236,203$1,236,203$1,236,20310
$2,842,470$1,236,203$1,236,203$1,236,20310
$2,330,571$1,236,203$1,236,203$1,236,20310
$1,818,671$1,236,203$1,236,203$1,236,20310
$1,306,772$1,236,203$1,236,203$1,236,20310
$794,872$794,872$817,576$796,2038
$282,972$282,972$693,949$287,2545

The difference between those two columns is not a cost. It is the price of assuming projects are indivisible and the order cannot change. One rank in the middle of the list is a large roof with only a little below it, so any draw that reaches it removes the whole roof whether it needed to or not.

Nothing here establishes which of the two actually happens. We hold no instance of the committee re-ranking after a funding cut. The published ranking is evidence of preference, not of procedure.

The draw against what capital normally receives

The $794,872 ceiling exceeds the whole year’s free cash contribution to capital in 7 of the 10 years the plan’s own table covers:

FYwhole capital programmeof which free cash
FY2017$619,475$250,000
FY2018$633,317$290,019
FY2019$1,455,214$215,736
FY2020$1,684,100$582,732
FY2021$1,142,213$647,880
FY2022$1,597,825$804,041
FY2023$2,162,849$983,034
FY2024$1,039,010$467,269
FY2025$1,317,120$1,016,722
FY2026$1,225,000$655,424

That is the capital-side twin of the normal-year finding. The draw is affordable in this year and in few others.

What we assumed, and what would settle it

  • The recommended range is one sentence written by one party to the argument. What would settle it is the state’s own published guidance.
  • The normal-year figure holds every other component constant. It is a counterfactual on one line, not a forecast.
  • The certified-to-identified ratio is carried across unexplained.
  • Which departments turned the money back is not published — there is a town-wide total and no breakdown. That is the difference between a structural pattern and a run of one-offs, and we cannot tell which this is.
  • Free cash is one-time by construction, and the state’s own guidance is that it should not fund ongoing operations. Everything above is a deferral of the gap, not a closing of it.

8. Athletic fees

The most heavily corrected calculation in this project, and the section where a reader will find the most explicit statements of what we got wrong.

The question

What do athletic user fees raise now, and what fee would make the programme pay for itself?

What goes in

figurevaluelabelsource
2026-27 fee schedule$400 1st child / $300 2nd child / $225 3rd child, family cap $1,500publishedSuperintendent’s email to families, August 2026
2025-26 schedule$325 high school, $275 middle school, 25% sibling discountpublishedSchool Committee vote, 26 February 2025, by roll call
High school participations582publishedDistrict planning roster
Middle school participations109publishedThe same roster
Fee revenue actually collected, FY26$188,944.46measuredThe athletics revolving fund’s own year-end reconciliation
Mix of first, second and third children90.5% / 8.5% / 1.0%measuredCounted from the district’s own by-sport workbook. See below
Fee waivers12%oursFree-lunch families are waived. Still our estimate
Drop-off as the fee rises5% of participation per $100oursOur assumption. No local figure has ever been measured

Only high school participations can be charged — 582, not the full 691. You cannot charge a fee for a team that does not exist, and the middle school and freshman coaching line is zero in both the level-service and the adopted budget, so those teams do not run in FY27.

What the average participation actually pays

A published schedule is a set of tiers. What matters for revenue is the average across them.

Average fee = the sum, across the tiers, of (that tier’s fee × the share of participations paying it)

$400 for a 1st child, at 90.5% of participations              $362.08
$300 for a 2nd child, at 8.5% of participations                $25.35
$225 for a 3rd child, at 1.0% of participations                 $2.32
                                                      ---------------
Average fee per participation                                    $390

The family cap does not bite. Three children at the current tiers comes to $925, under the $1,500 cap, so only a fourth participating child would reach it.

What the fund actually collected, and the correction it forced

This is the important part, and it is a correction to our own arithmetic.

What our model produces for FY26                             $176,233
What the fund reports collecting, gross                   $194,609.45
  net of refunds                                          $188,944.46
                                                      ---------------
The model produces less than the fund collected, by        $12,711.46
  as a share of what the fund collected                         6.73%
  as a share of what the model produces                         7.21%

What the receipts imply each participation paid, against the rate the School Committee voted for that year:

gross receiptsparticipationsimplied per participationthe rate that was voted
High school$167,511.49533$314.28$325
Middle school$27,097.96116$233.60$275

Both sit under the voted rate, and that matters, because this project used to say they did not. When we priced FY26 on the previous year’s schedule — a right number from the wrong year — the implied rates came out above the undiscounted fee, which is arithmetically impossible, and we treated that as proof that a count somewhere was wrong. Correcting the fee to what was actually voted removed the impossibility. Nothing about the fund’s figures changed. Ours did.

What remains is an ordinary disagreement, and it is not settled. Our assumed waiver rate discounts the published schedule by a little more than the receipts imply. Fewer waivers, participations undercounted, or sport surcharges outside any schedule we hold — ice hockey and skiing normally carry them — all fit the same figures.

So the model is anchored to the measurement rather than corrected to it, and the adjustment is named rather than buried. Anchoring on what was actually collected is right, because it is the only observed figure. Carrying that adjustment forward to a fee this town has never charged is an assumption, and it is labelled as one everywhere it is used.

The two explanations imply different answers, so both are carried:

readingwhat it assumeshow revenue behaves as the fee rises
CautiousThere are surcharges outside the published scheduleA surcharge does not rise when the base fee rises, so the difference stays a fixed amount
GenerousThe chargeable base is larger than we thinkThe difference grows in proportion with the fee

Both reproduce FY26 exactly, by construction. They separate as the fee rises, and the cautious one is what the site leads with.

The sibling mix was invented, and is now counted

The clearest example in this project of an assumption being retired rather than defended, so the whole path is set out.

What it was. 70% 1st child / 25% 2nd child / 5% 3rd child — declared openly as ours, and supported by nothing. Searching every document in the meeting archive finds the word "sibling" in two of them, and the only athletics one is the School Committee vote of 26 February 2025, which sets the discount rate at 25% and says nothing about how many participations receive it. Those are different quantities — how much comes off, against how many people get it — and the closeness of the two figures is the likeliest explanation for where the estimate came from. That is a hypothesis, and nothing here tests it.

What it is now. The district’s own by-sport workbook, obtained by records request, records the fee category of every participation, and those categories add up to its own total — so it is this quantity exactly, not a substitute for it.

categoryparticipationsshare
Full pay99378.44%
2nd sibling1078.45%
3rd sibling131.03%
Reduced fee201.58%
Full waiver13310.51%
Total1,266

Coverage, stated rather than implied. 46 sport-years and 1,266 participations — meaning every sport, in every year, whose fee categories add up to the total the workbook itself prints for that sport. Rows that do not add up are left out, because where they disagree there is no way to tell which figure is wrong. Three reasons they disagree, and only the first would be ours to fix:

  • The workbook mixes units. One sheet’s total row multiplies the counts by the fee and prints dollars, while the rows above it are counts of children. A few individual entries carry dollars in a column that otherwise holds counts.
  • Some of its totals are off by one against the rows above them.
  • The 2025-26 fee-category columns are empty throughout, which is why a separate one-page count sheet had to exist at all.

Every one of those mismatches is published rather than hidden or quietly repaired, because those totals are wrong in the source document, and that is a fact about the document rather than a defect in our reading of it.

Two sources, two different years, one answer. The workbook covers FY2024 and FY2025. The one-page count sheet covers FY2026, the year the workbook leaves blank. They are consecutive readings rather than a check on each other:

sourceyeartook a sibling discountreceived a full waiver
By-sport workbookFY2024–FY20259.5%10.5%
One-page count sheetFY20266.9%13.3%
What we used to assume30%12%

The waiver estimate survived. The sibling one did not. One invented figure turned out close, and the other was out by roughly a factor of four.

Why correcting it moved the published figures less than you would expect. The fee model is anchored to what the fund actually collected, so raising what the model produces lowered the adjustment by nearly as much, and the two offset. Revenue at today’s fee barely moved; the average fee moved several percent. That is exactly why an input wrong by a factor of four survived as long as it did — nothing in the output looked wrong. The figure that did improve is the unexplained difference, which is the thing the adjustment represents.

What it still does not establish. Two years, neither of them the year the current fee schedule applies to. If the new schedule and the larger family cap change how many families enrol a second child, this mix moves and nothing here would show it.

What happens as the fee rises

Raising a fee raises more per family and prices some families out, so revenue rises, peaks, and then falls.

Revenue = fee × chargeable participations × (1 − the waiver rate) × the share who stay where the share who stay = 1 − (the increase ÷ $100) × 5%

fee per seasonrevenue, cautious readingrevenue, generous reading
$390$212,454$214,144
$500$254,008$259,443
$700$313,684$324,785
$900$352,873$368,163
$1,100$371,576$389,577
$1,300$369,793$389,028

Revenue peaks at about $1,185 a season and roughly $373,322. Anything above that is unreachable at any price, which is the most useful single thing this curve says.

What self-funding would take

The adopted budget funds $217,908 of athletics and no athletic transportation at all. Put the $127,550 of buses back — a team that cannot reach an away game is not a team — and the cost of fielding these teams is $345,458.

targetcovered at today’s feefee that would cover it
The adopted budget, no buses97.50%$400–$405
With athletic transportation restored61.50%$785–$855

Two figures rather than one, because the data cannot say which reading of the collection difference is right, and a single number on a page asking families to pay it would be a false precision.

What we assumed, and what would settle it

  • The waiver rate is still ours. Free-lunch families have the fee waived; the district does not publish how many.
  • The drop-off as fees rise is ours. No local figure has ever been measured. It is a shape, not a finding.
  • **The adjustment carries a measured FY26 difference forward to fees this town has never charged.** That is the largest assumption in this section.
  • The sibling mix is no longer ours, but it is measured over two years that are not the year the current schedule applies to.
  • A budget line is not what athletics costs. The district published athletics against the revolving fund once, for FY19. In FY26 the general fund and the fund together came to $665,245.44, of which the fee-funded fund paid 22.08%. The fee figures here are modelled against the general fund programme because that is what the district publishes — which makes them a floor rather than the cost.
  • **What would settle it: participation counts by fee category for the current year, and the revolving fund’s own ledger by object code.**

9. The other savings and revenue options

Each control on the site is one of four shapes, and the shape decides the arithmetic.

shapehow it is worked outused by
A feeThe curve in Section 8, with its own drop-off rateAthletics, buses, activities
A contribution splitThe premium moved, less the statutory givebackHealth insurance
A percentage of a lineThat share of the line, cappedTechnology
A list of named positionsThe sum of the ones actually chosenAdministration

Fee options are not interchangeable. A bus rider stops paying sooner than an athlete does, so the drop-off differs between them.

Every option, its base and its ceiling

optionkindbase (people, or dollars)base ismost it can raise
Athletics user feesrevenue582$345,458
Band, music & club feesrevenue375ours$106,244
School bus feesrevenue420ours$1,053,360
Health insurance — employee sharesaving$5,331,280$599,769
Administrationsaving$2,116,910$736,468
Software, licenses & devicessaving$638,675$383,205

The ceiling is the point of that table. Every one of these is bounded, and several are bounded well below the thing they are meant to pay for. General education transportation costs $1,053,360 and bus fee revenue peaks near $146,006. Special education transportation, at $649,953, cannot be charged for at all.

Two of the bases are ours and are placeholders — how many students take part in activities, and how many ride the bus. The district publishes neither. Any figure resting on them moves with counts nobody has confirmed, and the site marks them.

Administration, and why it is a list rather than a percentage

A percentage of administration is not a decision anybody can take. Nobody votes to reduce administration by a percentage. They vote to stop funding a Human Resource Specialist, or they do not. So this is a list of real budget lines from the adopted FY27 budget, ordered from what a district can genuinely absorb to what it legally cannot give up.

The amounts are the district’s. The ordering is ours, and it is stated as such.

Administration, every line                                 $2,633,246
  as a share of the school appropriation                         9.9%
  of which central office                                  $1,040,389
  of which the four principals’ offices                    $1,183,773
                                                      ---------------
Positions a lawful budget could cut (14 of 21)               $736,468
  as a share of all administration                                28%

The positions that cannot lawfully be cut are shown anyway, and flagged. A superintendent, a business manager, a special education administrator and four principals are roles the Commonwealth requires. Refusing to show what cutting them would save reads as evasion rather than rigour, and "what would that even save?" is a question a resident is entitled to an answer to.

One deliberate omission. The two technology lines that sit inside administration belong to the technology option and are not counted here. Counting a line in two places is how a model quietly closes the same gap twice.


10. What happens if the gap is closed by cutting

How it works

Each year, programmes are cut from the bottom of a priority ranking upward until that year’s gap is closed. A cut permanently reduces the salary base, so it also lowers every later year’s cost.

That last point is the whole lesson. A cut lowers the cost curve once and the curve then climbs at exactly the rate it was climbing before. The money saved never gets its raise either — and the gap still grows.

The four rankings

rankingwhat it is
School Committee's revealed prioritiesThe order Lunenburg itself sacrificed things across its own four FY27 scenarios. Athletics and arts went first; special education, mandated services and classroom teachers were defended longest.
What comparable districts actually doObserved sequence across Easthampton, Bridgewater-Raynham, South Hadley, Groton-Dunstable and Winchester: revenue levers and non-personnel first, then enrichment, then support staff, then classroom teachers last.
What we’d doEarly literacy first, because it is the one loss that cannot be made up later. Classrooms next, because class size is what makes families leave. Athletics and arts sit at the bottom NOT because they matter least, but because they are the only things here that can pay for themselves — fund them with fees and they never reach the cut line at all.
Academics above allProtect instruction and advanced coursework at any cost to everything else. Shows how far enrichment alone can carry you -- and where it stops.

Worked below with School Committee's revealed priorities — the order Lunenburg itself sacrificed things across its own four FY27 scenarios, which is a revealed preference rather than a stated one.

The gap column here is not the gap column in Section 1. There, each year assumes nothing was ever done. Here, each year is what remains after every earlier year has already been cut — which is why the figures are so much smaller. That difference is the whole argument for acting early rather than late.

FYshortfall that year, after earlier years have been cutcutcumulative positions loststill unclosed
FY28$632,876$641,5232.9
FY29$556,851$603,2873.9
FY30$560,986$793,80614.7
FY31$413,372$433,12918.2
FY32$684,187$777,68722.2

Where the cutting stops, which is ours

What actually happens in the model: any programme we have classified as legally mandated is skipped entirely. It appears in the year’s list, marked as blocked, and its money never counts toward closing the gap. There is no partial cut of a mandated programme — it is all or nothing, and it is nothing.

A cascade has to stop somewhere, so we made it stop. No document we hold establishes a legal minimum for any of these programs.

Between the FY26 and FY27 budgets the district cut ten special education lines totalling $224,049 — including an entire Elementary School Psychologist, from $98,784 to nothing. Cutting a service that is still owed does not save the money. It moves the cost somewhere a budget cannot see it.

So the honest statement is not "here is the floor". It is that every year the district has taken a little more out of something it is legally obliged to provide, and nobody has established where that stops.

What we assumed, and what would settle it

  • The programme list is partly ours. Some entries are priced from the district’s own cut and restoration lists. Some are our estimates, and the site marks which.
  • The rankings are preferences, not forecasts. Three of the four are reconstructions of somebody’s revealed order; one is explicitly what we would do.
  • Cutting a service that is still legally owed does not save the money. It moves the cost somewhere a budget cannot see it, and nothing in this model can follow it there.

11. The tax base, new growth, and overrides

Everything a resident meets on their own bill.

What goes in

figurevaluelabel
FY26 tax rate, single rate$14.39 per $1,000published
FY26 levy$35,819,996published
Total taxable value$2,489,228,353measured
Residential share of value91%published
Commercial, industrial and personal9%published
Average single-family value$517,296published
Average tax bill$7,444published
Chapter 70 aid, FY27$9,349,335published
District enrollment1,581published

Total taxable value = levy ÷ tax rate × 1,000

It is not read off an assessment report. It reproduces the Assessors’ own class totals closely, but it is a calculation rather than a transcription.

What one student costs the levy

School appropriation                                      $26,572,288
  less Chapter 70 aid                                     −$9,349,335
                                                      ---------------
Raised locally                                            $17,222,953
  ÷ 1,581 students                                                   
                                                      ---------------
Local cost per pupil                                          $10,894
                                                      ---------------
Schools as a share of the omnibus budget                       53.18%
School share of the average tax bill                           $3,959
                                                      ---------------
Average homes needed to educate one child                        2.75

It takes about 3 average homes, in school-tax terms, to educate one child. That is the arithmetic behind why residential development does not pay for itself and commercial development does.

New growth

New growth is permanent. Value added to the tax rolls is added to the levy limit at the prior year’s rate, and it stays there and grows at the cap thereafter.

Revenue = new taxable value × $14.39 ÷ 1,000 So $1,000,000 of new value = $14,390 a year, permanently

The town budgets $400,000 of new growth a year, which implies about $27,797,081 of new taxable value being added annually, most of it residential.

The correction that halved this answer

The schools do not receive a levy dollar. New growth is added to the town’s levy limit. The schools then receive their share of the town’s total available revenue. Comparing gross new-growth revenue against the school gap — as this tool once did — credits the schools with money that goes to the fire department, and roughly doubles what commercial development appears to be worth.

A dollar added to the town’s levy limit                         $1.00
  of which reaches the schools                                  $0.54
                                                      ---------------
FY28 school gap                                              $632,876
  levy needed to close it                                  $1,174,529
  new taxable value needed, in one year                   $81,621,175

The same requirement, in buildings

Abstractions do not survive a public meeting, so the same figure is expressed in things a town actually permits.

unitassessed valueneeded to close the FY28 gap in one year
An average existing Lunenburg business$658,00167 of them
A typical mixed development$3,005,00014.6 of them
The town’s entire recent annual new growth$17,348,8532.5 times it

67 average businesses is 29% of every business in town — there are 234, per the 2024 Census Business Patterns — added in a single year, and again the next year, because the gap grows.

The development values are ours, order-of-magnitude estimates rather than Lunenburg assessments, and the site lets you change them. They exist so that people can reason in buildings rather than in millions. The one figure that is not ours is the average existing business: $153,972,120 of commercial, industrial and personal property across 234 establishments, from the tax rolls.

Does new growth lower my tax bill?

Almost not at all, and the arithmetic says why. New growth adds revenue and taxable value in nearly the same proportion, so it barely moves the rate. The town levies essentially to its maximum every year — excess capacity has been single-digit thousands — so the levy rises by the cap plus new growth, and the rate is whatever satisfies levy divided by value.

Tax rate = levy ÷ total taxable value × 1,000

new commercial valuerate without itrate with iteffect on the average billrevenue raisedshare of the FY28 gap
$5,000,000$14.7498$14.7490-$0.36$71,95011%
$15,000,000$14.7498$14.7476-$1.14$215,85034%
$30,000,000$14.7498$14.7455-$2.22$431,70068%

The benefit of commercial growth is not a lower rate. It is a bill that rises more slowly than it otherwise would, because the alternative to new growth is an override or a cut.

Overrides

A Proposition 2½ override raises the levy limit once, permanently. The base then grows at 2.5% a year like the rest of the levy.

Cost to one household = the override amount ÷ total taxable value × that home’s value

An override covering the whole FY28 school gap               $632,876
  cost to the average home, per year                          $131.52
                                                      ---------------
The same, if the question is town-wide rather than school-only       $1,174,529
  cost to the average home, per year                          $244.08

A general override has to be about 1.9 times the size to do the same work for the schools, because the schools receive only 53.88% of a levy dollar.

How much a new override would have to raise, every year

Residents hear "an override fixes it" and reasonably assume one ballot question. What the arithmetic asks for is a new one every spring. This is the amount by which the gap grows in each year beyond what last year’s gap would have grown to on its own — the fresh hole, over and above the one already there.

Fresh gap = this year’s gap − (last year’s gap × (1 + the town’s revenue growth))

FYtotal gapthe fresh part of ittown-wide question needed to raise that
FY28$632,876$632,876$1,174,529
FY29$1,224,035$570,844$1,059,406
FY30$1,882,276$619,219$1,149,183
FY31$2,613,071$671,164$1,245,586
FY32$3,422,328$726,998$1,349,206
FY33$4,316,419$787,006$1,460,572

Each town-wide question is about 1.9 times the fresh school gap, because the schools receive only a share of a levy dollar.

One warning about how overrides are often modelled, including by us. It is easy to build a projection in which an override passes every year. That is a different and much rarer thing than one ballot question, and it overstates the effect by roughly the number of years projected. The figures on the site use the one-time model, which is what a ballot question actually does.

What we assumed, and what would settle it

  • The development values are ours. The 91% residential share, the rate, the levy and the average bill are the town’s own published figures.
  • Total taxable value is calculated, not transcribed.
  • The town levies to its maximum. True in every year we hold. Not a law.
  • New growth is assumed flat at $400,000. The Assessors’ own series runs from $481,496 in FY2018 to $234,383 in FY2023 — not every year down, but ending well below the assumption. And every commercial class shrank in absolute dollars in the most recent year we hold. This is the assumption most likely to be optimistic.

12. Every assumption, what it is worth, and what backs it

If you want to argue with this projection, start here. A projection is assumptions — the question is never whether a figure is assumed, but whether the assumption is warranted and whether anything better is available.

This is the whole list, sorted by how much each one moves the answer, so an argument can start where it matters rather than where it is easiest. The effects are the change in the gap from moving that one assumption and nothing else. They are produced by running the real projection twice, not estimated.

assumptioncurrentlymoved byFY28 gapFY33 gapgradewhat backs it
Levy growth2.50%+1 point−$183,923−$1,314,411givenProposition 2½. Fixed by statute
Salary growth4.00%+1 point+$134,097+$1,002,730givenThe teachers’ agreement — scale increases plus steps
State aid growth2.75%+1 point−$63,992−$450,570derivedThe median annual step in the town’s own Subtotal State Aid line across 23 consecutive budget years, FY2005–FY2027 — see below
Special education, in district6.49%+1 point+$54,662+$459,768derivedTwo contracts and two measured trends, weighted by share — Section 4, with the trend tests and a five-point range published beside it
New growth per year$400,000+$100,000−$53,883−$344,193givenThe town’s own FY27 estimate — though its own series has been falling, Section 11
Health insurance9.00%+1 point+$40,191+$379,645givenThe district’s own stated assumption for FY27
Local receipts growth1.00%+1 point−$18,902−$122,189BARENothing. No stated source and no derivation — see below
Everything else3.00%+1 point+$17,721+$126,288givenThe district’s own stated assumption for FY27
Transportation6.00%+1 point+$10,534+$86,598judgedThe district assumed 10%. This is softer, and ours, and rests on no trend test
Out-of-district tuition0.00%+1 point+$7,002+$43,073derivedHeld flat because eleven budgets show no trend — Section 5. The risk is priced as scenarios instead
Utilities5.00%+1 point+$6,055+$47,486givenThe district’s own stated assumption for FY27
grademeans
givenSomebody else’s figure — a contract, a statute, or a number the town or district published. We transcribed it.
derivedWe calculated it from their data, and the calculation is set out in this document with its own test.
judgedOur estimate, with a stated argument behind it.
BAREA number with nothing behind it. Argue with these first — so do we.

The one with nothing behind it

Local receipts are assumed to grow at 1.0% a year. That figure has no stated source and no derivation. Every other rate in this model now carries one, and we are naming this one rather than waiting for somebody else to.

State aid used to sit here beside it, and no longer does. It was 2.0% with nothing behind it. It is now 2.75% — the MEDIAN annual step in the town’s own Subtotal State Aid line across twenty-three consecutive budget years, FY2005 to FY2027. That series is like for like with what this rate is: a forward estimate of the whole cherry sheet, not of Chapter 70 alone. Mixing those two is rule 1’s error and it is the reason the rate went unexamined for so long — the only measured series anybody had was Chapter 70 receipts, actual to actual, which may not be differenced against a budgeted total.

The median rather than the compound rate, because the compound rate is carried by four policy step-years of +10% or more and projecting it forward assumes a legislature. Confidence is moderate, not high: Chapter 70 is most of this base — about $9,349,335 of a $26,572,288 school budget — and it is a FORMULA whose inputs move independently, not a trend. Nothing tests whether its next five years resemble its last five.

It remains the largest revenue lever here. It is worth $63,992 of FY28 gap for every point it moves — larger than the entire transportation growth rate by a factor of 6.

What changing it made visible is the part worth reading. The revenue wedge is frozen, and most of it is cherry sheet assessments — which have been falling. So the frozen wedge is conservative rather than optimistic, and the old 2.0% had been doing double duty as a rate net of assessments. That was invisible while the aid rate itself was unexamined, which is what a dominant assumption does to the ones underneath it.

Assumptions that do not affect the projection

These move individual pages rather than the gap. Every one of them is ours.

assumptioncurrentlyaffectsstanding
Sibling mix in athletics9.5% take a discountEvery fee figure, Section 8no longer an assumption — counted over 1,266 participations
Athletic fee waivers12%Every fee figure, Section 8still ours; two counts put it at 10.5% and 13.3%
Drop-off as fees rise5% per $100The fee curve, Section 8no local figure has ever been measured
Health enrolment by plan and tier194 enrolleesThe per-plan figures, Section 6the total reconciles to the budget; the mix is ours
Development valuesorder of magnitudeThe buildings-per-gap figures, Section 11ours, and editable on the site
Cut priority ordersfour rankingsWhich programme falls, Section 10preferences, not forecasts

The pattern worth naming. How well an assumption is supported tracks how much it matters, almost everywhere in this model. The four largest levers are a signed contract, a statute, the district’s own figure, and the one rate we derived over ten budgets with its test published beside it. The weakly founded assumptions are mostly small ones. There are two exceptions, and they are named above: state aid, which is large and bare, and — until it was corrected — the sibling mix, which was small and wrong.


13. How this is checked

Every claim above is checked by something that runs automatically, because this project’s own history is of checks that existed and were never run. The commands are in Appendix A. What they prove is here.

what is checkedwhat it proves
Budget figures never meet actual spendingNo part of the projection reads a column of actual spending. The build fails if one ever does.
Free cash stays outside the growth ratesEnabling free cash at nine different draw levels moves nothing except the free cash figures themselves.
The assumptions against historyEvery growth rate compared with what that line actually did, budget to budget.
The expense base rebuilds the appropriationThe line items add back up to the published school appropriation, within rounding.
Every source document is presentEverything catalogued is actually there and downloadable.
This document is not staleIt is regenerated and compared. A stale copy fails the build.
The published figures on the site match the modelThe site is rebuilt and the figures it serves are compared against the model that produced them.

Three checks that refuse to publish rather than warn

  • The capital plan extract must reproduce the plan’s own printed average, for free cash into capital and for the whole programme. It was two rows short of that for a while and nothing noticed, because the average printed beside it had been typed in rather than calculated.
  • **The restricted capital projects must come to exactly what the plan’s funding page shows against that fund**, and the rest must come to free cash plus taxation. Both are checked before anything is calculated from them.
  • The town ledger extract must tie to the report’s own grand total. It once silently dropped 16 of 67 departments, because the accounting system prints a zero as ".00" and our pattern expected a digit before the decimal point. $4,074,773 of revised budget was invisible for weeks, including a $2.4 million assessment. Nothing caught it because nothing compared the extract against the total the report itself prints. It does now, and it refuses to save if it does not tie.

The general lesson, and the reason this section exists: any instrument that reformats a document before you read it is part of the finding, and has to be checked like one.


14. What none of this can tell you

Some figures would settle more than any amount of further analysis. They are not published, and no arithmetic on what is published substitutes for them.

  • A count of out-of-district special education placements by year. Dollars cannot distinguish fewer children from a more honest estimate. Section 5 rests on this.
  • How grants and state funding map onto the budget lines. The budget shows the general fund and nothing else, so a line rising because a grant ended looks exactly like a line rising because the district grew. **This is the one that carries the most weight**: the special education growth rate in Section 4 rests on a paraprofessional line, and it cannot currently be distinguished from grant money unwinding. The state’s End of Year Financial Report would answer it.
  • Whether budgeted positions were actually filled. A budget line is an intention.
  • Health insurance enrolment by plan and tier. Section 6 is calibrated to a total and guesses the shape.
  • Athletic participation by fee category for the current year, and the revolving fund’s own ledger by object code.
  • FY26 year-end figures. Everything we hold for FY26 stops at 31 March 2026.

And the two mistakes this document exists to prevent

An explanation is not a measurement. A number calculated from the data is a fact. An explanation for why that number moved is a hypothesis, however obvious it feels, and it has to be labelled as one every time. Dollars are not students. A budget line is not a filled position. A count of documents is not a count of decisions. Where the actual quantity is not published, the honest sentence is that we cannot say — not a number inferred from something adjacent to it.

Quote the source, never your own rendering of it. Every serious error in this project has had the same shape: something we derived got quoted as though it had been observed. Not invented — derived, which is exactly why it survives review. A tidy table is for reading, never for quoting. If you cannot point to the page or the cell, you have not checked it.


Appendix A — For anyone reproducing the arithmetic

Nothing in this appendix is needed to follow the argument. It is here so that somebody who wants to rerun any figure above can find it.

Where each section is built

sectionbuilt byfrom
1, 2, 3 — the projectionmodel/finance.pysources/data/lps-budget-lines.csv
4, 5 — special educationmodel/sped.pythe same file, plus the budget history extracts
6 — health insurancemodel/health.pythe Town’s open enrolment notice
7 — free cashmodel/freecash.pysources/state-dls/, sources/data/capital-plan-fy27.csv
8 — athletic feesmodel/athletics.pysources/town-ledgers/account-details/, sources/data/athletics-by-sport.csv
9 — the optionsmodel/levers.pythe FY27 line-item budget
10 — the cut cascademodel/cascade.pymodel/catalog.py
11 — tax base and overridesmodel/taxbase.pythe FY2023 Tax Classification Hearing
12 — the assumption registerthis scriptthe live model, run twice per assumption

Rebuilding and checking

python3 model/export.py                          regenerate the site’s data file
python3 scripts/build_show_your_work.py           regenerate this document
python3 scripts/build_show_your_work.py --check   fail if this document is stale
python3 scripts/audit_provenance.py               budgets never meet actuals, free
                                                  cash stays inert, and both of the
                                                  above are fresh
python3 scripts/backtest_rates.py                 assumptions against history
python3 scripts/build_source_index.py             every source present, catalogued
python3 scripts/verify_athletics.py               the athletics analysis, recomputed
python3 scripts/verify_free_cash.py               the free cash analysis, recomputed
npm run check:agents                              the live site matches the model

The data, published directly

Everything the site computes is available as files, without going through the pages:

filewhat it holds
/data/model.jsonevery figure the site computes, including which are ours and which are published
/data/budget-lines.csvthe district budget, line by line, every year and scenario
/data/sped-lines.csvevery line counted as special education, and which rule caught it
/data/ood-tuition-history.csvout-of-district tuition, FY17 to FY27
/data/free-cash-proof.csvthe state’s free cash proof, nine towns, 2021–2025
/data/rate-register.csvevery rate this project knows about, with the year it applies to and the document that set it
/data/athletics-by-sport.csvthe district’s own by-sport workbook, tidied
/data/sources.jsonthe whole document archive, with a checksum for each file

Appendix B — The interactive tools, and why they agree with this

Two pages on the site let you move the figures yourself: one that adjusts the growth rates, and one that models redirecting free cash away from capital projects.

Both have to respond instantly to a dragged control, which means the arithmetic is written a second time, in the language the browser runs. The same rule implemented twice is a discrepancy waiting to happen, and this project has been caught by exactly that before.

So each of them checks itself against the published model every time the page loads, and shows a visible warning in the interface if the two ever disagree. The rate page compares its projection year by year against the model’s and fails on a difference of more than a dollar. The capital page compares its answer against the model’s at every draw level the model publishes.

One of those checks existed as an uncalled function for months. A check that does not run is not a check. Both now run on load, and both are also verified against the live site after every deployment.


Where to go from here

forsee
The conclusions this arithmetic supportsthe analyses on the site
Every source document, with its address and a checksum/sources
Every rate, with the year it applies to and who set it/rate-register
What this project knows it does not knowSection 14 above

Every figure in this document is generated from the model that produces the site. If a number here disagrees with a page on the site, one of the two is stale — and if a number here disagrees with a source document, the source document is right.

Where this came from

Nothing on this page is an official document. It was written here, from documents the town and district published and from records obtained by request, and it has not been reviewed or endorsed by the Town of Lunenburg, the School Committee, the Finance Committee or Lunenburg Public Schools. The report index says the same thing at more length, and lists every analysis alongside the data underneath it.

This page renders the document itself, which is the source of truth: there is one copy of every sentence and every figure here, not a transcription of one.

What changed

Version 14 — updated September 7, 2026