Data audit (P1)
| file | SHA-256 (computed) | matches README | data rows | cols | date range | missing | dup dates |
|---|---|---|---|---|---|---|---|
| UNRATE.csv | 621ff6fa…a06c | yes | 945 | 2 (observation_date, UNRATE) | 1948-01-01 … 2026-09-01, monthly (gaps 28–31 days) | 1 (2025-10-01 empty) | 0 |
| GDPC1.csv | 1c6c6e9f…3343 | yes | 319 | 2 (observation_date, GDPC1) | 1947-01-01 … 2026-07-01, quarterly (gaps 90–92 days) | 0 | 0 |
| README.md | cb177a40…6e3c | – | – | – | – | – | – |
Units: UNRATE percent (SA); GDPC1 billions of chained 2017 USD, SAAR. Ranges: UNRATE 2.5–14.8; GDPC1 2172–24611. No non-numeric values except the one empty UNRATE field.
Anomaly: UNRATE for 2025-10 is missing (empty). It lies outside the window 1959Q4–2019Q4, so no quarter used is affected; documented in results.json data_issues. Every quarter 1959Q4–2019Q4 has exactly 3 monthly UNRATE values and one GDPC1 value (asserted in analysis.py).
Information availability: data are current vintage (not real-time) — accepted as given per TASK.md. Observations outside 1959Q4–2019Q4 are not used (post-2019 and pre-1959Q4 quarters excluded; ledger in out/exclusions.csv, quarterly units: 319 → 240).