Data audit (P1)
| file | SHA-256 | rows (excl. header) | cols | range | missing | dup dates |
|---|---|---|---|---|---|---|
| data/GDPC1.csv | 1c6c6e9f59e383e20c849dd299175c7a307526c09abdc18f18da9754fc5b3343 (matches README) | 319 | 2 (observation_date, GDPC1) | 1947-01-01 – 2026-07-01, quarterly, no gaps | 0 | 0 |
| data/UNRATE.csv | 621ff6fadf50910cb7a21ee20ba610c247cb043b29b4e05c4c1a72fadca2a06c (matches README) | 945 | 2 (observation_date, UNRATE) | 1948-01-01 – 2026-09-01, monthly, no date gaps | 1 (2025-10-01 empty value) | 0 |
| data/README.md | 7e61e05785988f6cf32be948415ecb9511994533c3a1ef76958fd13ffc4a8658 | – | – | – | – | – |
Units: GDPC1 billions of chained 2017 USD, SAAR (range 2172–24611); UNRATE percent SA (range 2.5–14.8). No non-numeric values except the one empty UNRATE cell.
Anomalies / decisions:
- UNRATE 2025-10 missing (outside window; irrelevant). Rule: quarters are averaged only when 3 valid months exist; no imputation.
- Both series extend to 2026 → violate the "no post-2019Q4" rule if used; truncated to 1959Q4–2019Q4 before any computation. 1959Q4 used only as lag level.
- Window 1959Q4–2019Q4: 241 complete, consecutive quarters in both series (asserted in code). After differencing: 240 = 1960Q1–2019Q4.
- GDPC1 is a 2026 vintage, not real-time; acceptable since the question is historical; noted as limitation.