Methods and instruments
EXPLORATORY. Loading the stamp…
This study asks how people at Bay Area public meetings feel about housing density and transit. Every score on this page is on the proposal that was being discussed, not on housing or transit in general.
Because every score is on the proposal under discussion, a separate pass corrects the direction before the YIMBY and NIMBY labels are formed. For each discussion stretch it takes the agenda item title and the first 600 words of the stretch, officials and staff first. It records whether the proposal would add or restrict housing, whether it would add or restrict transit, or whether the proposal is not about how much gets built or how much service runs. Each stretch is coded three times and the majority label is kept. Where the proposal restricts housing or transit, the sign of every score in that stretch is flipped. The corrected score then measures support for more housing or transit rather than support for the proposal.
A second read widened that rule, on the owner's decision of 2026-10-24. A proposal counts as adding when adopting it makes more housing or more service likely, even if it builds nothing itself. That covers impact fee studies, plan updates and the contracts that fund them, lowering or removing a parking minimum, and capacity and power contracts for more service. Raising a parking requirement counts as restricting housing. The second read also puts rent, fare and tenancy rules in a value of their own, so price rules are named rather than grouped with everything else that is not about building. Only the 415 stretches the first rule had left without a direction were read again, three times each, and their new labels replace the first ones. Stretches left out: price rules, open public comment and agendas with several items at once, stretches where the three codings differed, and statements whose own topic the proposal does not touch. Of 1,212 scored stretches, 715 are a single proposal, 474 survive every exclusion and 55 of those have the sign flipped; the three codings differed on 81. The instruments are dir-fe5e7ffebe/claude-sonnet-4-6 and dir-7aa142b3bf/claude-sonnet-4-6 through the Message Batches API. They cost $6.26 and $3.72 on 2026-10-24.
A rent rule is about the price of housing, not about how much of it gets built, so support for one is neither support for nor opposition to more housing. Price rules are left out of the labels rather than counted with the sign they carry.
The four LLM instruments this study runs on, quoted in full, with their hashes, the model behind each one, what was measured about them, and what is wrong with those measurements. Every block on this page is read out of the repo at build time by export/export_methods.py, not typed here. A test recomputes each block's hash from the source, so the page cannot drift from the instrument.
Transcript quotations on this site are transcribed speech, with names, home addresses and contact details removed by pipeline/redact.py, and cuts inside a quotation marked “…”.
- An instrument agreeing with itself is not the same as an instrument being right.
- The limitations list in section 6 is the part to read before any number on the dashboard.
- The results these instruments produced are on the dashboard.
1. How the data was made, step by step
Loading…
Click a step
What that step decided, and the files that do it, appear here.
The chart is wider than a phone screen. Drag it sideways to read the rest.