How GroundTally works
Every business day we ingest issued building permits from 18 metro open-data
portals (Socrata and ArcGIS APIs), archive the raw records verbatim, and normalize each permit
into one event model: timestamp, location, permit class, trade, valuation, and contractor.
Normalization that matters
- Project-level valuations. Cities issue multiple section permits that each repeat a
project's full value — naive totals overstate construction by up to 21x. We deduplicate to
projects before summing anything.
- Renewals excluded. New York permit renewals are filtered out of activity counts.
- One taxonomy. Twelve different permit vocabularies map to one residential/commercial
and trade classification, with per-city coverage documented below.
Validation against official statistics
Monthly, we compare our new-residential-construction counts against the U.S. Census Bureau's
Building Permits Survey — the official statistic, published with a ~2-month lag. GroundTally's
value is the same signal, weeks earlier and at permit-level detail. The current comparison:
GroundTally vs Census Building Permits Survey
BPS counts new residential buildings authorized per month (official statistics,
~2-month lag, city-jurisdiction scope). GroundTally column = permits matching each
source's new-residential-construction vocabulary. Levels differ where jurisdiction
boundaries differ; the trend correlation (Pearson r on monthly counts) is the
validation signal.
Austin — r = 0.91 (tracks official data), level ratio 1.39x
Baton Rouge — r = 0.41 (weak correlation), level ratio 0.41x
Chicago — r = 0.48 (weak correlation), level ratio 2.53x
Cincinnati — r = 0.80 (tracks official data), level ratio 0.53x
Los Angeles — r = 0.82 (tracks official data), level ratio 1.18x
Montgomery County — r = 0.23 (poor correlation), level ratio 3.56x
New York — not comparable yet
New-building classification requires joining a separate source dataset.
Norfolk — r = 0.88 (tracks official data), level ratio 1.99x
Raleigh — r = 0.82 (tracks official data), level ratio 0.83x
San Francisco — r = 0.77 (tracks official data), level ratio 1.36x
Seattle — r = 0.98 (tracks official data), level ratio 1.10x
Washington — r = 0.55 (weak correlation), level ratio 1.34x
Baltimore — not comparable yet
New-building classification requires joining a separate source dataset.
Boston — r = 0.76 (tracks official data), level ratio 0.51x
Columbus — r = — (too few months), level ratio 0.00x
Miami — r = 0.56 (weak correlation), level ratio 15.38x
New Orleans — r = — (too few months), level ratio 0.00x
Philadelphia — r = 0.71 (tracks official data), level ratio 6.49x
Summary
- Austin: r=0.91 (tracks official data)
- Baton Rouge: r=0.41 (weak correlation)
- Chicago: r=0.48 (weak correlation)
- Cincinnati: r=0.80 (tracks official data)
- Los Angeles: r=0.82 (tracks official data)
- Montgomery County: r=0.23 (poor correlation)
- New York: n/a
- Norfolk: r=0.88 (tracks official data)
- Raleigh: r=0.82 (tracks official data)
- San Francisco: r=0.77 (tracks official data)
- Seattle: r=0.98 (tracks official data)
- Washington: r=0.55 (weak correlation)
- Baltimore: n/a
- Boston: r=0.76 (tracks official data)
- Columbus: r=— (too few months)
- Miami: r=0.56 (weak correlation)
- New Orleans: r=— (too few months)
- Philadelphia: r=0.71 (tracks official data)
Known scope caveats
- Chicago / Washington DC: no residential flag in the source; our count includes commercial new construction.
- Baton Rouge: ours covers all of East Baton Rouge Parish; BPS row = city + unincorporated parish only.
- Montgomery County: BPS row is the unincorporated area; incorporated cities (Rockville, Gaithersburg) file separately.
- BPS current-month files are preliminary and revised later; we re-fetch on every run.