Data & downloads

4,162 meetings transcribed, Nov 1, 2025 to Oct 28, 2026, at 1,114 school boards · edition 2026-11-02

Downloads

Three files, one row per meeting, board or month

  • meetings.csv · every meeting read (4,162 rows), with a yes / no flag and the cue second for each of the 9 issues
  • districts.csv · 1,778 rows by NCES LEAID: the 1,775 boards with a page here, and 3 more the issue check read that have no board page yet (county offices of education); with enrollment and how many of their meetings we read
  • monthly.csv · meetings read and discussed, by issue and month

One file per issue, with a checked summary line where one sits near the discussion: Reading and test scores · Budget cuts and layoffs · AI in schools · Safety, weapons and police · Chronic absenteeism · Vouchers and school choice · Phones in school · Enrollment · School closures.

Not in these files: board members’ names, talk time, attendance, and anything a member of the public said. Boards we hold off the site are never in them.

Issues

How each issue was counted, and how sure we are

Issue (column)Discussed of readRule and runBlind check (lower bound)Catch rate (90% range)
Reading and test scores reading1,064 of 4,162Whole transcript, both readers yes · issuefull-103052 of 52 right (0.951)about 6 in 10 (54%–73%)
Budget cuts and layoffs cuts745 of 4,162Whole transcript, both readers yes · issuefull-103086 of 87 right (0.950)about 7 in 10 (59%–82%)
AI in schools ai372 of 4,162Whole transcript, both readers yes · issuefull-103052 of 52 right (0.951)about 8 in 10 (63%–93%)
Safety, weapons and police safety476 of 4,162Whole transcript, both readers yes · issuefull-103052 of 52 right (0.951)about 5 in 10 (42%–64%)
Chronic absenteeism absent451 of 4,162Whole transcript, both readers yes · issuefull-103086 of 87 right (0.950)about 7 in 10 (46%–83%)
Vouchers and school choice vouchers136 of 4,162Keyword remarks, both packet readers confirm · sb-issue-strict-1029d116 of 118 right (0.950)about 5 in 10 (44%–59%)
Phones in school phones352 of 4,162Whole transcript, both readers yes · issuefull-103052 of 52 right (0.951)about 9 in 10 (62%–96%)
Enrollment enroll570 of 4,162Whole transcript, both readers yes · issuefull-103052 of 52 right (0.951)about 7 in 10 (53%–82%)
School closures closures98 of 4,162Keyword remarks, both packet readers confirm · sb-issue-strict-1029d52 of 52 right (0.951)about 4 in 10 (34%–47%)

Readers: claude-sonnet-5-5 and gemini-4-argon, each reading blind. Checker: claude-opus-5-5, reading fresh counted meetings blind; the lower bound is the one-sided 95% Wilson bound (z = 1.645). The catch rate says how many of every 10 meetings that discuss the issue the rule counts, so every count is a floor. How we count.

From the readers’ answers to the published count

IssueBoth readers yesHeld: no checked cueCounted in the runNot in the site’s basePublishedOne yesNeitherNo answerAgreement on yes callsAgreement overall
Reading and test scores1,106−241,082−181,0643162,848287%92%
Budget cuts and layoffs771−12759−147452643,235285%93%
AI in schools375−0375−33721343,761284%96%
Safety, weapons and police485−6479−34764743,311267%88%
Chronic absenteeism470−9461−104511893,611283%95%
Vouchers and school choiceKeyword rule: counted when both packet readers confirmed the remarks, so there is no whole-transcript yes/no to compare.
Phones in school357−4353−1352873,826289%97%
Enrollment618−34584−145702853,367281%93%
School closuresKeyword rule: counted when both packet readers confirmed the remarks, so there is no whole-transcript yes/no to compare.

Every row adds up. In the issue run (4,272 meetings read), both readers said yes, one did, or neither did; a few meetings got no answer from a reader. A meeting both readers called yes counts only when the second where the discussion starts checks out against the transcript (otherwise it is held), and only while it is in the site’s base: one meeting per board per day (a second video that day joins the first), a checked date in the issue year that the board’s page also shows as confirmed, a public video link, and not dropped by the meeting audit. Agreement on yes calls is 2 × both ÷ (2 × both + one); agreement overall also counts the meetings neither reader flagged, which is why it runs higher.

Codebook

What each column means

meetings.csv

ColumnTypeDefinitionSource
meeting_idtextOur id for the meeting: one row per board per day. A second video that day (a part 2, or a session filmed apart) joins the first, and the id is the first video's transcript. Stable across editions.Hamlet
leaidtext (7 digits)The district's NCES Local Education Agency id. Join key to the Common Core of Data, Census and finance files.NCES CCD
statetextTwo-letter state code.NCES CCD
districttextThe district's name as it appears on our board page, else its federal name.NCES CCD / district site
datedateMeeting date, checked against a second source (video listing, the date spoken at the meeting, or the clerk's calendar).Video listing, transcript, clerk
video_host, video_id, video_urltextWhere the district posted the video, and its id and address. Public; no password.District video channel
<issue>yes / noyes when the meeting discussed the issue by that issue's rule (see the issue table below). The issue files use the same yes / no.Issue check run
<issue>_cue_secondintegerSeconds into the video where the discussion starts; checked against the transcript. Empty when 0.Issue check run
data_datedateThe edition date: the day this file was built.Hamlet

districts.csv

ColumnTypeDefinitionSource
leaid, state, districttextAs in meetings.csv.NCES CCD
enrollment, enrollment_band, enrollment_yearinteger, text, textStudents enrolled and its size band.NCES CCD 2023-24
meetings_on_recordintegerBoard meetings on our record for the district (one per board per day).District videos
meetings_past_12_monthsintegerOf those, meetings on checked dates in the 12 months to the edition date.District videos
meetings_readintegerMeetings the issue check read: the district's share of the denominator.Issue check run

monthly.csv

ColumnTypeDefinitionSource
issue, monthtextIssue key and calendar month (YYYY-MM) of the meeting.Issue check run
discussed, readintegerMeetings that discussed the issue, and meetings read, that month. Months differ in how many meetings we read (it follows when we gathered the video: August and September hold about a third of the year) and they follow the school calendar, so month-to-month change is not a trend. The file's first line says so, starting with #.Issue check run

One issue’s file (issues/<issue>/csv)

ColumnTypeDefinitionSource
discussedyes / noWhether the meeting discussed the issue by its rule.Issue check run
cue_second, video_linkinteger, URLThe second the discussion starts, and the district's video opened there (YouTube and Granicus; other hosts open at the start).Issue check run
summary_linetextThe line of our checked meeting summary nearest the cue, within ten minutes, as the meeting page prints it. Empty when none is near. Never a public comment, a routine line (roll call, pledge, adjournment) or a line naming a board member.Checked summaries
rule, run_idtextThe counting rule and the run that applied it.Issue check run
Cite this

Cite the edition date

Hamlet School Boards, edition 2026-11-02, https://schools.myhamlet.com/school-boards/data, data as of Nov 2, 2026.

@misc{hamlet_school_boards_20261102,
  author = {Hamlet},
  title = {Hamlet School Boards: meetings of US school boards that post video, and the issues they discussed},
  year = {2026},
  edition = {2026-11-02},
  url = {https://schools.myhamlet.com/school-boards/data},
  note = {Data as of 2026-11-02. Numbers rebuild daily; cite the edition date.}
}

The numbers rebuild daily as new meetings arrive, so a count can move from one day to the next. Cite the edition date, and keep the files you used.