Analyses

Lunenburg by the numbers

Who lives here, from the Census Bureau’s 2019–2023 estimates. Every figure is a sample with a margin, and every one of them is printed with it.

11,804 ± 19
residents, 2019–2023
1,979 ± 309
aged 65 and over — 16.8% of the town
1,477 ± 198
of 4,529 households have a child under 18
$109,753 ± $12,275
median household income

Each of those is an estimate from a sample, not a count, and the number after the ± is how far out it may be. Two figures whose ranges overlap are not different from each other. That matters here more than it would in a city: the American Community Survey reaches a small number of households in a town this size, so 65 and over is 1,979 ± 309 — somewhere between 1,669.614 and 2,288.386 people. The 1,568 children in the schools, by contrast, is a count: the district counted them.

What this page establishes

011,979 ± 309residents 65 or over

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.

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.

021,477 ± 198households with a child under 18

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.

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 a family actually pays →

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.

03$72,935 ± $8,677

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.

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.

0481.3%

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.

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 an override would cost →

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.

05205towns we cannot be told apart from

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.

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.

063 of 15comparisons that clear their margins

Only 3 of 15 measures compared across the two five-year windows clear their margins.

The town changed less than any table of five-year differences would make it look.

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.

Those are the answers this report could reach from the documents behind it. If the one you came for is not among them, ask us — no name or email needed.

The town, by age

Five age groups, each with its own margin. 65 and over and under 18 are the two the budget argument is about, and they are closer in size than either side usually says: 1,979 ± 309 against 2,736 ± 429.

Under 1818 to 2425 to 4445 to 6465 and over01,0002,0003,0004,00023.2%5.5%25.3%29.3%16.8%

the same figures

AgeResidentsMarginShare of the townShare margin
Under 182,736± 42923.2%± 3.6%
18 to 24653± 2475.5%± 2.1%
25 to 442,983± 39125.3%± 3.3%
45 to 643,453± 47129.3%± 4.0%
65 and over1,979± 30916.8%± 2.6%

Census table B01001, 2019–2023, for Lunenburg town. The whiskers are each group’s own margin of error; the label above each bar is its share of the town. A group is a sum of twelve or more published cells, so its margin is the root of the sum of theirs — wider than any one of them.

What this does not show

An age is an age. Nothing here says what any group wants, how it votes, what it can afford, or whether anybody in it has a child in the schools.

Households, and who is in them

4,529 ± 235
households
1,477 ± 198
have a child under 18 — 32.6% ± 4.0%
81.3%
of occupied homes are owner-occupied — 3,682 of them

This is the denominator under the thing people say at meetings — that the schools are for about a third of homes. On this measure the claim is fair. But it counts a child under 18, which includes children at Monty Tech, at private and charter schools, and children not yet old enough for school, so it is a ceiling on homes with a child in the Lunenburg public schools rather than that figure. Nothing published joins a child to a household to a school; that limit is a registered gap, not an oversight of this page.

households and tenure, 2019–2023

EstimateMargin
Households4,529± 235
With a child under 181,477± 198
With no child under 183,052± 325
Owner-occupied3,682± 321
Renter-occupied847± 189

Tenure is the reason a levy increase is felt so directly here: 81.3% of occupied homes get the bill themselves. The remaining 847 ± 189 pay property tax through a rent, which is a different thing to experience and the same thing to fund — and nothing here measures how much of an increase reaches a rent.

What households earn

Median household income overall, and by the age of the person who heads the household. The last of those is the number the “fixed incomes” argument has never had: a household headed by someone 65 or over has a median income of $72,935 ± $8,677, which is 56.5% of the $129,183 a household headed by someone 45 to 64 has — a gap of $56,248 a year.

All households25 to 4445 to 6465 and over$0k$40k$80k$120k$160k

the same figures

HouseholderMedian household incomeMargin
All households$109,753± $12,275
25 to 44$119,500± $20,747
45 to 64$129,183± $21,150
65 and over$72,935± $8,677

Census table B19049, 2019–2023. Four separate medians of four separate sets of households, measured in the same five years — not one household’s income changing as it ages, and not a series through time. The under 25 band is not drawn because the Census published no estimate for it.

What this does not show

What any household can afford. Income is not wealth, not savings, not equity in a house and not a tax bill — and nothing in this archive joins a property tax payment to the age of the person who paid it. That is registered as a gap of its own.

Where Lunenburg sits in Massachusetts

205 of 350
municipalities whose income range overlaps this town’s
167 of 350
the rank the arithmetic gives — and it is nearly meaningless
310 of 318
school districts on spending for each pupil, FY2025

Lunenburg’s median household income is $109,753 ± $12,275. Ranked against the other 350 municipalities in Massachusetts that puts it 167 of 350 — and 205 of those 350 have an interval that overlaps this town’s, spanning everything from 37th to 336th place. The rank is real arithmetic on real figures and it is not a ranking anybody should carry to a meeting. The honest sentence is that Lunenburg is an ordinary Massachusetts town on income, and no amount of sorting will make it otherwise.

$0k$20k$40k$60k$80k$100k$120k$140k$160k$180k$200k$220k$240k0255075100

municipalities by median household income

Median household incomeMunicipalitiesLunenburg
$0k–$20k0
$20k–$40k0
$40k–$60k12
$60k–$80k42
$80k–$100k85
$100k–$120k81here
$120k–$140k54
$140k–$160k28
$160k–$180k16
$180k–$200k16
$200k–$220k9
$220k–$240k2
$240k–$260k5

The dashed lines are the ends of Lunenburg’s own interval, $97,478 to $122,028 around an estimate of $109,753. Every other municipality’s figure has an interval of its own, which the bars do not draw.

Census table B19013, 2019–2023, every Massachusetts municipality. The statewide median municipality is $107,705. 4 municipalities publish no usable margin — the Census top-codes a median above its highest bracket — so they are counted in the distribution and in neither of the two counts above; every one of them is far above Lunenburg. On the Census’s own significance test, which is stricter than an overlap of intervals, 152 of 350 municipalities still cannot be told apart from this town.

And the same town, ranked on what it spends for each pupil

Both of these are true at once. On income Lunenburg is in the middle of Massachusetts and indistinguishable from most of it. On spending for each pupil it is 310 of 318 districts in FY2025, and in the bottom quarter in 17 of 17 published years. The two ranks are not the same kind of rank — one is municipalities on a sample estimate with a margin, the other is school districts on a figure the state computes from returns, including charter and virtual districts — so they sit side by side and are never differenced. The per-pupil comparison in full.

Did anything change between 2014–2018 and 2019–2023?

Mostly, nothing that can be shown. 15 measures were compared across the two releases and 3 of 15 clear their own margins: Population; Households; Median income, householder 65 and over. The other 12 moved by less than the combined margin of their own two estimates, which is a difference this survey cannot see. That includes the share of the town 65 or over and the share of households with a child — the two figures an argument about a changing town would most want.

-3×-2×-1×0PopulationIncome,householder 65+HouseholdsMedian incomeOwner-occupiedRenter-occupiedIncome,householder 45 to64Share with a childResidents 65+Income,householder 25 to44Residents under 18Share 65+Shareowner-occupiedShare under 18Homes with a child17.0×

every comparison, and whether it clears its own margin

MeasureEarlier releaseLater releaseDifferenceCombined marginVerdict
Population11,271 ± 2511,804 ± 19+533± 31clears its margin
Residents 65 and over1,810 ± 2621,979 ± 309+169± 406inside the margin
Share of the town 65 and over16.1% ± 2.3%16.8% ± 2.6%+0.7 points± 3.5 pointsinside the margin
Residents under 182,578 ± 3602,736 ± 429+158± 560inside the margin
Share of the town under 1822.9% ± 3.2%23.2% ± 3.6%+0.3 points± 4.8 pointsinside the margin
Households4,203 ± 1454,529 ± 235+326± 276clears its margin
Households with a child under 181,463 ± 1411,477 ± 198+14± 243inside the margin
Share of households with a child under 1834.8% ± 3.1%32.6% ± 4.0%−2.2 points± 5.1 pointsinside the margin
Median household income$101,510 ± $6,813$109,753 ± $12,275+$8,243± $14,039inside the margin
Median income, householder 25 to 44$111,569 ± $10,609$119,500 ± $20,747+$7,931± $23,302inside the margin
Median income, householder 45 to 64$117,891 ± $14,396$129,183 ± $21,150+$11,292± $25,585inside the margin
Median income, householder 65 and over$42,742 ± $12,593$72,935 ± $8,677+$30,193± $15,293clears its margin
Owner-occupied homes3,475 ± 2183,682 ± 321+207± 388inside the margin
Share of homes owner-occupied82.7% ± 4.3%81.3% ± 5.7%−1.4 points± 7.2 pointsinside the margin
Renter-occupied homes728 ± 168847 ± 189+119± 253inside the margin

The dashed lines are one margin either side of no change: a bar that does not reach one of them is a difference this survey cannot see, which is not the same as one that did not happen. The axis stops at three margins, and a bar that runs past it carries its true multiple.

2014–2018 against 2019–2023: two five-year windows that do not overlap, which is what makes the comparison permissible at all. Consecutive releases share four years of sample and may not be differenced. Every difference is drawn in multiples of its own combined margin, because the15 measures are counted in people, households, dollars and percentage points, and one axis cannot carry four units. Population clears by far the largest multiple because the survey measures the town total to ±19 where a single age group inside it is measured to ±309.

What this does not show

That nothing changed. 12 of these are differences the instrument cannot resolve, and some of them may be real. And neither release is a single year — each is five years averaged, so a sharp change inside a window is flattened by it.

The record, and what it does not carry

What this report counts

RESIDENTS AND HOUSEHOLDS, as five-year SAMPLE ESTIMATES. Not a count: the American Community Survey samples a town of 11,804 and publishes a margin of error with every figure. Two estimates whose intervals overlap are not different. Nothing here is a dollar of budget, a child in a classroom or a tax bill.

What the town has said about who lives here

“particularly seniors on fixed incomes, a $3,000,000 override would translate to approximately $600 per year in additional taxes, a significant burden”

Finance Committee · minutes · 2026-01-27 · our copy · the town’s

A Finance Committee member at the Tri-Board meeting, on whether an override is necessary. This is the claim the income-by-age table can finally be set beside: a household headed by someone 65 or over has a median income a little over half that of a 45-to-64 household. It establishes what was said. It does not establish what any particular household can afford, which no table here measures.

“young families are looking for smaller houses with some land, but developers are building large houses that young families cannot afford”

Master Plan Steering Committee · minutes · 2024-04-05 · our copy · the town’s

The Master Plan Steering Committee, in the same minute that records an aging population looking for accessible and affordable options. Both halves of the town appear in one paragraph, which is the shape this page is trying to keep: the same numbers handed to both sides.

9
documents mention “fixed income”
166
documents mention “seniors”
5
documents mention “young families”
1
documents mention “aging population”
51
documents mention “census”
2
documents mention “town census”

Searched 8,899 of the 12,015 meeting documents this archive holds (74%), covering 2009-01-05 to 2026-11-17. The other 3,116 carry no text a search can match — 3,096 of them are image scans awaiting OCR. An empty result above is a statement about what can be read, never about what was said.

The codes that are not numbers

The Census publishes sentinels where it has no figure, and each is a large negative number that would read as data to anything that did not know better. They are kept verbatim in the archive and never rendered as figures here: 2 cells in this page’s tables carry one.

CodeWhereWhat it means
-666666666estimateno estimate could be published for this cell
-222222222marginno margin of error could be computed
-333333333marginthe estimate is top-coded, so no margin applies
-555555555marginthe estimate is CONTROLLED to an independent total and has no sampling error — which is not a margin of zero

What this page cannot answer

  • How many Lunenburg homes have a child in the LUNENBURG PUBLIC SCHOOLS — as opposed to a child under 18?The Census answers the second and not the first. B11005 puts 1,477 of 4,529 households — 32.6% — with a child under 18, which is what people mean when they say "about 30% of taxpaying homes", and on that reading the claim is fair. But that count includes children at Monty Tech, at private and charter schools, and children not yet of school age, so it is a CEILING rather than the figure. The arithmetic suggests the gap is real: 1,477 households against roughly 1,745 school-age children is about 1.2 per household, low enough that a meaningful share of those homes have only pre-school children. Nothing published joins a child to a household to a school. — closes: a count of DISTINCT HOUSEHOLDS with at least one child enrolled, which the district can produce from its own student information system and DESE cannot, because DESE counts children and the Census counts households and neither knows about the other.
  • Who actually lives in Lunenburg — how many are over 65, how many households have a child in the schools, and what each group can afford?ANSWERED IN PART, 11 September 2026, and the part that remains is the part the argument actually runs on. The Census tables named below were fetched and are loaded as `census_acs`: 11,804 ± 19 residents, 1,979 ± 309 of them 65 or over, 4,529 ± 235 households, 1,477 ± 198 with a child under 18, median household income $109,753 ± $12,275 and $72,935 ± $8,677 where the householder is 65 or over. See /lunenburg-by-the-numbers, where every figure carries its margin. WHAT SURVIVES is the third clause — what each group can AFFORD. Income is not wealth, not savings, not equity and not a tax bill, and nothing published joins a property tax payment to the age of the person who paid it; the two rows below carry the two halves of what is still missing. — closes: the town census, which counts every resident by name, age and household rather than sampling them, held by the Town Clerk.
  • How much of the property tax levy is paid by households headed by someone 65 or over?The Census now gives income by age of householder — a household headed by someone 65 or over has a median income of $72,935 ± $8,677, against $129,183 ± $21,150 for a 45-to-64 household — and that is income, not tax. The override argument is about a BILL: what a $3,000,000 override adds to a household is quoted at meetings as a town-wide average, and the town publishes no split of the levy by who pays it, by age or by anything else. Nor does it publish how many households take the statutory elderly exemptions and abatements that would change the answer. So "seniors on fixed incomes cannot carry it" cannot be checked in either direction, and neither can its opposite. — closes: the Board of Assessors’ commitment list with the Clause 41A, 41C and 17D exemptions granted, joined to the town census by age of owner — both held by the Town and neither published.

What this does not establish

  • That any of these figures is a count. Every one is a five-year SAMPLE estimate with a margin of error, and two figures whose intervals overlap are not different. The town’s own population total is measured to ±19; a single age band inside it is not.
  • That 1,477 ± 198 households have a child in the LUNENBURG PUBLIC SCHOOLS. The Census counts a child under 18, which includes Monty Tech, private and charter children and children not yet of school age, so the figure is a ceiling.
  • That Lunenburg is richer or poorer than a town it out-ranks. 205 of the 350 municipalities have an income interval that overlaps this town’s, so a rank of 167 of 350 is arithmetic rather than a finding.
  • That the income rank and the per-pupil rank measure the same population. One is 350 municipalities on a sample estimate; the other is 318 school districts on a figure DESE computes from returns, and it includes charter and virtual districts that are not municipal.
  • Anything about what a household can AFFORD. Income is not wealth, not savings, not equity in a house and not a tax bill, and nothing in this archive joins a property tax payment to the age of the person who paid it.
  • Anything in real terms. This archive holds no price index, so no figure here is deflated and no change described is a change in purchasing power.
  • Anything at all from 2 published sentinel(s) — the Census’s codes for "no estimate" and "no computable margin". They are not zeros and are not printed as figures.
  • Why any of this is so. Every figure here is a measurement of who lives in this town; a reason for it would be a hypothesis, and this page states none.

What would close these

The town census. It counts every resident by name, age and household each year, it is compiled by the Town Clerk, and it is the one record that would replace every estimate on this page with a count — including the two things the Census cannot say: which households have a child in the Lunenburg public schools, and what the people in them pay in property tax. Every limit on this page is also a row in what we cannot answer, which is the single registry the records request reads from.

Where every figure came from

The Census answers a query with JSON, and an API answer is a document like any other: each raw response is saved, hashed and published, and the figures on this page are read from those files rather than from a query nobody kept.

acs5-2023-B01001-lunenburg.json

United States Census Bureau

Sex by age — the 65-and-over share, and every band beneath it

table B01001, 2019–2023 · 4 KB

sha256 3c371d3a828e55fe…

our copy · the publisher’s

acs5-2023-B11005-lunenburg.json

United States Census Bureau

Households by presence of people under 18 — the real denominator for "the 30% who have students in the school"

table B11005, 2019–2023 · 2 KB

sha256 0f738e9f49925607…

our copy · the publisher’s

acs5-2023-B19013-massachusetts-lunenburg.json

United States Census Bureau

Median household income — every Massachusetts municipality, so Lunenburg can be ranked against them rather than described

table B19013, 2019–2023 · 31 KB

sha256 4edbe5e1bf435d95…

our copy · the publisher’s

acs5-2023-B19049-lunenburg.json

United States Census Bureau

Median household income in the past 12 months, by age of householder — what turns "seniors on fixed incomes" from a claim into a number

table B19049, 2019–2023 · 1 KB

sha256 1c2f173a60ceaa4a…

our copy · the publisher’s

acs5-2023-B25003-lunenburg.json

United States Census Bureau

Tenure — owner-occupied against renter-occupied

table B25003, 2019–2023 · 0 KB

sha256 b95763743e50449c…

our copy · the publisher’s

acs5-2018-B01001-lunenburg.json

United States Census Bureau

Sex by age — the 65-and-over share, and every band beneath it

table B01001, 2014–2018 · 4 KB

sha256 693f9671c3106eda…

our copy · the publisher’s

acs5-2018-B11005-lunenburg.json

United States Census Bureau

Households by presence of people under 18 — the real denominator for "the 30% who have students in the school"

table B11005, 2014–2018 · 2 KB

sha256 3e61847b189e3e19…

our copy · the publisher’s

acs5-2018-B19013-massachusetts-lunenburg.json

United States Census Bureau

Median household income — every Massachusetts municipality, so Lunenburg can be ranked against them rather than described

table B19013, 2014–2018 · 30 KB

sha256 ec6f1555065f3532…

our copy · the publisher’s

acs5-2018-B19049-lunenburg.json

United States Census Bureau

Median household income in the past 12 months, by age of householder — what turns "seniors on fixed incomes" from a claim into a number

table B19049, 2014–2018 · 1 KB

sha256 e1f3e77454e2d0b8…

our copy · the publisher’s

acs5-2018-B25003-lunenburg.json

United States Census Bureau

Tenure — owner-occupied against renter-occupied

table B25003, 2014–2018 · 0 KB

sha256 bc36438db2e40aba…

our copy · the publisher’s

census-acs.csv

Built by this project, from the responses above

One row per estimate per vintage, the margin of error in the same row. Written by scripts/fetch_census_acs.py, which refuses to write if the API returns anything that is not JSON.

table Every estimate, with its margin · 260 KB

sha256 505e8e0e1a5dc039…

our copy · the publisher’s

Built by scripts/build_lunenburg_by_the_numbers.py, and recomputed from the CSVs by a second route in scripts/verify_lunenburg_by_the_numbers.py.

What changed

Version 14 — updated September 7, 2026