Analyses
Who works in each of the four schools, FY11 to FY25.
3,815 names, beside the children and the teaching posts the state counts in the same buildings — three instruments, never added together.
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/who-works-in-each-school.json
What this report counts
Names the town PRINTED, one row per name, per school, per annual report — set beside DESE’s FTE for teaching posts and DESE’s headcount of people. Three instruments, never divided by one another.
If you read nothing else
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.
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.
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 four schools, as the town printed them
Every name the town printed on that school’s staff roster in its annual report, grouped, beside the children the state counted in the same building and the teaching posts the state counts there. Three separate instruments, kept apart: nothing here is added to anything else, and the arrows are the change over 3 years and nothing more — not a hire and not a cut.
Lunenburg High
grades 9–12 · FY25
- Teachers38 ▲3
- Paraprofessionals11 ▼3
- Counsellors4 ▲1
- Nurses1 —
- Principals and administrators3 —
- Office staff1 ▼3
- Custodial and maintenance2 ▼1
- Kitchen3 —
▲▼ is the change since FY23 — 3 years, names against names.
- General education36.3
- Special education0.2
- All teaching posts36.5
- Grades 9 to 1223.1
- Coded to no single band13.4
Teachers only. No full-time equivalent is published for a paraprofessional, an administrator, a nurse, a counsellor, a custodian or a kitchen post at any school — so the difference between 36.5 and the roster count above is not part-timers. 452 children against 36.5 teaching posts is 12.4 per post — the state’s own arithmetic, and not a class size either.
Lunenburg Middle School
grades 6–8 · FY25
- Teachers13 ▼2
- Specialist teachers7 ▲1
- Librarians1 ▲1
- Paraprofessionals11 ▲5
- Counsellors3 —
- School psychologists1 —
- Speech therapists1 —
- Nurses1 —
- Principals and administrators5 —
- Office staff1 —
- Custodial and maintenance1 —
- Kitchen1 ▲1
▲▼ is the change since FY23 — 3 years, names against names.
- General education25.1
- Special education0.0
- All teaching posts25.1
A zero here is a CODING count, not a count of who works in this building. The state’s special education teacher FTE for Lunenburg falls from 18.5 to 2.0 across this file while the district total holds flat, and nothing published says why.
- Grades 6 to 824.8
- Coded to no single band0.3
Teachers only. No full-time equivalent is published for a paraprofessional, an administrator, a nurse, a counsellor, a custodian or a kitchen post at any school — so the difference between 25.1 and the roster count above is not part-timers. 382 children against 25.1 teaching posts is 15.2 per post — the state’s own arithmetic, and not a class size either.
Lunenburg Primary School
grades PK–2 · FY25
- Teachers20 ▼4
- Specialist teachers4 ▼5
- Librarians1 ▲1
- Paraprofessionals20 ▼2
- School psychologists1 —
- Social workers1 ▲1
- Speech therapists2 —
- Occupational and physical therapists2 ▲1
- Nurses1 —
- Principals and administrators4 ▲1
- Custodial and maintenance2 —
- Kitchen3 ▲2
▲▼ is the change since FY23 — 3 years, names against names.
- General education21.5
- Special education2.0
- All teaching posts23.5
- Pre-K to grade 221.4
- Coded to no single band2.1
Teachers only. No full-time equivalent is published for a paraprofessional, an administrator, a nurse, a counsellor, a custodian or a kitchen post at any school — so the difference between 23.5 and the roster count above is not part-timers. 374 children against 23.5 teaching posts is 15.9 per post — the state’s own arithmetic, and not a class size either.
Turkey Hill Elementary School
grades 3–5 · FY25
- Teachers25 ▲1
- Librarians1 —
- Paraprofessionals10 ▼6
- School psychologists1 —
- Social workers1 —
- Speech therapists2 ▲1
- Occupational and physical therapists2 ▲1
- Nurses1 —
- Principals and administrators4 ▲4
- Office staff1 ▲1
- Custodial and maintenance6 —
- Kitchen4 ▲1
▲▼ is the change since FY23 — 3 years, names against names.
- General education19.0
- Special education0.0
- All teaching posts19.0
A zero here is a CODING count, not a count of who works in this building. The state’s special education teacher FTE for Lunenburg falls from 18.5 to 2.0 across this file while the district total holds flat, and nothing published says why.
- Grades 3 to 518.0
- Coded to no single band1.0
Teachers only. No full-time equivalent is published for a paraprofessional, an administrator, a nurse, a counsellor, a custodian or a kitchen post at any school — so the difference between 19.0 and the roster count above is not part-timers. 345 children against 19.0 teaching posts is 18.2 per post — the state’s own arithmetic, and not a class size either.
Every school and every category, FY25
| School | Grades | Children | Names printed | Category | Names | Change since 3 years earlier |
|---|---|---|---|---|---|---|
| Lunenburg High | 9–12 | 452 | 64 | Teachers | 38 | +3 |
| Lunenburg High | 9–12 | 452 | 64 | Paraprofessionals | 11 | -3 |
| Lunenburg High | 9–12 | 452 | 64 | Counsellors | 4 | +1 |
| Lunenburg High | 9–12 | 452 | 64 | Nurses | 1 | 0 |
| Lunenburg High | 9–12 | 452 | 64 | Principals and administrators | 3 | 0 |
| Lunenburg High | 9–12 | 452 | 64 | Office staff | 1 | -3 |
| Lunenburg High | 9–12 | 452 | 64 | Custodial and maintenance | 2 | -1 |
| Lunenburg High | 9–12 | 452 | 64 | Kitchen | 3 | 0 |
| Lunenburg High | 9–12 | 452 | 64 | Printed title we could not classify | 1 | -2 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Teachers | 13 | -2 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Specialist teachers | 7 | +1 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Librarians | 1 | +1 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Paraprofessionals | 11 | +5 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Counsellors | 3 | 0 |
| Lunenburg Middle School | 6–8 | 382 | 49 | School psychologists | 1 | 0 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Speech therapists | 1 | 0 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Nurses | 1 | 0 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Principals and administrators | 5 | 0 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Office staff | 1 | 0 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Custodial and maintenance | 1 | 0 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Kitchen | 1 | +1 |
| Lunenburg Middle School | 6–8 | 382 | 49 | Printed title we could not classify | 3 | +3 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Teachers | 20 | -4 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Specialist teachers | 4 | -5 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Librarians | 1 | +1 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Paraprofessionals | 20 | -2 |
| Lunenburg Primary School | PK–2 | 374 | 73 | School psychologists | 1 | 0 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Social workers | 1 | +1 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Speech therapists | 2 | 0 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Occupational and physical therapists | 2 | +1 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Nurses | 1 | 0 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Principals and administrators | 4 | +1 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Custodial and maintenance | 2 | 0 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Kitchen | 3 | +2 |
| Lunenburg Primary School | PK–2 | 374 | 73 | Printed title we could not classify | 12 | -4 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Teachers | 25 | +1 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Librarians | 1 | 0 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Paraprofessionals | 10 | -6 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | School psychologists | 1 | 0 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Social workers | 1 | 0 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Speech therapists | 2 | +1 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Occupational and physical therapists | 2 | +1 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Nurses | 1 | 0 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Principals and administrators | 4 | +4 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Office staff | 1 | +1 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Custodial and maintenance | 6 | 0 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Kitchen | 4 | +1 |
| Turkey Hill Elementary School | 3–5 | 345 | 64 | Printed title we could not classify | 6 | +4 |
Two things to know before quoting a panel.
- A roster is not a staffing level. It carries no full-time equivalent, so a 0.4 music teacher and a full-timer are one name each; no funding source, which is the question that decides whether the town pays for a post; and no date within the year.
- The adults and the children may be a year apart. Nothing on a roster page states its date. 3 sentences across the 15 reports name a fall and a student count; matched against the state’s October enrolment for the same school, 2 of them are closer to the year after the report’s own fiscal year and 1 to the year on the cover. So the panels pair each roster with the fiscal year it is labelled with, and that pairing is not established.
One thing that would close most of this. A date on the roster, and the word the town already uses for it — the district files a staff return to the state every 1 October, so the roster it prints in the annual report could say which return it is. That is a line of text in a document the town already publishes, and it would turn every panel here from a bound into a count.
Two of the state’s files agree about teaching posts, and about when the buildings changed
The teaching FTE on each panel is reached twice. DESE splits a school’s teaching posts by programme in one file and by grade band in another, collected separately — and the two totals agree in 81 of the 81 school-years both publish. The build refuses to write if that stops being true.
The same two files also settle the reorganisation without either knowing about the other. Lunenburg High carries teaching posts in the grades 6–8 band in FY13–FY16 and in no other year — exactly the years the enrolment file says grade 8 was in that building. Across every school, band and year, the teacher file and the enrolment file agree about which grades a building held in 287 of 288 cases. That is why scrubbing the selector back to FY16 shows the primary school holding grades PK–3 and the high school holding 8–12: the buildings really did change, and both instruments say so.
Two organisations counting the same teachers, and where they disagree
The town prints names; the state publishes full-time-equivalent teaching posts. They come from different records kept for different purposes and they overlap on one quantity, so they can be set against each other — and this is the only independent check the archive has on either of them at school level. A headcount above an FTE is ordinary: the state counts 123 teachers in Lunenburg holding 112.8 posts between them, so the average teacher holds 0.92 of one. What is worth marking is the other direction.
In 25 of the 54 school-years with both, the town printed fewer names than the state counts posts — which says the two documents cannot both be complete counts of the same people. It is not spread evenly: middle in 9 of 9, passios in 1 of 1, high in 8 of 15, turkey hill in 5 of 14, primary in 2 of 15. The middle school and the high school are the two that share a building. Which document is short is not established. Our reading of a scanned page, what the town chose to print, and an assignment the state counts at one of two co-located schools whose holder the town printed under the other all fit, and nothing here separates them.
The same instrument, pointed at the year the town printed two rosters. DESE’s teaching FTE for turkey hill is 22.0 in FY23, 21.9 in FY24, 19.0 in FY25 — flat across it. The two printed rosters hold 29 and 34 teaching names, which is 1.32 and 1.55 names per post; added together they would be 2.88, against a highest of 1.63 in every other school-year this archive holds. That is why the two rosters are shown apart and never summed.
Both counts, every school-year that has both
| Year | School | Teaching names printed | Teaching FTE (state) | Names per post | Fewer names than posts |
|---|---|---|---|---|---|
| FY11 | Lunenburg High | 23 | 36.5 | 0.63 | yes |
| FY11 | Thomas C Passios Elem | 9 | 22.4 | 0.40 | yes |
| FY11 | Lunenburg Primary School | 16 | 22.6 | 0.71 | yes |
| FY11 | Turkey Hill Middle | 33 | 20.8 | 1.59 | |
| FY12 | Lunenburg High | 39 | 37.9 | 1.03 | |
| FY12 | Lunenburg Primary School | 31 | 22.3 | 1.39 | |
| FY12 | Turkey Hill Middle | 28 | 28.7 | 0.98 | yes |
| FY13 | Lunenburg High | 40 | 46.7 | 0.86 | yes |
| FY13 | Lunenburg Primary School | 31 | 26.5 | 1.17 | |
| FY13 | Turkey Hill Middle | 29 | 29.9 | 0.97 | yes |
| FY14 | Lunenburg High | 44 | 44.4 | 0.99 | yes |
| FY14 | Lunenburg Primary School | 33 | 27.9 | 1.18 | |
| FY14 | Turkey Hill Middle | 31 | 28.3 | 1.10 | |
| FY15 | Lunenburg High | 43 | 44.8 | 0.96 | yes |
| FY15 | Lunenburg Primary School | 47 | 28.9 | 1.63 | |
| FY15 | Turkey Hill Middle | 31 | 28.0 | 1.11 | |
| FY16 | Lunenburg High | 33 | 44.6 | 0.74 | yes |
| FY16 | Lunenburg Primary School | 29 | 27.8 | 1.04 | |
| FY16 | Turkey Hill Middle | 32 | 32.2 | 0.99 | yes |
| FY17 | Lunenburg High | 30 | 35.7 | 0.84 | yes |
| FY17 | Lunenburg Middle School | 15 | 25.9 | 0.58 | yes |
| FY17 | Lunenburg Primary School | 29 | 23.5 | 1.23 | |
| FY17 | Turkey Hill Elementary School | 33 | 27.0 | 1.22 | |
| FY18 | Lunenburg High | 36 | 34.6 | 1.04 | |
| FY18 | Lunenburg Middle School | 21 | 28.9 | 0.73 | yes |
| FY18 | Lunenburg Primary School | 31 | 25.0 | 1.24 | |
| FY18 | Turkey Hill Elementary School | 34 | 24.5 | 1.39 | |
| FY19 | Lunenburg High | 35 | 32.0 | 1.09 | |
| FY19 | Lunenburg Middle School | 21 | 28.5 | 0.74 | yes |
| FY19 | Lunenburg Primary School | 27 | 23.5 | 1.15 | |
| FY19 | Turkey Hill Elementary School | 25 | 25.5 | 0.98 | yes |
| FY20 | Lunenburg High | 36 | 32.2 | 1.12 | |
| FY20 | Lunenburg Middle School | 20 | 27.7 | 0.72 | yes |
| FY20 | Lunenburg Primary School | 35 | 24.0 | 1.46 | |
| FY20 | Turkey Hill Elementary School | 28 | 22.6 | 1.24 | |
| FY21 | Lunenburg High | 29 | 30.8 | 0.94 | yes |
| FY21 | Lunenburg Middle School | 21 | 27.3 | 0.77 | yes |
| FY21 | Lunenburg Primary School | 27 | 25.2 | 1.07 | |
| FY21 | Turkey Hill Elementary School | 21 | 23.9 | 0.88 | yes |
| FY22 | Lunenburg High | 27 | 33.5 | 0.81 | yes |
| FY22 | Lunenburg Middle School | 28 | 29.1 | 0.96 | yes |
| FY22 | Lunenburg Primary School | 33 | 23.9 | 1.38 | |
| FY22 | Turkey Hill Elementary School | 34 | 23.6 | 1.44 | |
| FY23 | Lunenburg High | 44 | 35.8 | 1.23 | |
| FY23 | Lunenburg Middle School | 21 | 27.1 | 0.77 | yes |
| FY23 | Lunenburg Primary School | 33 | 26.7 | 1.24 | |
| FY23 | Turkey Hill Elementary School | 26 | 22.0 | 1.18 | |
| FY24 | Lunenburg High | 41 | 37.0 | 1.11 | |
| FY24 | Lunenburg Middle School | 24 | 27.7 | 0.87 | yes |
| FY24 | Lunenburg Primary School | 18 | 26.5 | 0.68 | yes |
| FY25 | Lunenburg High | 38 | 36.5 | 1.04 | |
| FY25 | Lunenburg Middle School | 21 | 25.1 | 0.84 | yes |
| FY25 | Lunenburg Primary School | 25 | 23.5 | 1.06 | |
| FY25 | Turkey Hill Elementary School | 26 | 19.0 | 1.37 |
Three different quantities are on this page, and only one of them is a count of people. A fourth — dollars — is deliberately on another page.
- Names the town printed. 3815 of them, across 15 annual town reports, FY11–FY25. A roster carries no FTE, so a 0.4 music teacher and a full-timer are one name each; no funding source; and no date within the year.
- FTE the state published. 17 years of it, FY09–FY25, from DESE rather than from the town. This is the only full-time-equivalent count in the archive.
- Headcount the state published. 3 years of it, FY21–FY23 — people, counted once each, by job classification. It is the only count of PEOPLE here, it is short, and it still carries no funding source.
- Dollars, which are not here. Net general-fund budget lines: a line is what the town has to raise after state aid, grants, fees and reimbursement have paid theirs, so a line can rise because a grant ended and nothing else changed. They are drawn on the paraprofessionals, apart from everything on this page, for exactly the reason in the paragraph below.
Nothing on this page divides a dollar by a person. Dollars over FTE looks like a cost per employee and is not one: the numerator leaves out every fund but the general fund, and the denominator counts the staff those funds pay for. The one division the page does make is headcount into FTE, which is two counts of staff from the same publisher and gives the average share of a post — and it is labelled as that everywhere it appears.
The programme-area split, drawn because refusing to draw it is how it stayed unexamined
Why DESE special education teacher FTE falls from 18.5 to 2.0 while total teacher FTE holds flat
| Year | General education | Special education | Career and technical | English learner | Total |
|---|---|---|---|---|---|
| FY08 | 101.0 | 18.5 | 0.0 | 0.0 | 119.5 |
| FY09 | 103.2 | 17.0 | 0.0 | 0.0 | 120.2 |
| FY10 | 100.4 | 20.0 | 0.0 | 0.0 | 120.4 |
| FY11 | 86.8 | 13.7 | 1.4 | 0.4 | 102.3 |
| FY12 | 99.8 | 13.8 | 0.8 | 0.0 | 114.4 |
| FY13 | 93.3 | 9.2 | 0.6 | 0.0 | 103.0 |
| FY14 | 92.0 | 8.0 | 0.6 | 0.0 | 100.6 |
| FY15 | 92.7 | 8.5 | 0.5 | 0.0 | 101.6 |
| FY16 | 92.8 | 10.8 | 0.6 | 0.5 | 104.7 |
| FY17 | 106.6 | 5.5 | 0.0 | 0.0 | 112.1 |
| FY18 | 108.6 | 6.5 | 0.0 | 0.0 | 115.1 |
| FY19 | 104.0 | 6.5 | 0.0 | 0.0 | 110.5 |
| FY20 | 101.9 | 5.5 | 0.0 | 0.0 | 107.4 |
| FY21 | 103.7 | 5.0 | 0.0 | 0.0 | 108.7 |
| FY22 | 106.8 | 4.5 | 0.0 | 0.0 | 111.3 |
| FY23 | 110.6 | 2.2 | 0.0 | 0.0 | 112.8 |
| FY24 | 113.0 | 1.0 | 0.0 | 0.0 | 114.0 |
| FY25 | 102.9 | 2.2 | 0.0 | 0.0 | 105.0 |
| FY26 | 101.4 | 2.0 | 0.0 | 0.0 | 103.4 |
People, not posts — the one count that is a headcount
Everything above counts full-time equivalents. The state publishes a headcount too — people, counted once each, by job classification — for 3 years, FY21–FY23. That is short, and it is the only place in this archive where the difference between a person and a post has a number attached to it.
In FY23 the state counted 123 people teaching in Lunenburg, holding 112.8 full-time equivalent posts between them: the average teacher holds 0.92 of a post, down from 0.95 in FY21. Paraprofessionals are the other way about — 59 people and 59.0 FTE, so almost every one of them is counted whole.
FY21–FY23, the only years the state publishes a headcount. Two DESE files; the gap between the pair is how much of a post the average member of that group holds.
People and posts, side by side
| Year | Teachers (people) | Teacher FTE | Share of a post each | Paraprofessionals (people) | Paraprofessional FTE | Share of a post each |
|---|---|---|---|---|---|---|
| FY21 | 114 | 108.7 | 0.95 | 60 | 59.5 | 0.99 |
| FY22 | 117 | 111.3 | 0.95 | 56 | 55.5 | 0.99 |
| FY23 | 123 | 112.8 | 0.92 | 59 | 59.0 | 1.00 |
Everyone the state counted, by job classification
Headcount, FY21–FY23
| Job classification | FY21 | FY22 | FY23 | New hires, latest | Retained, latest |
|---|---|---|---|---|---|
| Administrator | 14 | 17 | 19 | not published | 82.4% |
| Other - Licensed | 14 | 16 | 14 | not published | 56.3% |
| Other - Non-Licensed | 37 | 39 | 38 | not published | 79.5% |
| Paraprofessional | 60 | 56 | 59 | 14 | 66.1% |
| Teacher | 114 | 117 | 123 | 10 | 88.9% |
A headcount can say one more thing an FTE count cannot: who stayed. Of the paraprofessionals the state counted in FY23, 66.1% were retained from the year before, and 14 of the 59 were new. The School Committee voted a budget transfer for exactly this in the same period.
“$19,539 transfer to reconcile accounts for transfer’s associated with paraprofessionals, from resignations, internal transfers and new hires”
School Committee · minutes · 2023-11-01 · our copy · the town’s
A budget transfer voted in one meeting, for one job class, naming three kinds of movement at once. The state’s own retention file says only 66% of the paraprofessionals counted the year before were still there — this is what that number looks like inside the budget.
Against the districts in the same file
Headcount for each hundred pupils, FY23. This is a different comparison group from the one the rest of this page uses — 6 districts here against 14 on DESE’s radar sheet — so the two rankings are not interchangeable and the count of districts travels with every one of them.
Teacher
FY23 · headcount, not FTE · 6 districts, which is not the same comparison group as the rest of this page.
Paraprofessional
FY23 · headcount, not FTE · 6 districts, which is not the same comparison group as the rest of this page.
Lunenburg's standing in FY23, by job classification
| Job classification | Lunenburg per 100 pupils | Rank | Highest | Lowest |
|---|---|---|---|---|
| Administrator | 1.22 | 3 of 6 | Harvard 1.37 | North Middlesex 0.76 |
| Other - Licensed | 0.90 | 6 of 6 | Groton-Dunstable 1.40 | Lunenburg 0.90 |
| Other - Non-Licensed | 2.43 | 1 of 6 | Lunenburg 2.43 | Groton-Dunstable 1.45 |
| Paraprofessional | 3.78 | 2 of 6 | Ayer Shirley School District 4.10 | Groton-Dunstable 2.76 |
| Teacher | 7.87 | 5 of 6 | Harvard 9.02 | Ashburnham-Westminster 7.15 |
A correction this file caused, kept here because the shape repeats
`All Educators` is this file’s own total printed as a row beside seven race rows that sum to it. Reading both doubles every figure — which this project did once, publishing 38 administrators and 118 paraprofessionals where the file says 19 and 59. The build now refuses to write unless the naive sum is exactly twice the published figure, so if the state changes the shape of this file the page stops rather than quietly doubling or halving. Any column that prints a group total beside its own parts is the same trap.
What this does not show
Who is part-time. A share is an average over a whole job class. One full-timer beside one half-timer, and two people at three quarters, give the same figure. Nothing published gives the distribution.
Whether a post was filled all year. A headcount is a return for one point in the school year, exactly like the town’s printed rosters. A post held open for six months and filled for six is not distinguishable from either.
Who pays. Not one of these 3 years carries a funding source. That remains the question this whole archive cannot answer.
Counsellors, social workers, psychologists and nurses — and why they are the hardest group here to see
None of these people is a teacher on the state’s teacher returns, so the state’s FTE series contains none of them — not the school panels above, and not the district series on did staffing go up. The state’s workforce file reaches them for 3 years only and folds them into two residual buckets. What is left is the town’s own printed rosters — names, by school, FY11–FY25 — which carry no FTE, no funding source and no date within the year.
FY11–FY25 · 106 names in all
FY11–FY25 · 37 names in all
FY11–FY25 · 22 names in all
FY11–FY25 · 60 names in all
FY11–FY25 · 60 names in all
FY11–FY25 · 31 names in all
FY11–FY25 · 23 names in all
Names printed, FY11–FY25
| Role | Names in FY11 | Names in FY25 | Lowest | Highest | Years that rose |
|---|---|---|---|---|---|
| Counsellors | 9 | 7 | 5 | 10 | 7 of 14 |
| Psychologists | 1 | 3 | 1 | 5 | 5 of 14 |
| Social workers | 0 | 2 | 0 | 6 | 4 of 14 |
| Nurses | 4 | 4 | 2 | 8 | 6 of 14 |
| Speech | 3 | 5 | 2 | 7 | 5 of 14 |
| OT / PT | 1 | 4 | 1 | 4 | 2 of 14 |
| Librarians | 3 | 3 | 0 | 4 | 3 of 14 |
A count of names the town printed is a real quantity and it is not a staffing level. Two consecutive reports may be photographs taken at different points in the school year, and a change between them is a difference between two documents.
The one thing the state’s file does say about this group is who stayed, and it is the lowest figure in it. The bucket these people sit in — Other - Licensed, 14 people in FY23 — retained 56.3% of the previous year’s staff, against 88.9% for teachers. That is not a statement about counsellors. The bucket is a residual: it holds counsellors, social workers and psychologists and it also holds everyone else licensed who is not a teacher or an administrator, and DESE publishes no split of it. What can be said is that the group containing them turned over faster than any other group in the file.
“ESSER funds allowed the School Department to hire 13 new positions across the district. Social workers, guidance counselors, subject specialists, tutors, and technicians were all brought into the school”
Finance Committee · minutes · 2023-04-20 · our copy · the town’s
The single largest confound in any staffing series covering these years. DESE counts federally funded staff exactly like appropriated staff, so a grant arriving and a grant ending are both invisible in the FTE line.
“kept 2 social worker positions while cutting 2 budget funded guidance”
Finance Committee · minutes · 2024-02-21 · our copy · the town’s
The other end of the same grant. Positions were kept, cut and moved onto a different grant in one year — three different things that look identical in a headcount and in an FTE count alike.
“Information is broken out to social worker caseloads by bui lding”
School Committee · minutes · 2023-12-06 · our copy · the town’s
The district HOLDS a per-building social worker caseload, and told the School Committee so while deciding what to cut. It is not published, and it is the one document that would turn the roster’s printed names into a service level. (The space inside “building” is in the town’s own scanned text; the quote is what the archive holds, not our repair of it.)
“something you should be looking at to address social workers being cut”
School Committee · minutes · 2024-01-24 · our copy · the town’s
Public comment naming MassHealth reimbursement and outside agencies as ways to pay for the same work. Rule 11 in a sentence: the post is the same post and the fund is different, and no published document says which fund pays which post here.
A possible explanation — nothing here tests it
The ESSER grant paid for social workers, guidance counsellors, subject specialists, tutors and technicians — thirteen positions by the Finance Committee’s own account — and then ended. A roster that gains names in those years and loses them afterwards would look exactly like a district hiring and then cutting. So would a district doing neither while a grant arrived and left. Nothing in the rosters distinguishes the two.
What would settle it: The per-building social worker and adjustment counsellor caseload the district prepared for its own budget decisions — it told the School Committee it had one, in the quote above — with FTE and funding source beside each post. That is a records request rather than a download, and it is a row in what we cannot answer.
What the town itself printed — and why it is not a census
Every annual town report carries a faculty and staff roster for each school, by name. 3815 names in all, of which 3651 are in the comparable panel below. It is the only published thing in this archive that touches the standing question of whether budgeted positions were filled.
It cannot be read as a staffing trend, because what got printed changed. Which schools appear varies — there are 3 different combinations across 15 years. Central office is printed in 8 of them and left out of the rest, so it is excluded here entirely: a total that gains a whole page of names in some years and not others is measuring the page, not the payroll.
School buildings only. Central office and the regional vocational school are excluded — see below for why each.
Every year, and what was printed in it
| Year | Names | Rosters | Pages | Central office printed | Schools |
|---|---|---|---|---|---|
| FY11 | 194 | 4 | 6 | yes | Lunenburg High School, Passios Elementary School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY12 | 177 | 3 | 4 | yes | Lunenburg High School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY13 | 172 | 3 | 5 | no | Lunenburg High School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY14 | 210 | 3 | 4 | yes | Lunenburg High School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY15 | 230 | 3 | 6 | yes | Lunenburg High School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY16 | 252 | 4 | 5 | yes | Lunenburg High School, Lunenburg Middle School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY17 | 276 | 4 | 7 | yes | Lunenburg High School, Lunenburg Middle School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY18 | 277 | 4 | 6 | no | Lunenburg High School, Lunenburg Middle School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY19 | 251 | 4 | 7 | no | Lunenburg High School, Lunenburg Middle School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY20 | 249 | 4 | 4 | no | Lunenburg High School, Lunenburg Middle School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY21 | 233 | 4 | 5 | yes | Lunenburg High School, Lunenburg Middle School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY22 | 272 | 4 | 5 | yes | Lunenburg High School, Lunenburg Middle School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY23 | 265 | 4 | 7 | no | Lunenburg High School, Lunenburg Middle School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY24 | 272–279 | 4 | 8 | no | Lunenburg High School, Lunenburg Middle School, Lunenburg Primary School, Turkey Hill Elementary School |
| FY25 | 250 | 4 | 8 | no | Lunenburg High School, Lunenburg Middle School, Lunenburg Primary School, Turkey Hill Elementary School |
What this does not show
Full-time equivalence. A roster prints a name and a title. A 0.4 music teacher and a full-timer are one row each, and there is no way to tell them apart. This is the single reason a roster count cannot be compared to the state’s FTE, here or anywhere else on this site.
Who pays. No roster names a funding source. That is the question that matters most for the budget and it is answered nowhere in these documents.
When. The rosters are undated within the year. Two consecutive reports may be photographs taken at different points in the school year.
Whether a post was vacant. A name is a person the report named. A post held open all year appears nowhere at all, and looks exactly like a post that was never budgeted.
By role, on the panel that stays comparable
The same names, sorted by what the printed title says the person does. The classification is ours — 266 of 3651 names (7.3%) carry a title no rule recognised, and those are counted as unrecognised rather than quietly filed under “other”.
The eight roles with the most names across the whole run. Every panel is on the same vertical scale. The amber bar is FY24, where one school’s roster was printed twice and there is no way to split a role between the two.
FY11–FY25 · 1357 names in all
FY11–FY25 · 721 names in all
FY11–FY25 · 303 names in all
FY11–FY25 · 210 names in all
FY11–FY25 · 185 names in all
FY11–FY25 · 173 names in all
FY11–FY25 · 106 names in all
FY11–FY25 · 77 names in all
Every role category, first printed year to last
| Role | Names in FY11 | Names in FY25 | Total across the run |
|---|---|---|---|
| Teachers | 67 | 96 | 1357 |
| Paraprofessionals | 42 | 52 | 721 |
| Specialists | 11 | 11 | 303 |
| Title not recognised | 27 | 22 | 266 |
| Administrators | 10 | 16 | 210 |
| Custodial | 4 | 11 | 185 |
| Food service | 5 | 11 | 173 |
| Counsellors | 9 | 7 | 106 |
| Office staff | 5 | 3 | 77 |
| Nurses | 4 | 4 | 60 |
| Speech | 3 | 5 | 60 |
| Psychologists | 1 | 3 | 37 |
| OT / PT | 1 | 4 | 31 |
| Librarians | 3 | 3 | 23 |
| Social workers | 0 | 2 | 22 |
| Technology | 2 | 0 | 20 |
What this does not show
That a category rising means more of that job. Custodial and food service staff appear on some schools’ rosters and not others, in ways that change year to year. A category that doubles between two reports may be a category that started being printed.
That a category vanishing means a post was cut. A title the report stopped printing and a post the district stopped filling are the same absence on the page. This is why the names are kept: a person appearing under a new title separates a renamed post from a departure, and nothing else here can.
By school, in the most recent year with no double-printed roster
FY25. Names only — no FTE, no funding source, and 12 people appear on more than one school’s roster that year, which is district-wide staff in the source rather than a duplication in the extract.
What is wrong with this data, stated
Every item below is found by a rule in the generator rather than written down, so the counts move when the extraction improves instead of going quietly stale.
FY24: Turkey Hill Elementary School’s roster is printed twice
Pages 107 and 108 of the FY24 annual town report each carry a complete roster for that school — 61 names on one and 70 on the other, 33 of them on both, with different principals. Nothing on either page says which year it describes. Summing them doubles a school; picking one discards a document. That year is drawn as a range, and the range is the honest answer rather than a caveat under a single bar.
5 printed department headings came back from OCR unreadable
These roster pages are scans and are read by OCR. 39 of the 586 names filed under a heading that names a grade sit under a heading whose grade level cannot be read. The rule is that a heading containing the word grade must have a recognisable ordinal beside it; these do not. Nothing else on this page depends on the grade level, so the effect is that those names have a school and a role and no grade — not that any count is wrong.
| As OCR read it | Names | Years | Schools |
|---|---|---|---|
| Ith Grade: | 16 | FY19, FY21, FY25 | Lunenburg Middle School |
| econd Grade Teacher | 8 | FY23 | Lunenburg Primary School |
| secona Grade | 5 | FY12 | Lunenburg Primary School |
| 8t Grade Teachers | 5 | FY15 | Lunenburg High School |
| Gth Grade: | 5 | FY23 | Lunenburg Middle School |
Two things excluded, and why
- Monty Tech (regional vocational) — 6 names, printed in 1 of 15 years (FY19). administrators of the regional vocational school Lunenburg sends students to — not Lunenburg staff.
- Central office — 158 names, printed in 8 of 15 years (FY11, FY12, FY14, FY15, FY16, FY17, FY21, FY22). printed in some annual reports and not others, so including it moves the total in years when nothing changed.
The town publishes gross wages. They cannot be used to count school employees.
3545 rows across 13 years, one per named employee — and only 414 of them carry a department at all, so there is no way to tell a school employee from a highway employee for the rest. Every row is marked no check: the report prints no total, so nothing in the extraction can be reconciled against the document. It is a real dataset and it answers a different question.
The same staff, counted two other ways
Did staffing go up?
The state’s FTE series over a window you move yourself — and the count of how many spans of published years give each answer.
The paraprofessionals
The biggest single change in who Lunenburg’s schools employ, and the budget lines underneath it.
What the town said about this, and how much of the archive could be read
Every quote on this page is re-read out of the archive on each build and the build refuses to write if one is no longer verbatim there. These are the terms searched — in the town’s vocabulary rather than ours, which is why adjustment counselor and reduction in force are on the list despite returning nothing.
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.
What this page cannot say
- What Lunenburg’s counsellors, social workers, psychologists and nurses do as a series. None of them is a teacher on these returns; the state’s workforce file reaches them for three years only and puts them in two residual buckets; the town’s rosters name them and carry no FTE. The district DOES hold a per-building social worker caseload — it said so to the School Committee on 6 December 2023 while deciding what to cut — and it is not published.
- What share of a post any NON-TEACHING adult in a school holds. DESE publishes a full-time equivalent for teachers at school level and for nobody else — not for a paraprofessional, an administrator, a nurse, a counsellor, a custodian or a kitchen post, at any school, in any year. So the difference between a school panel’s roster count and its teaching FTE is not part-timers: it is everybody the FTE file does not reach.
- Which school year a printed staff roster describes. The rosters carry no date, and the town’s own prose suggests the school section may run a year ahead of the cover — three sentences across fifteen reports name a fall and a student count, and matched against the state’s October enrolment two are closer to the year after the report’s fiscal year and one to the year on it. The panels pair each roster with the year it is labelled with, and that pairing is not established.
- Which of two documents is short where a school printed fewer teaching names than the state counts teaching posts. It happens in 25 of the 54 school-years that have both, and it is concentrated in the two schools that share a building. Our reading of a scanned page, what the town chose to print, and an assignment the state counts at one co-located school whose holder the town printed under the other all fit the same numbers.
- How much of a post any individual holds. The headcount and the FTE together give an average share for a whole job class and nothing else: one full-timer beside one half-timer and two people at three quarters are the same figure.
What would close these
DESE’s EPIMS work assignment detail by school and job classification, which would put an FTE and a funding source beside every adult in a building rather than beside the teaching posts alone; and a dated roster, which would say which school year each printed page describes. Every limit on this page is also a row in what we cannot answer, which is the single registry the records request reads from.
The documents behind this
dese-teacher-data.xlsx
Massachusetts Department of Elementary and Secondary Education
Teacher FTE by district, by school and by core academic subject, with the state’s own students-per-teacher figure. FY2008–FY2026.
table dese_teacher_subject · 26.0 MB
sha256 4fbe81d65aee0bff…
dese-teachers-by-grade-subject.xlsx
Massachusetts Department of Elementary and Secondary Education
The same FTE split by grade band and across a much wider subject list — physical and health education, computer science, engineering and twenty more the core-academic file never prints. The subject series on this page is read from here and checked against the file above.
table dese_teacher_grade_subject · 136.2 MB
sha256 76a5498ba1b5d776…
dese-teachers-by-program-area.xlsx
Massachusetts Department of Elementary and Secondary Education
Teacher FTE split into general education, special education, career and technical, and English learner. Published on this page as a registered gap rather than as a finding — see the section that draws it.
table dese_teacher_program_area · 3.3 MB
sha256 9fa88b8e1906ea09…
dese-enrollment-by-grade.xlsx
Massachusetts Department of Elementary and Secondary Education
Enrolment by grade and by school, with students with disabilities, English learners, high needs and low income. FY1992–FY2026; the need measures start later and one of them changes definition twice.
table dese_enrollment · 13.4 MB
sha256 a2fb23dea70ce67d…
dese-educators-retention.xlsx
Massachusetts Department of Elementary and Secondary Education
Educator headcount and retention by job classification, FY2021–FY2023. The only state file that reaches counsellors, administrators and paraprofessionals as a group — three years, headcount not FTE.
table dese_educator_workforce · 1.6 MB
sha256 be8a87c9471e2697…
Where every figure on this page comes from
The rosters
3815 names read page by page out of 15 annual town reports. There is no total printed on a roster, so the check is line accounting — every non-blank line on a page claimed as an entry or a heading.
PROVENANCE-staff-rosters.md carries the per-page ledger.
The state’s FTE, headcount and enrollment
17 years of FTE, FY09–FY25, LEA 01620000; 3 years of headcount, FY21–FY23. Every measure reconciles against DESE’s own printed totals (161 yes).
sources/state-dese/radar-district-comparison.xlsx
This page’s own data file
Everything above is read at build time from sources/data/lunenburg.db — staff_roster_entries, role_classification, dese_measure, budget_figure, report_gross_wages by scripts/build_staffing_charts.py and served as one static file. Nothing is typed into a sentence.
Every other report
Every analysis this project has written, in one index, is at reports.