Methodology: Federal disaster declarations (since 2015)

Every figure carrying this label on a county page is computed exactly as described below, from public government data. Nothing is estimated or editorialized.

What it measurescounty-designated federal disaster declarations
Unitdeclarations
Source datasetFEMA — OpenFEMA Disaster Declarations Summaries v2
Data version / accessedthrough 2026-07 (cube build 2026-07-21b, generated 2026-07-21)
Exact source fieldsdisasterNumber, declarationType, fipsStateCode, fipsCountyCode, declarationDate
FormulaCOUNT(fct_declaration) per county x declaration-month x hazard
Predicates / filterscounty-designated rows (fipsCountyCode != '000') naming the county, declarationDate month within the registered window; counted per distinct disasterNumber
Date semanticsDECLARATION issuance month (not incident month)
Window boundaries2015-01 (registered start) through 2026-07 (last complete declaration month)
Roundingnone (integer count)
Suppression ruletile hidden when the windowed count is 0
Minimum sample (min_n)1
GeographyUS county (FIPS)

Internal build query

This query runs against our internal data cube (private cube_*/fct_* tables built from the public sources below). It is exact but not runnable by a reader — use the public reproduction recipe that follows.

SELECT COALESCE(SUM(declarations_count),0)
FROM cube_county
WHERE county_fips = :fips AND month >= '2015-01';

Reproduce from the public source

This recomputes the figure from the raw public dataset. Public data is live and may run ahead of our snapshot (see the data version above); numbers can differ by rows added since our ingest vintage.

OpenFEMA DisasterDeclarationsSummaries v2 — fema.gov/api/open/v2:
  $filter = state eq 'TX' and designatedArea eq '<County> (County)'
            and declarationDate ge '2015-01-01'
  $select = disasterNumber,declarationType,declarationDate  $count=true
Count DISTINCT disasterNumber in the result.

Worked example: Harris County: 14 declarations since 2015 (an all-time count would show 41 — the window is why they differ).

Change log

2026-07-21 (r3) — window boundaries corrected (no windowed metric reads "not windowed"); LIMIT/ordering/geography/status predicates documented; the query relabeled the internal build query and paired with a public raw-source reproduction recipe.
2026-07-21 — record published with source URL, exact fields, predicates, window boundaries, rounding, suppression, and a worked example. Prior records disclosed a formula only.

Corrections

Spotted an error? Corrections: [email protected]. We publish the fix and note it in this change log.

Independent professional (adjuster/restoration) review of the guidance built on these figures is pending and blocks release (D2). This record documents the data method only; it is not insurance, legal, or engineering advice.