Data audit (P1)
| file | SHA-256 | data rows | cols | date range | empty cpi | dup dates | gaps |
|---|---|---|---|---|---|---|---|
| cpi_vintage_2016-07-15.csv | 281fbcdd6a6eeb3e9cb7c1f20476e6bd1f7b925bf140606fe46538fe83f2c83e | 834 | date,cpi | 1947-01..2016-06 | 0 | 0 | none |
| cpi_vintage_2026-10-28.csv | 8220d5b4d70ca32fc2c7b1975651c515967db8a87053cf725159c63ed274cfba | 153 | date,cpi | 2014-01..2026-09 | 1 (2025-10) | 0 | none |
| cpi_assembled.csv | ff732b201a525d6fb171d4e8b2d470f986863c1547a1928e42bb197c0777d44d | 957 | date,cpi,vintage | 1947-01..2026-10 | 1 (2025-11) | 0 | 2016-07 absent |
SHA-256 values match bundle.json. (README lists hashes of the raw downloads, before reformatting; they differ from the reformatted files, as the README explains.) Units: index 1982-84=100, SA, monthly. No non-numeric values, no month-on-month moves >3%.
Anomalies
- 2026-10-28 vintage has no value for 2025-10 (empty cell; source publishes none). => g_2025-10 not computable (no imputation). 2026-10 would also lack lag but is outside the window.
- Vintages overlap 2014-01..2016-06 (30 months); values differ (revisions, mean diff -0.0013, range -0.455..+0.330). Rule: use 2026-10-28 vintage.
- cpi_assembled.csv has assembly errors: (a) uses the 2016-07-15 vintage for 2014-01..2016-06 instead of the latest vintage; (b) 2016-07 missing; (c) from 2016-08 on, every value is shifted one month later (assembled value at month m = 2026 vintage value at m-1), so the empty cell appears at 2025-11 and the file runs to 2026-10. Handling: assembled file is NOT used for computation; read only for audit/cross-check. The two vintage files are authoritative.
Availability
No input violates the rules; the 2026-10-28 vintage is the latest, and both vintages are in data/.