Municipal records rarely arrive in the unit a researcher ultimately wants. A meeting can contain matters, grouped motions, attachments, status assignments, absences, and later reports. Flattening those objects into one table makes analysis convenient, but it can erase the relationship that defines the denominator.
Chicago's October 16, 2025 zoning record provides a compact design test. The official API returned 93 matters and 50 person-status rows for each. Twenty-one matters shared the same status vector. The Clerk's separate divided-roll-call report identifies one grouped floor roll call covering that set.
The observation depends on the question
| Candidate unit | Supported count | Valid use | Invalid shortcut |
|---|---|---|---|
| Meeting | 1 | Describe the selected council session | Treat as all city land-use activity that day |
| Matter record | 93 | Measure matter exposure within the query frame | Treat each matter as an independent motion |
| Matter-person status | 4,650 | Report exact source status assignments | Treat each row as a distinct act of voting |
| Confirmed grouped floor roll call | 1 across 21 matters | Count the documented grouped decision | Assume the other 72 matters equal 72 motions |
| Independent member choice | Not established for the full frame | Remain unknown until motion grouping is resolved | Use the 4,650 rows as the denominator |
The source graph comes before the analysis table
The meeting-agenda endpoint supplies the meeting identity and matter links. The exact matter query defines the 93-record frame. A vote route supplies person-status rows for each matter. The divided-roll-call report supplies the grouping evidence.
Those are different source objects. The analytic relationship is many matters to one documented floor roll call for the 21-matter subset. A flat matter-person table should retain a foreign key to the vote group or an explicit unresolved grouping state.
A minimum codebook
| Field | Origin | Purpose |
|---|---|---|
universe_definition | Researcher-declared | Exact category, time bounds, source, and retrieval date |
meeting_id | Source | Stable join to the meeting and its documents |
matter_id | Source | Preserve the policy record as a distinct object |
person_id | Source plus identity crosswalk | Resolve the member without relying on name text alone |
status_raw | Source | Retain Yea, Nay, Absent, and Not Voting without collapsing them |
vote_group_id | Source or documented derivation | Link matters covered by one motion or roll call |
grouping_status | Derived | Confirmed, rejected, possible, or unresolved, with citation |
cast_vote | Documented mapping | Separate Yea and Nay from noncast statuses |
observed_at | Retrieval | Make later source corrections auditable |
One frame supports several different estimands
Across the 4,650 rows, the raw labels total 4,329 Yea, 42 Nay, 186 Absent, and 93 Not Voting. That is a valid description of matter-person status assignments. It is not a count of independent voting choices.
Within the 21-matter grouped set, Anthony Beale and Pat Dowell each appear as Nay on 21 matter records. For a matter-exposure question, each has 21 Nay-labeled exposures. For a confirmed grouped-floor-choice question, the record supports one Nay in the grouped roll call for each member. Both statements use the same sources. They answer different questions.
The 72 remaining matters share a 47 Yea, 0 Nay, 2 Absent, 1 Not Voting vector. This audit does not establish how many distinct floor motions produced those rows. A defensible paper reports that grouping denominator as unresolved unless additional records resolve it.
A reproducible workflow
- Publish the exact source query and local-time interpretation before reporting results.
- Save native meeting, matter, person, and document identifiers.
- Retain raw vote and nonvote labels before mapping categories.
- Hash or version the source extract and record retrieval time.
- Identify repeated vectors as candidates for review, not proof of grouped action.
- Inspect the official agenda, committee minutes, journal, and divided-roll-call report.
- Create a vote-group relationship only when a source or documented rule supports it.
- Run each analysis at its declared unit and publish unresolved grouping.
The API's OpenAPI description documents the matter, meeting-agenda, and vote routes. The Zoning Committee minutes provide additional grouping context, including application of a previous committee roll call to a later set.
Required sensitivity checks
- Matter-weighted result: Each matter contributes once, even when several share a motion.
- Vote-group-weighted result: Each source-confirmed floor decision contributes once.
- Member-choice result: Each member contributes once per resolved vote group, with absences and nonvotes separate.
- Unresolved-grouping bound: Report a range when the number of independent decisions is not established.
- Coverage exclusion: State which bodies, categories, dates, or document types the source frame omits.
If a substantive conclusion changes when the unit changes, the unit is part of the result, not a technical footnote.
What this case supports
- A source-defined municipal frame can be reproduced from exact public endpoints and documents.
- Meetings, matters, person-status rows, motions, and member choices require separate tables or explicit relationships.
- Repeated status vectors are useful review signals but do not independently prove grouped action.
- Unknown denominators can be published as unknown without discarding the underlying records.
What it does not support
- The case is not representative of other Chicago meetings, policy areas, jurisdictions, or source systems.
- No motive, ideology, policy preference, or causal relationship is inferred from a vote label.
- The query is not a census of every Chicago land-use proceeding.
- The source may be corrected after retrieval, so the official current record remains controlling.
Sources
- Exact eLMS matter query, 93 records when checked August 2, 2026.
- Official meeting-agenda endpoint.
- Example official matter vote endpoint; the route pattern was requested for every matter.
- Attendance and Divided Roll Call report, especially page 9.
- October 2025 Zoning Committee minutes.
- Journal of Proceedings, Volume I; Volume II.
This is a public-record research-design example. It does not assess any official's motives, ethics, ideology, or overall voting record.