# WAVE2C S1 — Research diagnostic tables (ANES + Pew)

**Date:** 2026-09-09 ~2:15 PM PT  
**Job / research:** Hub `b73c292a` · research `176909d6`  
**Mode:** RESEARCH ONLY — **no scoring**, **no thresholds**, **no formula freeze**, **L1/M1 production untouched**  
**Hub mirror:** `/docs/wave2c-s1-diagnostic-tables`

---

## 0. Purpose

Concrete **research diagnostic tables** only:

1. ANES election-year mean **out-party** party feeling thermometer (FT) and **in−out gap** by PID lean (from landed CDF minimal extract).  
2. Pew cold/warm **shares** already extracted from landed PDFs (separate lineage).  

Not a splice, not a score, not Option A freeze.

---

## 1. No-score gate (explicit)

| Gate | Status |
|------|--------|
| S1 production / research **score** | **NOT computed** |
| 0–4 band crosswalk / thresholds | **Forbidden here** |
| L1-US-v0.1 / M1 changes | **None** |
| Phase / Load / Sync / PPS | **Not computed** |
| ANES↔Pew numeric splice | **Not done** |

---

## 2. ANES coding (descriptive; same as overlap sketch)

| Item | Choice for this diagnostic |
|------|----------------------------|
| Source extract | `data/raw/anes/extracts/anes_cdf_s1_minimal_pid_ft.csv` (73,745 rows) |
| Party FTs | `VCF0218` Democratic Party; `VCF0224` Republican Party |
| PID lean | `VCF0303`: 1 = Democrat incl. leaners; 3 = Republican incl. leaners (**Independents excluded**) |
| Out-party FT | Dem lean → Rep FT; Rep lean → Dem FT |
| Gap | in-party FT − out-party FT |
| Valid FT | numeric **0–97** (blank / >97 missing) |
| Primary means | **Unweighted** respondent means |
| Weights | `VCF0009z` available; weighted means shown only as a **robustness check** (not primary) |

Valid rows with both party FTs + Dem/Rep lean: **43,063**.  
Machine table: `data/s1/anes_election_year_outparty_ft_gap_by_pidlean.csv`.

### 2.1 Election-year diagnostic (unweighted) — selected years ≥1980

| Year | Dem lean n | Dem mean out-party FT | Dem mean gap (in−out) | Dem % out cold 0–49 | Rep lean n | Rep mean out-party FT | Rep mean gap (in−out) | Rep % out cold 0–49 |
|------|------------|------------------------|------------------------|---------------------|------------|------------------------|------------------------|---------------------|
| 1980 | 797 | 48.0 | 24.9 | 37.3 | 513 | 44.3 | 26.3 | 46.6 |
| 1984 | 1028 | 44.6 | 30.4 | 42.6 | 853 | 47.4 | 26.1 | 38.6 |
| 1988 | 921 | 45.7 | 30.5 | 40.2 | 796 | 45.4 | 29.7 | 41.1 |
| 1992 | 1196 | 40.8 | 31.0 | 53.9 | 902 | 43.1 | 23.5 | 51.1 |
| 1996 | 879 | 41.3 | 31.7 | 53.7 | 649 | 40.1 | 29.4 | 59.8 |
| 2000 | 862 | 41.8 | 32.4 | 52.0 | 663 | 40.4 | 29.3 | 56.3 |
| 2004 | 579 | 37.0 | 35.9 | 58.7 | 476 | 40.8 | 32.1 | 57.1 |
| 2008 | 1336 | 33.4 | 42.2 | 64.2 | 643 | 39.1 | 27.3 | 55.4 |
| 2012 | 3093 | 26.4 | 47.2 | 75.8 | 1986 | 28.8 | 37.5 | 75.4 |
| 2016 | 1903 | 26.9 | 43.4 | 77.8 | 1707 | 24.8 | 37.5 | 81.0 |
| 2020 | 3780 | 19.6 | 50.9 | 85.0 | 3394 | 17.7 | 53.8 | 86.9 |
| 2024 | 2631 | 19.2 | 52.1 | 88.0 | 2449 | 19.0 | 50.8 | 85.8 |

**One-line finding (not a score):** From 1980→2024, mean out-party FT falls from the mid-40s to ~19 on both leans, while mean in−out gap rises into the ~50s and out-party cold shares (0–49) rise into the mid/high-80s.

### 2.2 Weight robustness (selected recent years)

| Year | Lean | Out FT unweighted | Out FT weighted (`VCF0009z`) | Gap unweighted | Gap weighted |
|------|------|-------------------|------------------------------|----------------|--------------|
| 2012 | Dem | 26.4 | 26.7 | 47.2 | 45.5 |
| 2012 | Rep | 28.8 | 29.3 | 37.5 | 37.0 |
| 2016 | Dem | 26.9 | 26.8 | 43.4 | 43.9 |
| 2016 | Rep | 24.8 | 25.1 | 37.5 | 37.2 |
| 2020 | Dem | 19.6 | 20.6 | 50.9 | 49.7 |
| 2020 | Rep | 17.7 | 17.8 | 53.8 | 54.3 |
| 2024 | Dem | 19.2 | 21.1 | 52.1 | 48.9 |
| 2024 | Rep | 19.0 | 20.1 | 50.8 | 50.1 |

Weights change levels slightly (largest Dem gap shift 2024: 52.1→48.9) but **do not reverse** the long-run colding / gap-widening direction. Primary tables remain unweighted until a leaner+weight policy is predeclared for any replication freeze.

---

## 3. Pew cold / warm shares (landed extracts — separate lineage)

Sources: `data/raw/pew_affective/partisan_antipathy_cold_warm_shares_extract.csv` and `thermo_overall_distributions_extract.csv` (also copied under `data/s1/`).

### 3.A Partisan out-party cold shares (leaners **excluded** per 2019 report notes)

| Field window | Metric | Value % |
|--------------|--------|---------|
| 2016-03 | Democrats rate Republicans cold (0–49) | 61 |
| 2016-03 | Republicans rate Democrats cold (0–49) | 69 |
| 2016-03 | Democrats rate Republicans very cold (0–24) | 41 |
| 2016-03 | Republicans rate Democrats very cold (0–24) | 46 |
| 2019-09 | Democrats rate Republicans cold (0–49) | 79 |
| 2019-09 | Republicans rate Democrats cold (0–49) | 83 |
| 2019-09 | Democrats rate Republicans very cold (0–24) | 57 |
| 2019-09 | Republicans rate Democrats very cold (0–24) | 60 |
| 2019-09 | Democrats rate Democrats warm (51–100) | 82 |
| 2019-09 | Republicans rate Republicans warm (51–100) | 84 |

### 3.B Overall-adult thermometer bins + means (not PID-conditioned)

| Field end (approx) | Item | % 0–24 | % cold 0–49 | Mean |
|--------------------|------|--------|-------------|------|
| 2016-03 | Republicans | 25 | 40 | 46 |
| 2016-03 | Democrats | 22 | 34 | 51 |
| 2016-12 | Republicans | 23 | 33 | 50 |
| 2016-12 | Democrats | 19 | 32 | 52 |
| 2017-08 | Republicans | 31 | 47 | 41 |
| 2017-08 | Democrats | 28 | 42 | 45 |
| 2019-05 | Republicans | 25 | 42 | 47 |
| 2019-05 | Democrats | 22 | 35 | 51 |
| 2019-09 | Republicans | 32 | 47 | 44 |
| 2019-09 | Democrats | 29 | 43 | 47 |
| 2021-06 | Republicans | 34 | 47 | 42 |
| 2021-06 | Democrats | 31 | 41 | 46 |
| 2022-03 | Republicans | 32 | 46 | 43 |
| 2022-03 | Democrats | 34 | 45 | 43 |
| 2025-11 | Republicans | 36 | 48 | 41 |
| 2025-11 | Democrats | 34 | 48 | 41 |

**Pew one-line note (not a score):** Partisan cold shares rose sharply 2016→2019; overall-adult means drifted colder into the 2020s, with both parties near mean ~41 by Nov 2025.

---

## 4. Overlap caveats (carry forward — no formula)

| Topic | Observation |
|-------|-------------|
| Conditioning | ANES = PID lean **incl.** leaners; Pew antipathy cold = partisans **excl.** leaners; Pew overall = all adults |
| Statistic | ANES = continuous FT means / gap / cold shares among leaners; Pew extracts emphasize published cold/warm shares |
| Calendar | ANES election-year waves vs Pew ATP field windows — nearest-neighbor only; **no splice** |
| Lineage | Keep `pew_affective_pol` separate from ANES Option A candidate |

---

## 5. Explicit non-actions

- No `score_authorized(S1)`; no thresholds; no Option A freeze.  
- No ANES↔Pew merge into one series.  
- L1 / M1 production untouched.

## 6. Paths

| Artifact | Path |
|----------|------|
| This memo | `docs/s1/WAVE2C_S1_DIAGNOSTIC_TABLES.md` |
| Prior overlap sketch | `docs/s1/WAVE2C_S1_OVERLAP_SKETCH.md` |
| Evidence pull status | `docs/s1/WAVE2C_S1_EVIDENCE_PULL_STATUS.md` |
| ANES diagnostic CSV | `data/s1/anes_election_year_outparty_ft_gap_by_pidlean.csv` |
| S1 data provenance | `data/s1/provenance.json` |
| ANES extract | `data/raw/anes/extracts/anes_cdf_s1_minimal_pid_ft.csv` |
| Pew extracts | `data/raw/pew_affective/*_extract.csv` |
| Hub mirror | `/docs/wave2c-s1-diagnostic-tables` |
