# Data audit (P1) | file | SHA-256 | rows (excl. header) | cols | range | frequency | missing | duplicate dates | |---|---|---|---|---|---|---|---| | data/GDPC1.csv | 1c6c6e9f59e383e20c849dd299175c7a307526c09abdc18f18da9754fc5b3343 | 319 | 2 (observation_date, GDPC1) | 1947-01-01 – 2026-07-01 | quarterly, no gaps (90–92 day steps) | 0 | 0 | | data/UNRATE.csv | 621ff6fadf50910cb7a21ee20ba610c247cb043b29b4e05c4c1a72fadca2a06c | 945 | 2 (observation_date, UNRATE) | 1948-01-01 – 2026-09-01 | monthly, no gaps (28–31 day steps) | 1 (2025-10-01 blank) | 0 | | data/README.md | 7e61e05785988f6cf32be948415ecb9511994533c3a1ef76958fd13ffc4a8658 | – | – | – | – | – | – | Hashes match README.md and bundle.json. Units: GDPC1 billions chained 2017 $, SAAR (only log-differences used, so units/annualisation of level irrelevant); UNRATE percent, SA. Ranges plausible (GDPC1 2172–24611; UNRATE 2.5–14.8). Anomalies / availability: - UNRATE 2025-10 blank: outside sample; quarterly average requires 3 valid months, so 2025Q4 would be NaN; no effect. - Both files run past 2019Q4: post-2019Q4 rows are dropped before any estimate (exclusions.csv step 2). - GDPC1 is the latest vintage (revised), not real-time; acceptable for the question (historical relationship), noted as limitation. Exclusion ledger (out/exclusions.csv, in GDP quarters): 319 − 51 − 27 − 1 = 240 analysed.