SPB Git

spb/wp29_uqo

Public
3.7 KB · 35 lines markdown
1# Data audit (P1) — 2026-10-3023All SHA-256 values computed with `shasum -a 256` match those in data/README.md exactly (24 CSV files). Row counts (data rows after header) also match README.45| file | rows×cols | first | last | missing | dup dates |6|---|---|---|---|---|---|7| RSAFS_vintage_2025-10-31 | 404×2 | 1992-01 | **2025-08** | 0 | 0 |8| RSAFS_vintage_2025-11-30 | 405×2 | 1992-01 | 2025-09 | 0 | 0 |9| RSAFS_vintage_2025-12-31 | 406×2 | 1992-01 | 2025-10 | 0 | 0 |10| RSAFS_vintage_2026-01-31 | 407×2 | 1992-01 | 2025-11 | 0 | 0 |11| RSAFS_vintage_2026-02-28 | 408×2 | 1992-01 | 2025-12 | 0 | 0 |12| RSAFS_vintage_2026-03-31 | 409×2 | 1992-01 | **2026-01** | 0 | 0 |13| RSAFS_vintage_2026-04-30 | 411×2 | 1992-01 | 2026-03 (adds 2 months) | 0 | 0 |14| RSAFS_vintage_2026-05-31 | 412×2 | 1992-01 | 2026-04 | 0 | 0 |15| RSAFS_vintage_2026-06-30 | 413×2 | 1992-01 | 2026-05 | 0 | 0 |16| RSAFS_vintage_2026-07-31 | 414×2 | 1992-01 | 2026-06 | 0 | 0 |17| PAYEMS vintages (10) | 1040…1050×2 | 1939-01 | 2025-08 … 2026-06; vintage 2025-12-31 ends 2025-11 (two months added at once) | 0 | 0 |18| UMCSENT.csv | 887×2 | 1952-11 | 2026-09 | 210 (all before 1978-01, quarterly survey era); none after | 0 |19| RSAFS_current.csv | 417×2 | 1992-01 | 2026-09 | 0 | 0 |20| first_release.csv | 28×5 | 2024-06 | 2026-09 | 0 | 0 |2122Units: RSAFS millions USD SA; PAYEMS thousands SA; UMCSENT index 1966Q1=100. All monthly, no internal gaps in any series (checked against a full monthly date range).2324## Anomalies / findings251. **Irregular publication timing**: last(V) is two calendar months before the origin month for the six origins 2025-10-31 … 2026-03-31 (last = 2025-08 … 2026-01; month-end vintages normally end one month before), and one month for 2026-04-30 … 2026-07-31; vintage 2026-04-30 adds 2026-02 and 2026-03 at once, so 2026-03 is never an h=1 target. Handled per task rule: targets are last(V)+h, not calendar-based. Consequence: some target months are shared between h=1 and h=3 (13 distinct target months).262. **first_release.csv consistency**: recomputed 100·ln(level/prev) matches `yoy_first_release` to < 5e-7 (rounding). For each origin, the last row of the vintage equals `level_first_release` and the 12-month-earlier level equals `level_prev_year_same_vintage` whenever the first-release vintage equals V (checked; all 10 match). For origin 2025-10-31 (last=2025-08) the first-release vintage of 2025-08 is 2025-09-30, but levels still match.273. **Annual/benchmark revision of RSAFS levels**: RSAFS_current levels are ~4% lower than the 2026-07-31 vintage for 2025 months, and `level_prev_year_same_vintage` jumps between the target months 2026-07 (727176) and 2026-08 (700218) — a level rebasing occurred between the 2026-08-31 and 2026-09-30 vintages. The YoY of current data is systematically lower than first release (~0.3–0.8 pp). This affects h=3 targets 2026-08 and 2026-09 (first-released after the rebasing) and estimand (d). Handled: no adjustment (the task defines the actual as first release); documented.284. **PAYEMS** may extend beyond last(V) of RSAFS (e.g. V=2025-12-31: PAYEMS ends 2025-11, RSAFS 2025-10). Not used by my model (see decisions).295. **UMCSENT** is a current vintage; per README and TASK it is unrevised and the origin-month value is available at month-end. Not used by my model.3031## Availability-rule violations / handling32- RSAFS_current.csv would violate the rule if used in forecasts → used only in the revision computation (estimand d), in a separate code block.33- first_release.csv contains post-origin information → used only as evaluation actuals.34- No other file violates the rules provided vintage V is used only at origin V (enforced in code by loading files by origin date).35
Files · main
Menu

Theme