Analysis: Town and Schools
The One Big Report
9 subjects, each opening with the figure that matters most and building down into the context — 32 figures from the model and 62 conclusions from 16 reports, arranged, not restated.
lunenburgbudgetproject.org — written by the Lunenburg Budget Project, an independent tool for residents. Not affiliated with the Town of Lunenburg, the School Committee or the school district. The data this page is computed from: /data/one-big-report.json
Section 1 is a projection, not a record — the model’s growth rates run forward from the FY27 budget. Everything after it is recorded.
1. The hole, and what fixes it
The context
| $632,876 | short in FY28 | 2.9 positions cut; Student Device Refresh & Computer Leases · Remaining Athletics Program (all sports) · High School Band & Chorus Program |
| $556,851 | short in FY29 | 1.0 positions cut; Building Maintenance Contracted Services · Instructional Technology Contracts (per school) · Grounds Maintenance & Supplies |
| $560,986 | short in FY30 | 10.8 positions cut; Advanced Placement & Upper-Level Electives · Library Staff & Materials — all four schools · Middle School Exploratory & Elective Block |
| $413,372 | short in FY31 | 3.5 positions cut; Guidance Counselors (1.0 reduction) · 1.0 Reading Specialist — Primary · Social Workers (1.0 reduction) |
| $684,187 | short in FY32 | 4.0 positions cut; 52 Ignite Tutoring Seats — Primary · Classroom Instructional Materials & Workbooks · 1.0 Reading Specialist — Turkey Hill |
| 5.18% | costs grow a year | blended across every line, at the model’s rates |
| 2.5% | the levy grows a year | Proposition 2½, before new growth |
| 92% | of the excess is three lines | health insurance, in-district special education, salaries — none set by the School Committee |
| 0.97 pts | Health insurance | 15% of spending, growing 9.0% a year — the Town buys the insurance |
| 0.81 pts | Special education, in district | 20% of spending, growing 6.5% a year — each child’s plan, and the law |
| 0.74 pts | Salaries | 50% of spending, growing 4.0% a year — bargained with the unions |
| 0.14 pts | Transportation | 4% of spending, growing 6.0% a year — contracted |
| 0.06 pts | Utilities | 2% of spending, growing 5.0% a year — the market |
| 0.03 pts | Everything else | 7% of spending, growing 3.0% a year — the School Committee |
| -0.07 pts | Out-of-district special education | 3% of spending, growing 0.0% a year — state rates and which children enrol |
| $69.5M | of new taxable value for $1M a year | 23.1 typical developments at once; 2.8% of the town’s value added |
figures: the model
2. Who lives here
1,979 ± 309 residents are 65 or over — 16.8% of the town, on a five-year sample.
A group about the size of the 1,568 children in the schools, and measured far less exactly.
Details
The count is a sum of twelve age cells, so its margin is the root of the sum of their squares, and the interval it describes runs from 1,670 to 2,288. The enrolment figure beside it is a DESE count of children rather than a sample estimate, which is the difference this whole page turns on: 1,568 means exactly that, and this does not.
What it rests on Census Bureau, American Community Survey five-year estimates, table B01001, 2019–2023, for Lunenburg town; DESE enrolment for the latest published year.
What it does not show Nothing about what this group wants, can afford, or how it votes. An age is an age.
Behind it
1,477 ± 198 of 4,529 households have a child under 18 — 32.6% of them.
The rough claim heard in town, that schools serve about a third of homes, is fair on this measure.
Details
This is a CEILING on homes with a child in the Lunenburg public schools rather than that figure: it counts children at Monty Tech, at private and charter schools, and children not yet of school age. The share carries a margin of 4.0% in its own right, so about a third is the honest reading and any exact fraction is not.
What it rests on Census Bureau, American Community Survey five-year estimates, table B11005, 2019–2023, for Lunenburg town.
What it does not show Which households have a child in the town’s own schools. Nothing published joins a child to a household to a school, and that is a registered gap.
A household headed by someone 65 or over has a median income of $72,935 ± $8,677.
That is 56.5% of a 45-to-64 household’s $129,183 — the gap under the “fixed incomes” argument.
Details
Two medians of two different sets of households in the same five years. It is not one household’s income falling as it ages, and it says nothing about savings, equity or a tax bill — none of which this archive holds by age at all. The under-25 band is published as a sentinel in both releases and is not a figure.
What it rests on Census Bureau, American Community Survey five-year estimates, table B19049, 2019–2023, for Lunenburg town.
What it does not show What any household can afford. Income is not wealth, and no record here joins a property tax payment to the age of the person paying it.
81.3% of occupied homes are owner-occupied — 3,682 households.
A rise in the levy reaches most households as a bill they receive, rather than through a rent.
Details
The remaining 847 ± 189 homes are renter-occupied. A renting household pays property tax through its rent rather than on a bill, which is a different thing to experience and the same thing to fund; nothing here measures how much of a levy increase reaches a rent, or how fast.
What it rests on Census Bureau, American Community Survey five-year estimates, table B25003, 2019–2023, for Lunenburg town.
What it does not show What any household pays. Tenure is not a tax bill, and the town publishes no split of the levy by who pays it.
Ordinary income for Massachusetts, and 310 of 318 districts on spending for each pupil.
Both are true at once, and this town has not had the two put side by side before.
Details
Lunenburg’s median household income ranks 167 of 350 Massachusetts municipalities — and 205 of them have an income interval that overlaps this town’s, so the rank is arithmetic and the band is the finding. On spending for each pupil the town sits in the bottom quarter of Massachusetts districts in 17 of 17 measured years. The two are not the same kind of rank: one is municipalities on a sample estimate with a margin, the other is districts on a figure DESE computes from returns.
What other districts spend, for each pupil →
What it rests on Census table B19013 for every Massachusetts municipality, 2019–2023; DESE’s all-district per-pupil expenditure, every published year.
What it does not show Any relation between the two. Nothing here establishes what a town of this income should spend for each pupil, and the two ranks are drawn over different sets.
Only 3 of 15 things the Census measures here changed by more than the survey’s own noise.
As far as the Census can tell, the town barely changed in five years; most quoted changes are noise.
Details
The windows are 2014–2018 and 2019–2023, which do not overlap — consecutive ACS releases share four years of sample and may not be differenced at all. What survives: Population; Households; Median income, householder 65 and over. Everything else, including the share of residents 65 or over and the share of households with a child under 18, moved by less than the combined margin of its own two estimates, which is not a change.
What it rests on Census Bureau, American Community Survey five-year estimates, tables B01001, B11005, B19049 and B25003, the two releases side by side.
What it does not show That nothing changed. A difference inside the margin is one this instrument cannot see, which is not the same as one that did not happen.
The context
| 23% | of residents are under 18 | 2,736, ± 3.6 points |
Lunenburg by the numbers — who lives here · figures: the model
3. The students
1,568 children, 319 fewer than the FY2003 peak — and the fall stopped in FY2015.
Since FY2015 it has stayed between 1,557 and 1,649. Smaller than it was; not still shrinking.
Details
The argument in town assumes enrolment is falling. It fell — 17.5% from FY2003 to FY2015 — and then it stopped. The peak was FY2003 at 1,887. The low was FY2015 at 1,557. Every year since has been within 92 of that low, and FY2026 is 1,568. A budget built on a falling headcount is built on a decade-old trend.
What a smaller school does and does not save →
What it rests on `dese_enrollment`, Lunenburg district rows, total_cnt, FY1994–FY2026; every row from FY2003 has its grades summed to its total, and the three earlier rows are marked `no check`.
What it does not show Why. Births, moves, school choice and Monty Tech all change this count and this file separates none of them. And it is one day a year: a child who arrives in November is not here.
20.5% of eighth graders do not come back for grade 9; every other grade loses 3.0% to 6.4%.
A rate for each grade, not a share of leavers — and the highest in all 17 years measured.
Details
Residents keep asking which grades children leave in. It is one grade, it is the same grade every year, and the step it sits at is the move from the middle school to the high school. Averaged over the whole file the grade 8 rate is 3.2 times the next highest grade, and it is the highest grade in every single year measured — through a school closing, a new building opening and a pandemic. Applied to the town’s own eighth grades that is about 27 children a year and roughly 452 in total. Those counts are IMPLIED — DESE publishes the rate and the enrolment, and this page multiplies them.
Where the town’s children are → · What Monty Tech costs the town →
What it rests on `dese_attrition`, Lunenburg’s district rows for All Students, joined to `dese_enrollment` on the PREVIOUS year’s grade counts — which is the join DESE’s own all-grades rate reproduces five times more closely than the same-year one, and which two other independent checks in the generator confirm.
What it does not show Why, and where to. Attrition is leaving for any reason: a vocational admission at grade 9, a private or charter school, a school choice transfer, an out-of-district placement and a family moving are one number here. Nothing in this file separates them, and the file that names destinations carries no grade.
A scenario or an explanation — nothing here tests it
Leaves the town in year one, if 78 high school students transferred out
A scenario put to this site, not something that happened.
Details
If 78 high school students transferred out under school choice — the scenario as it was put to this site — $401,700 leaves the town in the first year, and the town would have to stop spending 31.0% of what it appropriates per pupil just to break even. $390,000 of that is sending tuition and $11,700 is Chapter 70 aid at the margin the formula is currently paying. Both go in year one. The students come out of four grades, 21.3 of them from the largest, which has 118 residents in it — so the $1,296,209 of appropriation they carry with them, at $16,618 a pupil, only stops being spent where somebody decides to stop spending it. That decision is the whole of the difference between a town that loses money and a town that does not.
the children who actually leave, counted → · what comparable districts spend →
What it rests on The scenario as a member of the Select Board put it to this site, evaluated at its own defaults. High school enrolment is the FY2025 annual town report’s enrolment table, read off the printed page and reconciled to the totals the page prints. The appropriation per pupil is the school appropriation over DESE’s foundation enrolment in the FY27 Chapter 70 district summary. Sending tuition is the base rate set by M.G.L. c.76 §12B, and no document in this archive states it for Lunenburg.
What it does not show That any child will leave, or that athletes would be the ones who did. Nobody counts departures by reason. It also does not show that anything could be cut: nothing published says at what enrolment a section is removed, so the break-even share is what would have to happen and not what could.
Behind it
Grades 9–12 fell 30.0% since FY2008; pre-K to grade 5 fell 5.8%.
The decline is a high-school decline. The lower grades are close to where they were.
Details
FY2008 to FY2026, grades 9–12 went from 619 to 433 children. Pre-K to grade 5 went from 791 to 745 (down 5.8%); grades 6–8 from 413 to 382 (down 7.5%). The step between grade 8 and grade 9 is where the town loses children every year, and this is what that looks like accumulated.
Which grades students leave in → · Where they go →
What it rests on `dese_enrollment` grade columns summed into three bands, Lunenburg district rows, FY2008 against FY2026.
What it does not show Where the ninth graders went. A vocational admission, a private school, school choice and a move are one absence here; /which-grades-students-leave measures the rate and /where-students-go-instead the destinations.
258 students with disabilities in FY2008, 258 in FY2026 — in a school 14.0% smaller.
Their share rose from 14.1% to 16.3% without a child being added.
Details
The count moved between 227 and 299 over the years in between, and ends where it began. The share is a ratio, and its denominator fell; that is the whole of the movement. Special education staffing and cost are measured on other pages against this count.
The IEP count, in detail → · Special education →
What it rests on `dese_enrollment` swd_cnt and swd_pct, Lunenburg district rows.
What it does not show Need. A count of students with an IEP says nothing about the intensity of any plan, and DESE’s own placement data shows the mix of settings moving while the count did not.
English learners went from 3 children in FY2008 to 70 in FY2026.
The fastest-growing group in the school, and still 4.5% of enrolment.
Details
Small numbers, and the growth is real: the count has risen in most years since FY2008. An English learner carries a higher weight in the Chapter 70 foundation budget, so this count moves aid as well as staffing.
How the formula weights students →
What it rests on `dese_enrollment` el_cnt, Lunenburg district rows.
What it does not show Which languages, which schools, or what it costs to teach them. DESE publishes the count and nothing here attaches a dollar to it.
FY2008 to FY2026 Lunenburg’s enrolment fell 14.0%; its 4 neighbours fell 9.6% to 37.0%.
A regional fall, not a Lunenburg one. Lunenburg is 4th of 5 in how much it shrank.
Details
The table below gives each district’s count at both ends. The neighbour that fell most lost 37.0%; the one that fell least lost 9.6%. Ayer Shirley regionalised in FY2012 and has no FY2008 row, so it is not in this comparison.
The same districts, on spending →
What it rests on `dese_enrollment` district totals for Lunenburg and the five districts this site uses as peers, FY2008 and FY2026.
What it does not show Why the region fell. Births and housing are outside this file.
The eighth grade measured this year lost 27.7% — the second-highest of seventeen years.
Averaged inside five eras the rate stays between 17.4% and 22.3%. A high year, not a new level.
Details
The rate has risen for the last stretch of the series, which is what a reader will notice first. Set against seventeen years it is inside a range the town has been in the whole time. The series runs from 13.2% in SY2016 to 28.7% in SY2013 and the five eras — built from DESE’s own grade spans, so a school closing and a new building are boundaries rather than noise — average within 4.9 points of each other. The current run of rises is 3 years long and the longest earlier one was 3, so a run of this length is not new either. A single Lunenburg grade is around a hundred and twenty children, so one family is close to a point.
What it rests on The same district rows, averaged inside eras derived in code from `dese_enrollment` grade spans by the functions /what-courses-actually-ran uses, so the two pages cannot segment the same reorganisation differently. The pandemic boundary is OURS and is marked as ours wherever it appears.
What it does not show Whether the rise continues. Three points are three points, and this town’s boards are being asked to read them as a direction because they have nothing longer. The eras are on the page precisely so a reader can see what the same three points looked like the last four times.
DESE’s rates imply 1,538 children left in seventeen years. Enrolment fell 171.
Churn is 9.0 times the net change, so arrivals rather than leavers set the size of the schools.
Details
The question a resident arrives with is whether children leaving is why the schools are emptying. On these two files it is not: the leaving is an order of magnitude larger than the change, and almost all of it is replaced. About 90 children a year leave, every year, and district enrolment went from 1,739 in FY2009 to 1,568 in FY2026. A town losing 10 children a year net and a town losing 90 and gaining most of them back are the same line on an enrolment chart and are not the same town. It is the same shape this project found on the other side of the ledger, where inbound school choice collapsed while outbound stayed flat and the net barely moved.
What it rests on DESE’s all-grades attrition rate for each year applied to the previous year’s Lunenburg enrolment in grades K to 11, against DESE’s own district totals at both ends. Grade 12 is excluded from the rate by DESE: a twelfth grader who does not come back has graduated.
What it does not show Who arrives. This page measures one direction only and the balancing figure is a RESIDUAL rather than a measurement — births, families moving in, children returning from a private school and anybody repeating a year are one number here. Nor is the implied total a count of distinct children.
Eighth graders on an IEP leave at 34.7%, against 20.5% for all students.
The gap is 14.3 points at grade 8 and never above 4.1 points at any other grade.
Details
A group that leaves more everywhere is a different fact from one that leaves more at a single step. This is the second: across the other eleven grades the two series are close together. Published in all 17 years, and it swings from 19.0% to 54.5% between them — because the group inside one Lunenburg grade is on the order of twenty children, so one family is several points. That is the reason the year-by-year sits under this card rather than a headline off any single year. The same shape appears for High Needs and for Low Income, which OVERLAP this group and each other and are never added.
The route out of district → · How many children are on an IEP →
What it rests on `dese_attrition` district rows for Students with Disabilities against All Students, grade by grade, over the same years. The cohort sizes beside them are ESTIMATES: DESE publishes no count of a student group within a grade, so they are the district’s own published share of that group applied to the grade’s enrolment.
What it does not show Anything about placement, service or cause. An out-of-district placement made at the high school transition, a vocational admission, a family moving for services and a private school all fit this number equally well. A special education placement is not attrition and this file cannot tell you which of these it counted.
No published record says which school a departing Lunenburg eighth grader went to.
Monty Tech, a private school, a charter and a family moving are one number here.
Details
This is the question every reader of the card above will ask next, and it is the one the record refuses. Two DESE files each hold half of the answer and neither holds the join. 177 Lunenburg children were educated somewhere other than a Lunenburg school in FY2026. Monty Tech holds 97 of them across four grade years, about 24.2 a year, which is the same order of magnitude as the 27 eighth graders a year this page implies are leaving — and being the same size is not being the same children. Lunenburg is a MEMBER town of Monty Tech, so a child going there is not choosing out of the town’s system in the way the phrase usually means. The district files the submission that produces this rate every 1 October, so the grade breakdown exists inside the district before the state publishes anything.
What Monty Tech costs the town → · The gap this leaves →
What it rests on `dese_town_enrollment`, read whole: its columns are checked on every run and the generator refuses to publish this claim if a grade column ever appears in it.
What it does not show Any attribution at all. Nothing here says a single departing eighth grader went to any of these places. The sizes are comparable and that is the whole of what is established.
How much Lunenburg’s state aid changes if one pupil leaves
Lunenburg gets $5,847 a pupil in all. Only $150 of it moves with enrolment.
Details
Lunenburg receives $9,349,335 in Chapter 70 aid, about $5,847 for every pupil the formula counts. That is not what a departing pupil takes with them. Because the town sits on the minimum-aid floor, the aid total moves by about $150 per pupil — so a scenario can price a leaver anywhere between $150 and the $14,440 the state’s own costing says a pupil is worth, a factor of 96.3, and the answer changes the arithmetic completely. DESE’s own aid-component columns make each year’s aid the previous year’s plus named increments, an identity that holds to the dollar in all 7 of the last seven years. In FY2026 the whole of Lunenburg’s $240,450 increase is the minimum aid increment and the foundation aid increment is $0; $240,450 spread over 1,603 foundation pupils is $150 each. Across the 33 years DESE publishes, foundation enrolment fell in 17 of them and aid fell in 3.
why the aid lands where it does → · the whole state aid line, not Chapter 70 alone →
What it rests on DESE’s Chapter 70 Trends in Aid and Local Contribution workbook, sheet `dataAid`, which breaks the aid calculation into its named components, and DESE’s Chapter 70 District Profile, sheet `DataC70`, for the whole published run of foundation enrolment and aid. The latest year’s aid is tied to the town’s own revenue ledger before any of it is used.
What it does not show What aid would do if enrolment actually fell. Minimum aid and hold-harmless are statutory provisions, this archive holds no document applying either to Lunenburg, and a record of what happened is not a forecast. DESE’s own row also shows Lunenburg’s aid sitting above foundation budget minus required contribution, so that subtraction is not currently what sets it.
Lunenburg residents leaving under school choice in the latest year counted
Children already leave. The question the scenario puts is how fast that moves, not whether it happens.
Details
Children already leave. DESE counts 58 Lunenburg residents choicing out in SY2026 against 11 arriving, so the question the scenario puts is not whether school choice happens here but how fast it moves. The outward count has run between 56 and 106 in every year since SY2014, and a further 22 residents attend charter schools. The scenario adds 78 in a single year, which would take the outward flow to 136 — 2.34 times what DESE currently counts. Nothing in the published record has moved that far that fast, and that is the honest way to read the scenario: as a rate, against a flow somebody already measures.
where they go, measured → · the largest destination outside Lunenburg — families choose it, and the bill follows a different rule →
What it rests on DESE’s enrolment of town residents by district and its enrolment of a district by town of residence — the two files that count the same children in opposite directions — filtered to Lunenburg in every school year both cover, with each year’s destination detail summed back to that year’s total before it is used.
What it does not show Why any of these children left, or where the money went with them. The counts carry no dollars: not one document in this archive states the tuition that follows a child in either direction, which is why every dollar on this page rests on an assumed rate.
Fall in children arriving in Lunenburg from other towns
Leaving is flat and arriving has collapsed. The net barely moves, and that is what hides it.
Details
Lunenburg has not had a year of net gain in the thirteen school years DESE publishes — 177 children left in SY2026 against 15 arriving. The net barely moves, and that is what hides it: leaving is flat and arriving has fallen 70.6%. Leaving has run between 176 and 237 and ends at 177, nine fewer than the 186 it began at. Arriving has gone from 51 to 15. The net has been a loss of between 135 and 192 children in every single year, which is why the page draws all three lines: the net on its own is nearly flat across the whole of the movement.
the outward half, decomposed → · what a family pays to stay →
What it rests on DESE’s two enrolment files, counted as filters rather than as lists of programmes: every Lunenburg resident enrolled in a district other than Lunenburg, and every child enrolled in Lunenburg resident in a town other than Lunenburg. Both filters, and the complement of each, are asserted to select something in every year, and each year’s two halves are added back to DESE’s own row count for that year before any of it is used. Charter and vocational children are inside the outward count; foster and locally-agreed placements are inside the arriving one.
What it does not show Why arrivals fell. A district decides every year how many school choice seats to open and at which grades, so this is equally consistent with fewer seats being offered and with fewer families applying, and nothing published separates them: the Superintendent stated both counts to the Finance Committee for a single year, quoted on this page, and there is no series. Nor does it show what any of it is worth — no document in this archive states what Lunenburg receives for a child who chooses in, so the fall in children cannot be turned into a fall in dollars here.
The context
| 16% | of students have a disability | from 18% in FY15, DESE |
Who is in the schools — enrolment, FY1994 to today · Which grades students leave in · If students leave — what school choice would cost · figures: the model
4. Special education
Children whose special education plan placed them outside Lunenburg schools, FY2025
It was 30 in FY2015 and 7 in FY2023. The town prints this every year, and it moves both ways.
Details
The town’s own count of children placed out of district for special education ran from 30 in FY2015 down to 7 in FY2023, and stood at 10 in FY2025. Lunenburg has printed this figure in the Special Services report of every annual town report since FY2011, sourced to SIMS Report 7 and measured on 1 March, split into collaborative, day and residential placements. It is the closest thing the town publishes to the quantity everybody argues about, and over 15 years it has moved in both directions rather than only upward. In FY2025 it was 6 collaborative, 3 day and 1 residential.
What it rests on The Special Services report inside each annual town report, page by page, with the parts checked against the total the town printed beside them.
What it does not show What any of it costs. A placement count is children placed; it says nothing about which fund paid or what any placement cost, and one residential placement can exceed several day placements together.
29 children in the state’s program in FY2013, 9 in FY2026; each cost $67,111, now $139,692.
A third fewer dollars for a third as many children: each placement costs about twice what one did.
Details
The number of children whose placements cost enough to reach the state threshold has fallen by two-thirds; the dollars fell by a third. Eligible expenses were $1,946,230 for 29 children in FY2013 and $1,257,225 for 9 in FY2026. The average eligible cost per child claimed roughly doubled over those years. A district with nine such placements is exposed to each one: one child arriving or leaving moves this line by more than a tenth.
What out-of-district placements cost → · Who ends up out of district →
What it rests on `dese_circuit_breaker`, Lunenburg rows, eligible_students_claimed and total_eligible_expenses by fiscal year of payment; per child is the division.
What it does not show Which children, which placements, or why the count fell. A claimed child is one whose costs exceeded the threshold; children in costly placements below it are not counted here at all.
Behind it
The state paid 42.3% of the claim in FY2010 and 75.0% in FY2023; the statute allows up to 75%.
17 of 21 years at 70% or more. The share is the Legislature’s appropriation, not Lunenburg’s costs.
Details
In FY2010 the claim was $498,853 and the payment $211,224. The shortfall in a pro-rated year lands on the town’s budget with no warning the district can act on, because the rate is not known until the state’s books close. That is the sense in which this line is unforecastable from Lunenburg.
The rest of what the state sends →
What it rests on `dese_circuit_breaker`, total_quarterly_payment divided by total_net_claim, Lunenburg rows, every year.
What it does not show The appropriation itself, or why any year was short. The state file gives the result, not the vote.
In FY2026 the state deducted $52,419 per child before reimbursing anything — $471,771 in all.
The district pays the first $52,419 of every claimed child, then gets about three-quarters of the rest.
Details
Of $1,257,225 in eligible expenses the state paid $579,142 — 46.1% of the total, because the threshold comes off first and the share applies to what is left. The threshold is four times the state’s average foundation budget per pupil and rises with it, so the district’s own share rises even when nothing about a placement changes.
What it rests on `dese_circuit_breaker` threshold_amount divided by eligible_students_claimed; total_quarterly_payment over total_eligible_expenses.
What it does not show The foundation figure the threshold is four times of; DESE publishes the resulting threshold, not its derivation, in this file.
Since FY2022 the state has also reimbursed special education transport: $94,993 in FY2026.
New money: from $14,596 in its first year to a peak of $111,560 in FY2025.
Details
Before FY2022 the transport column is empty for every district; the reimbursement did not exist. It is a separate line from tuition and is included in the payment totals above.
What it rests on `dese_circuit_breaker` reimb_transport, Lunenburg rows.
What it does not show What the district spends on special education transport in total; this is the reimbursed part only.
Lunenburg’s cost per claimed child, $139,692, is second highest of 6 districts in FY2026.
The neighbours range from $104,213 to $160,652 per child; each is paid about the same share.
Details
The table below gives each district’s children claimed, cost per child and share paid. Statewide, the same file counts 10,759 children and $1,443,824,902 in eligible expenses.
The same districts, on spending →
What it rests on `dese_circuit_breaker`, FY2026 district rows for Lunenburg and its neighbours; state row for the totals.
What it does not show Whether a higher cost per child reflects the children’s needs, the placements chosen, or the prices charged. All three move it.
Of children starting in a separate special education classroom end up outside the district
Against 1.2% of those starting in an ordinary classroom. Small groups — read what this does not show.
Details
Where a child is taught to begin with tracks strongly with whether they end up at a school outside Lunenburg: 18.2% of the children who started in a separate special education classroom did, against 1.2% of those who started in an ordinary one. Added up over 9 groups the state follows, that is 36 children of 198 against 15 of 1,232. The counts are the figure and not the rate: a rate off a base of 28 moves by 3.6 points when one child does. This is the closest the published record comes to the question residents ask about early intervention, and it is worth having in front of anyone discussing in-district capacity — but see what it does not show, which is most of it.
What it rests on DESE’s special education trajectory file, K-12 rows for Lunenburg, pooled across every cohort it publishes.
What it does not show That a substantially separate placement LEADS to out of district. The children placed in the more intensive setting are not a random sample of the others, and selection alone fits this exactly. DESE also documents no interval between the starting placement and the destination, so every rate here is a rate over an unstated span, and the district has told the School Committee that some children arrive in Lunenburg already requiring a placement, never having been in a cohort at all.
How many Lunenburg children are on an IEP · Who ends up out of district · The circuit breaker — what the state reimburses for the costliest placements
5. The people who work in the schools
Teachers the state counted as people in FY2023, against 112.8 full-time equivalent posts
A roster counts heads and DESE counts posts, so the same staff give two different numbers.
Details
The state publishes both counts and they are not the same count: 123 people teaching in Lunenburg in FY2023, holding 112.8 full-time equivalent posts between them — 10.2 FTE fewer than there are bodies. The average teacher on that return holds 0.92 of a post, down from 0.95 in FY2021. Paraprofessionals are the other way about: 59 people and 59.0 FTE in FY2023, so almost every one of them is counted whole. The gap matters because it decides which instrument answers which question — the town’s own printed rosters are a headcount and cannot be set beside an FTE series, and this is the size of the error that would be. On headcount for each hundred pupils Lunenburg is 5 of the 6 districts in this file for teachers and 2 of 6 for paraprofessionals, which is a smaller group than the comparison sheet the rest of this page uses and is not the same ranking.
what other districts spend → · what we cannot answer →
What it rests on DESE’s educator headcount and retention file, FY2021–FY2023, at the row the file prints as its own total — read beside DESE’s published FTE for the same district and the same years. Three years is what exists; the span is on every figure drawn from it.
What it does not show Who is part-time. A share is an average over a whole job class, and one full-timer beside one half-timer and two people at three quarters give the same figure. Nothing published gives the distribution, and nothing gives the funding source for a single one of these people. Nor does a headcount say a post was filled all year: it is a return for one point in the school year, like the rosters.
Rise in paraprofessionals for each hundred pupils, the biggest change in staffing
Lunenburg went from the lowest on the state’s comparison sheet to the highest.
Details
Paraprofessionals are the biggest change in who Lunenburg’s schools employ: the state’s count went from 0.94 per hundred pupils in FY2013, the lowest of the 13 districts on the state’s own sheet, to 4.27 in FY2025, the highest. 14.8 full-time equivalents in FY2013 and 67.0 in FY2025 — a rise of 352.7% over years in which in-district enrolment fell 0.8%. Nothing else in this archive could have told a resident that: the town prints staff rosters every year and they carry names without hours, so the state’s file is the only place the size of the shift is visible.
what special education costs → · what other districts spend →
What it rests on DESE’s own staffing and enrolment files for Lunenburg and for the districts on its published comparison sheet, FY2009–FY2025. State figures, printed by the state — not the town’s rosters, which carry no hours, and not a budget line.
What it does not show Whether any of this is about children. An FTE count is staff: not a count of students with disabilities, not one-to-one assignments, not hours delivered. And DESE counts staff paid from grants, circuit breaker reimbursement and revolving funds alongside those the town appropriates, so this series cannot say who pays for the rise — DESE’s End of Year Financial Report, which separates spending by fund, is what would.
Behind it
Rise in paraprofessional FTE the state does not code to special education, FY2020 to FY2025
The paraprofessional workforce grew while its special education half more than halved.
Details
Two of the state’s files count Lunenburg’s paraprofessionals and they move in opposite directions. All programmes: 57.0 full-time equivalents to 67.0. Special education: 44.0 to 20.0. The difference between them goes from 13.0 to 47.0 — a rise of 34.0. That is a 54.5% fall in the special education count against a 17.5% rise in the all-programmes one, over years in which the number of children with a special education plan went from 244 to 238. It is not one noisy year: the special education line falls at every one of the 5 steps and the difference rises at every one. WHAT IT IS NOT is a measurement of anybody moving jobs — these are two DESE files with two definitions, and subtracting one from the other assumes the second sits inside the first, which nothing published says. A district reassigning paraprofessionals, a district recoding them, and DESE changing what its special education table counts all produce this shape.
how many children are on a plan → · what special education costs →
What it rests on Two DESE files over the years both publish: the district comparison sheet’s all-programmes paraprofessional FTE, and the special education staff table, whose rate is recomputed from its own FTE and child count on every build and published only where it reproduces. The difference between them is derived here and is labelled as derived.
What it does not show That anybody was reassigned, hired or cut. Three readings fit these numbers equally well and this archive cannot separate them: paraprofessionals moved onto general education assignments; the same people were recoded; or DESE changed what its special education staff table counts. Nor does it show who pays — the state counts staff on grants, circuit breaker reimbursement and revolving funds exactly like staff the town appropriates.
Rise in what the schools budget for special education paraprofessionals
Special education teacher lines rose a fifth as fast. Inside this budget, the money went to paraprofessionals.
Details
Inside special education the money went to paraprofessionals: those 5 budget lines rose 108.4% over FY2017 to FY2025, while the 5 special education teacher lines rose 20.1%. $597,464 to $1,244,894 against $1,537,583 to $1,846,499, both panels read at the restated stage over the 9 years both of them cover. These are NET general fund lines — what the town has to raise after grants, circuit breaker reimbursement and revolving funds have paid their share — so the same rise appears whether the district added paraprofessionals or a grant that had been paying for them ended and the cost landed on the town. Which of the two it is matters: this is the line this project’s own in-district special education escalator is built on.
what special education costs → · what happens when a grant stops →
What it rests on Two panels of five budget lines each, out of the district’s own budget books at one stage across their whole run, compared only over the years both panels report. The paraprofessional panel is reconciled against the district’s own five-school aggregation of the same figures, and the comparison is published in this payload rather than swallowed. A budget book restating itself is a document the district assembled, not an accounting printout.
What it does not show That anybody was hired. A budget line is dollars: not a post, not a person, not an hour — a line rising and a line paying more for the same people are the same number on the page. Nor does it show what special education cost, because these lines are net of every fund but the general fund.
Who works in each school · The paraprofessionals · figures: the model
6. Where the money comes from
What one more or one fewer student moves Lunenburg’s state aid by
Losing pupils does not cut the aid. It changes only the flat increase, which is set on Beacon Hill.
Details
Chapter 70 is not recalculated from your students each year. It is last year’s aid plus an increase, and in FY2026 the only increase available was the Legislature’s flat floor — $150.00 a pupil. So one pupil more or fewer moves the aid by that, and by nothing else. DESE’s own rule is a floor test rather than a recalculation: “If foundation aid is greater than prior year Chapter 70 aid, the district receives a foundation aid increase.” Only greater. Lunenburg already receives more than the formula says it needs, so that term paid $0 in FY2026 and the whole increase was the flat rate. A pupil changes the foundation budget, which is an input to a term producing nothing — and it changes the town’s required contribution not at all, because that is worked out from property values and income. Measured one pupil at a time, holding everything else at its FY2026 value.
why Lunenburg is on the floor in the first place → · what a departing pupil costs, tuition included →
What it rests on DESE’s Chapter 70 Trends workbook, sheets dataAid and dataContribution, and DESE’s own definition of the foundation aid increase at the workbook’s User Guide. The FY2026 aid components as DESE ran them, with the town’s required contribution held fixed because DESE’s target local contribution equals the combined effort yield in every published year.
What it does not show What a large loss of pupils would do. This is a marginal rate and it does not extrapolate: below the point where the foundation budget falls under the required contribution the formula’s own subtraction turns negative, and no document here models that. Nor is aid the whole cost of a departing pupil — a school choice transfer also takes a tuition payment with it.
Of the grant money that ran out in FY2025 was replaced by the town’s own money
The rest simply stopped. It was a handover and a reduction happening at the same time.
Details
When the grant money ran out in FY2025 the town replaced under half of it: of $2,670,158 of grant funding that fell, across 16 areas of school spending, $1,127,647 fell where the town’s own money rose to meet it and $1,542,511 fell where nothing did. In the 8 functions where the two moved opposite ways the general fund rose $1,136,013. In the other 8, grants fell and the general fund fell a further $606,553 on top of them. So the year is a handover and a reduction happening at once, and “the town picked up the bill for the grants” describes 42.2% of the money. A function where the general fund rose is also not a function that was made whole: the rise is what the town raised, not what the work cost.
the money that never reaches the vote → · the lines the book took to zero →
What it rests on DESE’s End of Year Financial Report for Lunenburg, function by function, FY2024 against FY2025: the general fund column set against the grants-and-revolving column, and each function classified by the signs of the two. The classification is ours; the state publishes no such label.
What it does not show Which grant, and which post. DESE reports a fund total and names neither, so a general fund rise beside a grant fall is equally consistent with the town picking a cost up and with two unrelated things happening in one function in one year. Nor does a reduction establish that a service ended.
Behind it
Employee insurance: $485,010 reported in FY2024; $3,286,872 the year before, $3,511,566 after.
The FY2025 “rise” of $3,026,556 is that gap closing, not a cost; over two years the line moved $224,694.
Details
The largest rise in the town’s own school spending in FY2025 on paper was Insurance for Active Employees, up $3,026,556 — more than the whole year’s net fall in grant funding of $2,023,188. It is not a rise. The general fund column for that function reads $3,286,872 in FY2023, $485,010 in FY2024 and $3,511,566 in FY2025. The middle year is the anomaly — a seventh of its neighbours — and the change from FY2023 to FY2025 is $224,694. What the FY2024 figure is — a mis-filed year, or a year the town appropriated the schools’ insurance outside the school department and reported it there — is not established, and is a registered gap. Grant funding against the function did not fall in FY2025; it rose $179,646.
what health insurance costs the town → · the insurance appropriated outside the school budget →
What it rests on DESE’s End of Year Financial Report, function 5200 Insurance for Active Employees, general fund column, FY2023 to FY2025.
What it does not show Why FY2024 was reported at that level. DESE attributes dollars to a function; it does not say where a missing two and a half million was reported instead, and this project has not found it.
Chapter 70 aid for each student in FY2026, against $150.00 of increase
The figure everybody quotes is an increase, not the aid. They differ by a factor of 38.
Details
Three numbers get used interchangeably in this town and two of them are the same figure for different reasons. Chapter 70 pays $5,757.59 for each of the 1,603 pupils the formula counts. This year’s increase is $150.00 a pupil. And one more pupil moves the aid by $150.00. The last two coincide in FY2026, and only because minimum aid is the sole component operating — the formula’s own aid term paid nothing, so the flat per-pupil increase is the only part of the build-up a pupil can move. They are not the same quantity and in a year when the formula pays they will not be the same number. The first is a different kind of figure again: it is the aid divided by the pupils, and quoting it beside the other two is how a town comes to believe that a pupil is worth $5,757.59 of state money.
what a pupil costs, against every district →
What it rests on DESE’s `dataAid` sheet: Chapter 70 aid and foundation enrollment for Lunenburg Public Schools in FY2026, and the minimum aid increment in the same row.
What it does not show What the state pays for any particular child. The foundation budget is built from rates that differ by grade and by category, and an average across all of them is not the amount attached to any pupil.
Provisions in DESE’s own definitions that can reduce a district’s Chapter 70 aid
One is a legislated across-the-board cut. The other applies only to districts that run no schools.
Details
DESE’s glossary names 2 things that reduce Chapter 70 aid, and neither of them is enrolment for a district that runs its own schools. The first decreases aid by a fixed percentage, legislated and applied to everybody — the workbook’s reduction column is populated for Lunenburg in FY2009 (-$485,942), FY2010 (-$92,416) and FY2011 (-$279,101), the recession years, and in no year since. The second reduces aid to the level of the foundation budget for NON-OPERATING districts, which run no schools of their own and tuition their pupils elsewhere. Lunenburg runs schools. There is no provision that cuts an operating district’s aid because it has fewer children: what falling enrolment reaches is the increase, not the base.
the aid components, term by term, for twenty years →
What it rests on DESE’s own definitions in the workbook’s User Guide, quoted at their cells, and the reduction column of the `dataAid` sheet for Lunenburg across FY2007 to FY2026.
What it does not show That these are the only provisions in statute. The User Guide is DESE’s glossary for its own workbook, not Chapter 70 itself, and a component absent from the glossary would be absent from this page too. Nor does any of it say what a future Legislature will do.
The enrolment at which the formula’s own subtraction would turn negative
39.6% below today. The per-pupil finding was measured at the margin and stops well above it.
Details
Everything on this page about one more or one fewer pupil was measured AT THE MARGIN. It is not a rate that can be multiplied out: below about 968 foundation pupils the town’s foundation budget falls under its required contribution and step 3 of the formula turns negative. The required contribution is a wealth calculation and does not move with pupils; the foundation budget does. In FY2026 the required contribution is 60.4% of the foundation budget, so the two would meet at roughly 60.4% of today’s 1,603 pupils. Nothing in this archive models what the formula does from there, and it has not happened in any of the 20 years DESE publishes here — the highest the required share has been is 72.3%, in FY2007. What this page establishes is the behaviour of the formula near where Lunenburg actually sits.
the limits, as the registry records them →
What it rests on The FY2026 foundation budget and required local contribution from DESE’s `dataAid` sheet, with the foundation budget scaled by pupils at its own average and the required contribution held fixed — which is DESE’s own structure, not an assumption: the target local contribution equals the combined effort yield in every published year and carries no pupil term.
What it does not show What the formula would actually pay at that enrollment. This is the point at which one subtraction in the sequence changes sign, not a projection: a district that far off its foundation budget would meet hold-harmless provisions, a different minimum aid rate and possibly legislation, none of which is in this workbook.
A year the town now carries that outside money used to, at today’s spending
Outside money paid nearly a dollar in five of school spending and now pays about one in ten.
Details
Money from outside the town’s budget — grants and the like — used to pay nearly one dollar in five of what Lunenburg schools spend, and now pays about one in ten. The town’s own share went from 81.5% in FY2009 to 89.9% in FY2025. That is 8.4 points, and at FY2025 spending it is worth $2,520,227 a year: had the split stayed where it was in FY2009 the general fund would have carried $24,466,117 rather than $26,986,344. That last figure is arithmetic of ours and a counterfactual, not a forecast — but it is the size of the shift a household is paying for, and it is why the town’s bill can rise in a year when the schools spend less. In FY2025 the general fund rose $1,999,627 while spending across both funds fell $23,561.
the aid the town does not set → · the funds outside the appropriation →
What it rests on DESE’s End of Year Financial Report, district totals, every year from FY2009 to FY2025: the general fund column as a share of the state’s own total column.
What it does not show That the shift was decided. The share is an outcome of grant programmes starting and ending, of what the state pays and of what the town appropriates, and nothing here separates them. The share also did not move in a straight line — it fell and recovered more than once inside the span.
How Chapter 70 actually works, in eight steps · When a grant ends — who picks up the bill · figures: the model
7. What it costs, against others
Monty Tech spends $25,827 a pupil to Lunenburg’s $18,027 — $7,800 more.
54.8% of Lunenburg’s leavers go there; 145 of the 177 educated elsewhere go where spending is higher.
Details
145 of the 177 Lunenburg children educated outside Lunenburg Public Schools go to districts that spend more for each pupil than Lunenburg does — 12.0% more at Leominster, and 43.3% more at Montachusett Regional Vocational Technical. In FY2025 the widest is $25,827 a pupil against Lunenburg’s $18,027 — $7,800 more, which is 43.3% — and 54.8% of the leavers go there. The size of it depends enormously on which district: $720 more at Francis W. Parker Charter Essential (District), $1,900 at Sizer School: A North Central Charter Essential (District), $2,155 at Leominster, $4,687 at Fitchburg, $7,800 at Montachusett Regional Vocational Technical. Leominster is the nearest like-for-like comparison, an ordinary K-12 municipal district, at $20,182 a pupil, $2,155 more. The exception is the two Commonwealth virtual districts, 16 children between them, which spend less. The children are counted in FY2026 and the spending measured in FY2025: two collections, and nothing here is differenced across them.
the district that takes most of them, and how the town is billed for it → · where students go, year by year →
What it rests on DESE’s end-of-year finance collection for the finance year, all funds, the district per-pupil total — the same measure for every district on this page — against DESE’s residents-sending and enrollment-receiving files for the enrollment year, which count Lunenburg resident children by the district that educated them. The destination set is every district that took five or more of them, derived on every run rather than chosen, and the generator refuses to write if one of them has no spending figure.
What it does not show What the difference buys, or that any family chose on spending. A per-pupil figure is a ratio and a district with fewer pupils reads higher with nothing bought — the same arithmetic this page applies to the peer set. A regional vocational, charter or Commonwealth virtual district is funded and shaped differently from a K-12 municipal school and its figure is not like for like, which is why the two virtual districts sit below Lunenburg at $11,230 and $13,037 a pupil. Nothing here is a foundation budget: that is a Chapter 70 formula output, a different measure, and it is not on this page.
Behind it
Lunenburg spends $18,027 for each pupil, all funds — $5,493 below the state median of $23,520.
Lunenburg has been in the bottom quarter of Massachusetts districts in every published year.
Details
Lunenburg spends $18,027 a pupil, $5,493 below the statewide median, and it has been in the bottom quarter of Massachusetts districts in 17 of the 17 years the state publishes here. In FY2025 it ranks 310 of 318 districts, with 8 spending less, against a median of $23,520 and a middle half running $21,179 to $26,961. This is not the school budget and not what a household pays: DESE counts every fund — grants, revolving funds, school choice, gifts — and counts town-paid insurance and retirement attributed to the schools, so it is a larger figure than the appropriation Town Meeting votes. The distance between the two is two definitions, not hidden money.
what the state requires the town to spend → · the insurance DESE counts here and the school budget does not →
What it rests on DESE’s end-of-year finance collection, all funds, the district total level only, with DESE’s own statewide distribution and its own published rank for Lunenburg. One stage throughout: what districts reported after the year closed, never differenced against a budget.
What it does not show Whether that is a choice or a constraint, and what the difference buys. The town has a levy limit and two failed overrides and Town Meeting votes the appropriation, so this measure is the outcome of all of it at once and cannot be attributed to any part of it. Nothing here relates spending to results, and a function line is not a service.
What Lunenburg would spend for each pupil at its own enrollment of thirteen years ago
Most of the gap with its neighbours is fewer children, not less money.
Details
Most of the per-pupil gap between Lunenburg and its neighbours is the denominator. Spending grew within a narrow band across all six districts; enrollment did not. From FY2012 to FY2025 every one of the six raised spending by between 43.8% and 59.0%, and Lunenburg’s 48.7% sits inside that band. Pupil counts are what separate them: -5.6% here against -23.5% at North Middlesex. Give FY2025’s money to each district’s FY2012 pupil count and Lunenburg is $17,025 a pupil, 5 of 6 rather than last, and North Middlesex is last. A neighbour’s higher per-pupil figure is in large part fewer children rather than more money.
what happens when students leave →
What it rests on DESE’s end-of-year finance collection against DESE’s own total FTE pupil counts, for the six districts this archive extracts. The identity (1 + spending growth) / (1 + pupil growth) = (1 + per-pupil growth) is checked to four decimal places on every district before anything is written. The span starts where it does because that is the first year all six exist in their current form — Ayer and Shirley regionalised for it.
What it does not show That per-pupil spending is therefore the wrong measure, or that a district with falling enrollment could have spent less. Costs do not fall in step with a class, so a smaller system genuinely does spend more for each child; this arithmetic says where the change in the ratio came from and not whether any of it was avoidable. The six districts are also this project’s own set and no document records the criterion, which is why the standing claim above is against the whole state instead.
Average teacher salary, near the top of the neighbouring districts
And Lunenburg employs the fewest teachers for each pupil of the group — the same money, spread wider.
Details
Lunenburg pays near the top of this group for a teacher and employs the fewest of them for each pupil: $97,233 on average, and 6.7 teachers for every hundred in-district pupils. Harvard’s average is the highest at $99,136 and Ashburnham-Westminster’s the lowest at $84,724; Lunenburg ranks 2 of 6 on pay and 6 of 6 on teachers for each pupil, where the next lowest is 7.4 and the highest is 8.5. Teaching salaries reach $6,513 a pupil here against $8,475 at Harvard — close to the same money for each teacher, spread across more children.
What it rests on DESE’s RADAR district comparison for the finance year — teacher FTE and average teacher salary — against DESE’s own in-district FTE pupil counts and the teaching-salary category of its end-of-year finance collection. The salary implied by the finance figures and RADAR’s published average agree to within a percent on every district, which is checked before anything is written.
What it does not show What that means in a classroom. A teacher FTE is not a class size and not a person, DESE does not say which fund pays for any of them, and an average salary is an average over a distribution this archive does not hold. Nothing here establishes that the difference is a choice, or that either arrangement produces different results.
What other districts spend, for each pupil · figures: the model
8. What families pay — sports and fees
A year for two high schoolers, one sport each, riding the bus and joining a club
Athletic fees, the bus and student activity fees. Several other charges have no published amount.
Details
Two Lunenburg high schoolers, one sport each, riding the bus and joining a club, cost their family $1,110 in FY2027: $700 in athletic fees, $270 for the bus and $140 in student activity fees. The athletic fee is charged per child per season — $400 for the first child and $300 for the second, the 25% sibling discount the School Committee voted, compounding. The bus is one charge for the whole family however many children ride. The activity fee is $70 a child and was last set in public for an earlier year. And $1,110 is a FLOOR: 9 further charges a Lunenburg family can meet — preschool, extended day, field trips, device repair among them — are sold by the district with no published amount anywhere in this archive, so no family and no committee can total a school year exactly.
both sides of the athletics money → · every rate, with the document that set it →
What it rests on The athletic rate for the year now running is the superintendent’s August 2026 email to families, as `athletic_fee_schedule` records it; the bus tiers are the superintendent’s transport email for the same year; the student activity fee is the School Committee’s own vote, in the minutes, and has not been restated since. Every rate is held in `rate_register` with the document and the quoted line it came from.
What it does not show What the schools cost. A fee is money in, and the budget lines it offsets are already recorded net of it, so what a family pays and what the town is spared are two different questions and only the first is answered here. It also does not say whether this is too much: that is the argument, and this is the arithmetic under it.
Left the town’s accounts for athletics in FY2024, more than any document totals
The district’s own workbook puts the whole programme well below that. The spread is published, not reconciled.
Details
Athletics took $602,285 out of the town’s two pots in FY2024 — $250,642 more than the district’s own workbook says the whole programme cost. $317,004 of it is traced to individual payments in the fee-funded fund’s cashbook — the only transaction-level record of athletics in this archive — and $285,281 is the appropriation in the district’s budget book. Part of the difference is scope: $160,980 of the appropriation sits on lines like the athletic director and the trainer that the workbook does not carry at all. That leaves $89,662 neither document accounts for. Every per-sport figure anybody quotes comes from that one workbook, so the spread is published rather than reconciled — averaging figures different people assembled to answer different questions would be adding a claim the documents do not make.
what produced each document’s figures → · what the record cannot answer →
What it rests on Three documents for one year. The fund’s payments come out of fund_1301_cash_journal — the town’s accounting system, every disbursement, and it chains to the town’s own printed opening balance in each following year. The other two are figures people assembled: athletics_by_sport is the district’s by-sport workbook and its own printed Total Expenses, and athletics_history is the budget book. However official a sheet looks, a figure somebody typed is stated and a figure the accounting system printed is evidence.
What it does not show Which figure is right, or what any one sport cost. Two of the three are totals somebody assembled and only the fund’s payments are traced to a payment — and even those cannot be put against a sport: not one disbursement in the cashbook names a sport anywhere on the row. The accounts-payable detail behind the warrants is what would close it.
Behind it
Everything the town’s books code to athletics in FY2026 — director and trainer included
Not the buildings. Grounds, heat and custodians split by no programme, so this is a floor.
Details
The town’s accounting system codes 12 accounts to function 3510, Athletics, in FY2026 — $518,334 appropriated, and the district’s budget book states the same total to the cent. Inside it are the athletic director at $74,406, the trainer at $66,200, the secretary, the police details and the insurance — and the district’s own sport-by-sport workbook carries none of the first four. In FY2024, the one year the two can be set side by side, that was $160,980 of appropriation the per-sport figures never saw, which is a large part of why the published totals disagree. Outside it are the buildings: custodians, heating, utilities, grounds and building maintenance are their own functions in the same printout, $2,035,523 across the whole school department, and not one of those accounts carries the athletics programme code. The pitch is still mown and the gym is still lit, so what athletics costs is that $518,334 plus a share of the $2,035,523 that nobody publishes.
the grounds share nobody publishes → · how a budget line reaches the ledger →
What it rests on The town’s own MUNIS year-to-date budget report for FY2026 period 12 — a printout of what the books say, with account numbers, transfers and a total the system foots itself. Function 3510 is Athletics in the town’s chart of accounts and in DESE’s, so the ledger and the state name the same box. The build refuses to publish this if the ledger and the district’s budget book stop agreeing on the total, or if a grounds or custodial account ever does carry the athletics programme code.
What it does not show What athletics costs. This is what the town APPROPRIATES for it, which is rule 11: net of the fee-funded fund, net of any grant, and with no share of the buildings in it at all. Nor does an account name a person or a post — a line called ATHTRAINER is dollars, not a trainer, and the town publishes no FTE against it.
Budgeted for athletic buses in FY2025, more than double the year before
The bus bill itself fell that year. What changed is which pot paid, not what it cost.
Details
Lunenburg’s athletic transportation line rose from $40,000 to $87,822 in a year when the bus bill itself fell from $117,555 to $91,066: the cost went down and the town’s share went up. In FY2024 the fee-funded fund paid $77,555 of that bill, 66.0% of it; in FY2025 it paid $3,244, 3.6%. Nothing about the buses had to change for the town’s line to more than double — what changed is which pot paid. The two sides sum to the district’s own transportation total exactly in both years, which is what lets them be read as two parts of one bill, and the FY2026 line is $127,550. It is the clearest measurement on this site of why a budget line rising is not a cost rising.
the funds outside the budget → · where the money is →
What it rests on athletics_history, both sides, checked on every build against athletics_by_sport’s own transportation total — the appropriation and the fund’s share sum to the workbook’s figure to the cent in both years, and the build refuses to draw them as two parts of one bill if they stop doing so.
What it does not show Why the split moved. A fund carrying two thirds of a bill in one year and almost none of it the next fits a deliberate decision, a fund that could not afford it, and a change in which fund the charge was coded to, equally well; no document here says which. The fund’s own year-end report for those years, or the warrant detail behind the payments, is what would settle it.
A year for three children playing one sport each, at the full rate
Another family pays a fraction of that for the same children. Parents are not one group.
Details
The same 3 children playing one sport each cost one Lunenburg family $812.50 a year and another $150 — a factor of 5.42 between two households at the same school. FY2026 is the most recent year in which both rates are published. A family that qualifies pays a flat $50 a child a season with no sibling ladder at all, and a family whose fee is waived pays $0. So the argument that “parents should pay more” is really an argument about which parents: the same children in the same uniforms are a completely different bill depending on the household they belong to, and the argument is usually made without any of these figures in it.
what the fees bring in against what the town appropriates → · the rates nobody publishes →
What it rests on The School Committee’s vote of 26 February 2025, in the minutes, which sets the full rate, the reduced rate and the sibling discount in one motion; and the LHS Athletics FAQ, which is the only document in this archive stating that a fee can be waived to nothing.
What it does not show How many families are in each tier. Nothing published counts them, so this prices the three households and cannot weight them. The full-paying family’s second and third children are priced by the discount the committee voted rather than by a printed rate, and for the year now running the district publishes no reduced or waived rate at all, so the cheaper half of the comparison cannot be drawn for the current year.
What a second child adds to a family’s school bill
Not another full share: the bus is one charge per family, and each athlete after the first pays less.
Details
A second child costs a Lunenburg family $460 more and a third $295 more — not another $650 each — because the bus is one charge for the whole family and every athlete after the first pays 25% less than the one before. One high school child playing a sport, riding the bus and joining a club is $650 in FY2027. Two are $1,110 and three are $1,405. The bus is $180 for one child and $270 for any number, so the second child adds $90 there and the third adds nothing; athletics falls $400, $300, $225 down the ladder; only the activity fee, at $70 a child, is flat. Which charges are per family and which are per child is what decides what a larger household pays, and it is the part of the schedule nobody argues about.
what a fourth child pays, and the rest of the register → · every rate, with the document that set it →
What it rests on The three bills are computed from the same rates as the rest of this page — the athletic ladder as the superintendent’s August 2026 email publishes it, the bus tiers from the transport email, and the student activity fee from the School Committee vote — one household at a time, and differenced.
What it does not show A fourth child. The published ladder stops at the third, and the rung below it is produced by carrying the voted discount on rather than by any document. It also assumes every child plays and every child rides, which is a household a reader chooses on the page rather than a typical one.
What a family actually pays · What sports cost, and who pays · figures: the model
9. What is taught
Lunenburg High ran 247 sections in SY2025 against 225 in SY2017, on flat enrolment.
More choice for students — the average class fell from 14.7 to 13.5 — and each class costs more to run.
Details
The argument in this town has been about whether the cuts narrowed what children can take, and at the high school the count of classes that ran went the other way. 435 students in SY2017 and 438 in SY2025 — within a handful of each other — across the 9 years the high school held only grades 9-12 in one building configuration. A section is what RAN, so this is not a catalogue and not a plan. What it cannot say is whether the same COURSES ran: DESE files sections by subject area and never by course.
The staffing behind it → · What the district said it was cutting →
What it rests on DESE’s class-size collection — `tot_clss_cnt` and `avg_clss_cnt` for Lunenburg High — with the grade span of the school in every one of those years read off DESE’s own enrolment-by-grade counts, so the two ends of the comparison are the same school.
What it does not show That more sections is more choice. A fifth of them are groups averaging under five students and nothing published says what those teach. Nor does it show a cause: the town cut, enrolment fell and the buildings were reorganised inside the same period.
89 students sat at least one AP exam in SY2025 — about 39% of the 11th and 12th grades.
In SY2007 it was 18% of a bigger class. The count peaked at 122 in SY2018.
Details
A smaller high school sends a larger share of its upperclassmen into AP exams than it did. 89 students took 154 exams in SY2025, against 227 in the 11th and 12th grades. In SY2007 it was 58 students against 322. The ratio is an approximation: a tenth grader can sit an exam, and the two DESE files count on different days.
What courses actually ran → · Who is in the schools →
What it rests on `dese_ap` participation, Lunenburg district, All Students, All Subjects; `dese_enrollment` grades 11 and 12 for the denominator.
What it does not show Who is offered the courses, who is steered toward or away from the exam, or what a sitting costs a family. Participation is a count of who sat.
Behind it
57.8% of Lunenburg High students took a foreign language in SY2025, against 70.1% in SY2017.
Sections fell from 28 to 21 over the same years — the one subject narrowing on every measure here.
Details
Three instruments point the same way for one subject and only one, which is what makes it worth separating from everything else here. 305 students took a language in SY2017 and 253 in SY2025, in 21 sections rather than 28. District teacher FTE for the subject moved with them. A language schedule is set by people in this town, in a document the School Committee sees, so this is a decision somebody can look at rather than a condition.
What it rests on Sections, distinct students and average class size for Foreign Language at Lunenburg High, beside district teacher FTE for the same subject name from DESE’s teacher file.
What it does not show Whether a child who wanted a language could not get one. The district’s own principal told the School Committee that courses are whittled away after student choices are entered, so a fall in sections and a fall in students choosing can be the same measurement seen twice.
29.3% of Lunenburg Middle School took a world language in SY2025, against 61.0% in SY2023.
Sections went from 11 to 5 — the lowest share in the 9 years the school has existed.
Details
This is the subject residents actually came to a meeting about: a parent told the School Committee that her seventh grader had practised French for three years and had just heard she might not be able to take it. 236 children took a language at the middle school in SY2023 and 115 in SY2025. READ THE SERIES BEFORE CONCLUDING, because it has been here before: the school fell to the same 5 sections in SY2020 and was back above it the next year, so one low year is not a subject ending. What is different now is that it has stayed for 2 years, and that grade 8 world language was still being discussed alongside the override two years after a parent raised it.
What it rests on Sections and distinct students for Foreign Language at Lunenburg Middle School over the share of the school’s own distinct students — both out of the same DESE file and the same row family, so this is not a ratio across two instruments.
What it does not show Whether a language was offered and not chosen, or not offered. It also does not show what share of children COULD take one: the file carries no grades inside a school, and a language need not be offered in every grade.
60.4% of Lunenburg High takes a history course, against 75.8% before SY2020.
Teacher FTE went 3.17 to 2.4 and seats 341 to 271 — the one subject where all three fell.
Details
Three instruments measure this page’s question — what was staffed, how much room ran, and how many children got in — and this is the only subject at the high school where all three moved down together. Averaged over SY2017 to SY2020 the school staffed 3.17 posts of history and 341 student places ran; over SY2023 to SY2025 it is 2.4 posts and 271 places, and the share of the school taking a history course went from 75.8% to 60.4%. The averages are over eras rather than single years on purpose: the same subject read end to end across the whole file appears to fall by a third more than this, and most of that is a reorganisation rather than a change in provision.
What it rests on Teacher FTE, sections times average class size, and distinct students over the school’s own `All` row — three DESE series for the same subject at the same school, averaged inside eras whose boundaries are the school’s own grade spans plus one we assert for the pandemic.
What it does not show That a staffing decision caused it. The fall begins in the years the pandemic closed and reopened this school, students choose their own courses at this level, and history teaching recovered part of a post since without the share recovering with it. Those are three readings of one set of numbers and this page does not choose between them.
In the 11 years Lunenburg High held only grades 9-12 it ran 1 computer science section.
8 students, in SY2023. The subject runs at the middle school in every one of its 9 years.
Details
The years the high school DID run computer science — 5 to 8 sections a year — are the years grade 8 was housed in the building, and the students in those sections numbered close to the grade-8 cohort each year. This is the clearest thing on the page a body in this town could decide to change, and establishing it costs nothing: the subject already runs at the middle school every year, so the question is a schedule rather than a programme. What the count cannot say is whether high school students take computing under another heading — DESE’s subject areas are broad, and this district files a fifth of its high school sections under Miscellaneous.
What it rests on `tot_clss_cnt` for Computer and Information Sciences at Lunenburg High and at Lunenburg Middle School in every year DESE publishes, with the high school’s grade span in each of those years taken from DESE’s enrolment-by-grade counts.
What it does not show That nobody in Lunenburg teaches computing to a ninth-grader. It shows what DESE recorded under one subject heading. The district’s curriculum return to DESE names no product against any of its digital-literacy rows either, and that is a fact about voluntary reporting rather than about provision.
20.6% of Lunenburg High’s sections are in a class averaging 4.9 students.
DESE calls the category Miscellaneous and nothing published says what those 51 groups teach.
Details
It is also the single largest mover in the high school’s section count, up from 35 sections in SY2017. A student described one of these to the School Committee in public comment — a new elective, four students on the register, eight on the first day. That is what a section this size looks like from the inside, and it is the only account of one anybody has given in public. Whether the rest are electives, academic support, directed study or something else is not published anywhere.
What it rests on Sections and average class size for the Miscellaneous subject area at Lunenburg High against the school’s own total, at both ends of the window.
What it does not show What any of them is. The category carries no course names, and reading small groups as enrichment or as remediation fits the same number equally well. Registered in the gaps below.
Sections and teacher FTE moved the same way in 8 of the 10 subjects with both published.
The staffing proxy was not misleading — but only a section count can say whether a class stopped running.
Details
Two independent state files, one counting people and one counting classes, over the years both cover — SY2017 to SY2025, district-wide. THE 2 THAT DIFFER ARE WHY BOTH FILES ARE PUBLISHED HERE, and the larger of them is Mathematics — the largest line in the comparison. Its teacher FTE fell by 1.5 while its sections ROSE by 3 and its average class went from 19.7 students to 18.4. Both readings are true and they answer different questions — fewer teachers, more classes, smaller ones — and a page carrying only the FTE would have reported a subject contracting. That is the whole case for counting sections: the staffing series was pointing the right way in eight subjects and could not, on its own, tell four sections of a subject from two.
What it rests on `dese_teacher_subject` teacher FTE at district level against `dese_class_size` section counts for the same subject names, at both ends of the overlapping window. DESE uses one subject vocabulary for both files, and the join refuses to write unless every compared subject is present in both.
What it does not show The most recent year. The teacher file runs one year further than the class-size file, and its largest moves in that year are in Science and Mathematics — none of which has a section count to sit beside it. They are carried on this page, labelled, and never differenced against one.
Miscellaneous went from 35 sections to 51 at Lunenburg High, taking the same share of students.
More groups, smaller — 4.9 students each. 27.6% of the school took one in SY2017 and 29.4% now.
Details
A resident asked whether children are being offered thinner work and taking it — a filler bucket swelling while the subjects around it shrink. This is the bucket, and the count of children in it did not move. 250 student places ran in Miscellaneous at Lunenburg High in SY2025 among 129 different children, so a child in one is in about 1.9 of them; the groups averaged 5.8 students at the start of the window. Groups of under five are the shape of small-group support, not of a room somebody is parked in — and that is a reading, not a finding, because DESE files no course name against any of them. One year stands off its neighbours by more than thirty points, SY2022, and the page marks it rather than averaging it in.
What it rests on `tot_clss_cnt`, `avg_clss_cnt` and `tot_stu_cnt` for the Miscellaneous subject area at Lunenburg High, over the school’s own `All` row — which DESE’s separate enrolment file agrees with to within a few per cent in every year.
What it does not show What any of these groups is. Academic support, an elective, directed study and a study hall all fit these numbers, and nothing published separates them. What would: the district’s own Program of Studies, which exists and is not published.
Mathematics teacher FTE fell 2.8 at the middle school and rose 1.7 at the high school.
The district figure is -1.5 and shows neither. Middle school classes went from 17.9 to 22.0.
Details
This page already published the district figure for mathematics and called it the one subject where the two instruments disagree. Split by building, it is not one subject disagreeing with itself — it is two schools going opposite ways. Between SY2017 and SY2025 the middle school ran 4 fewer mathematics sections and its classes went from 17.9 students to 22.0. The high school ran 7 more and its classes fell to 14.5. Both are inside one district figure, and the four schools’ FTE adds up to it exactly. Which building a post sits in is a thing this town decides, so this is a dial rather than a condition — and nothing here says what it should be set to.
What it rests on `dese_teacher_subject` teacher FTE per school against `dese_class_size` sections and average class size for the same subject, over the years both files cover. The generator refuses to write unless the schools’ FTE sums to the district’s and their sections sum to the district’s.
What it does not show Why. A post can move because a timetable changed, because a retirement was not replaced, because a grant ended, or because the two schools were staffed to different targets. Nothing in either state file distinguishes them.
88.3% of AP tests scored 3 or better in SY2025, the best of 19 years; the low: 62.1% in SY2009.
A score of 3 is the usual threshold for college credit. Two years ago it was 75.8%.
Details
Of 154 tests in SY2025, 28 scored a five and 2 scored a one; the full distribution is charted below. It is a share of TESTS, not of students: a student who sat three exams counts three times.
What it rests on `dese_ap` performance, Lunenburg district, All Students, All Subjects, pct_3_5 and the score counts.
What it does not show Why. Better teaching, different students choosing to sit, or the mix of subjects shifting toward ones with higher pass rates all produce this number, and the file separates none of them.
117 of 154 AP sittings in SY2025 were English or history; science and math were 31.
In SY2015 science and math were 51 sittings. Foreign languages: 22 then, 1 now.
Details
76% of sittings in SY2025 were in English or history. The table below gives every subject family at both ends. This is the exam-room view of what /what-courses-actually-ran measures in the schedule: a language programme narrowing, and a STEM one that sits few exams.
Foreign language, narrowing on every instrument →
What it rests on `dese_ap` participation, subject-family rollups (DESE’s own, `subj = subj_cat`), Lunenburg district, SY2015 and SY2025.
What it does not show Whether the courses are offered and unchosen, or not offered. A sitting count cannot tell a closed door from an empty room. Small families are suppressed in DESE’s participation file and taken from its performance file, which says so in the table.
What courses actually ran, subject by subject · AP exams — who sits them, in what, and how they score
How this page is built
An editor’s sheet — sources/data/one-big-report-story.csv — says what appears and in what order; nothing on it is a sentence. Each figure is rendered from the model’s own payload and each conclusion is the report’s own row, verbatim, so this page cannot state something a report does not. The limits behind it are rows in what we cannot answer. The analyses written as documents — reaching conclusions in prose rather than in a published payload, among them the two FY26 closeouts that answer “is this FY25 again?” — are not read by this page and are listed, in full, at reports.