# Data audit (2026-10-30) | file | sha256 | rows | cols | columns | date range | missing | dup dates | gaps | range | |---|---|---|---|---|---|---|---|---|---| | data/current_vintage.csv | 1af2590d79adb8d3c6fad4328d306c96bb6ed9980120eae58bb9471fffbb0562 | 318 | 2 | ['observation_date', 'A191RL1Q225SBEA'] | 1947-04-01..2026-07-01 | NA=0 | dup_dates=0 | gaps>1q=0 | min=-28.0 max=34.9 | | data/first_release.csv | ab843c9fc4e6b700f5bb95169f15fb506f7a7a1a3c22a91b31cb29031c5795bb | 13 | 3 | ['quarter', 'first_release_value', 'first_release_vintage_date'] | 2023-07-01..2026-07-01 | NA=0 | dup_dates=0 | gaps>1q=0 | min=-0.3 max=4.9 | | data/vintages/A191RL1Q225SBEA_vintage_2024-01-31.csv | 7ce218fb21aba2e9ee40736a1d3ee02becde628a21242ed43340dd1411d6f243 | 307 | 2 | ['observation_date', 'A191RL1Q225SBEA_20240131'] | 1947-04-01..2023-10-01 | NA=0 | dup_dates=0 | gaps>1q=0 | min=-28.0 max=34.8 | | data/vintages/A191RL1Q225SBEA_vintage_2024-04-30.csv | 62c1dfce6e53079837f706a5edd6f14731c91d3f630b2cad666325f2259197cb | 308 | 2 | ['observation_date', 'A191RL1Q225SBEA_20240430'] | 1947-04-01..2024-01-01 | NA=0 | dup_dates=0 | gaps>1q=0 | min=-28.0 max=34.8 | | data/vintages/A191RL1Q225SBEA_vintage_2024-07-31.csv | 6f94259143ad489c021648dfebe7fda9ea6d17d2bbf22a43761d1abf291179da | 309 | 2 | ['observation_date', 'A191RL1Q225SBEA_20240731'] | 1947-04-01..2024-04-01 | NA=0 | dup_dates=0 | gaps>1q=0 | min=-28.0 max=34.8 | | data/vintages/A191RL1Q225SBEA_vintage_2024-10-31.csv | c4c51edee290f73a951171c30a9931f4a4bc2a7584aeb92ed9ce3de1cb9e0003 | 310 | 2 | ['observation_date', 'A191RL1Q225SBEA_20241031'] | 1947-04-01..2024-07-01 | NA=0 | dup_dates=0 | gaps>1q=0 | min=-28.1 max=35.2 | | data/vintages/A191RL1Q225SBEA_vintage_2025-01-31.csv | 10a5e02e6ef0134dbb4091470ad28b7f59c24462364352b16fcbfb644e0faee2 | 311 | 2 | ['observation_date', 'A191RL1Q225SBEA_20250131'] | 1947-04-01..2024-10-01 | NA=0 | dup_dates=0 | gaps>1q=0 | min=-28.1 max=35.2 | | data/vintages/A191RL1Q225SBEA_vintage_2025-04-30.csv | 1f19c975a6c3b721e0c4b82c014aca160c4694791bf63751e8c79c24b5085d1a | 312 | 2 | ['observation_date', 'A191RL1Q225SBEA_20250430'] | 1947-04-01..2025-01-01 | NA=0 | dup_dates=0 | gaps>1q=0 | min=-28.1 max=35.2 | | data/vintages/A191RL1Q225SBEA_vintage_2025-07-31.csv | f1e7c5563a6e313a58391f750023f8ea60e5a47c7f03df41f7ab593e6b2157a9 | 313 | 2 | ['observation_date', 'A191RL1Q225SBEA_20250731'] | 1947-04-01..2025-04-01 | NA=0 | dup_dates=0 | gaps>1q=0 | min=-28.1 max=35.2 | | data/vintages/A191RL1Q225SBEA_vintage_2025-12-31.csv | c111c070f3d074de0e725bb6164aaa83ccbf17ceda9bac9356e7f50f42a8d4a7 | 314 | 2 | ['observation_date', 'A191RL1Q225SBEA_20251231'] | 1947-04-01..2025-07-01 | NA=0 | dup_dates=0 | gaps>1q=0 | min=-28.0 max=34.9 | All SHA-256 values match data/README.md and bundle.json. Units: percent change from preceding quarter, SAAR (percentage points). Quarters dated by first day; no gaps, no duplicates, no missing values. ## Observations / anomalies - COVID quarters 2020Q2 (≈ -28) and 2020Q3 (≈ +35) are extreme outliers in every vintage; they would dominate OLS of an AR model. Handling: AR estimation sample excludes dependent quarters 2020Q2–2020Q4 (so neither 2020Q2 nor 2020Q3 appears as regressand or regressor). - Each vintage's last value equals the first-release value of that quarter in first_release.csv (consistency check, done in analysis.py). - Earlier quarters are revised across vintages (e.g. 2025Q1: -0.3 → -0.5 → -0.6 in successive vintages; current 0.1). Handled by using only the origin's vintage at each origin. - 8th origin is 2025-12-31 (not 2025-10-31) because the 2025Q3 advance release was delayed by the shutdown; the 2025Q4 first release is dated 2026-02-28 (also delayed). The 2025-12-31 origin's h=1 target (2025Q4) and h=2 target (2026Q1) are thus 2 and 4 months away rather than the usual ~3/6 months. Documented, no action. - First-release vintage dates of all 16 targets are strictly after their origin dates (checked in analysis.py) → no look-ahead. ## Availability-rule handling current_vintage.csv is read only to compute mean_abs_revision_h1_targets. first_release.csv is used only as actuals. No input violates the rules.