Built with Gemüt&Lou
PartyAffiliation_Pulls_Working.xlsx per your sign-off. This doc records what's in the build, the one thing the verification turned up that needs your call, and a couple of smaller confirmations. Tick, comment, export — that's the next instruction.Every category sheet now has four tag columns — Recency · Drop-Off · Swapper · Engaged. There's a new Tag Definitions sheet (formulas + counts), linked from the Summary, and a "Back to Summary" button on every sheet. The Confirmation tab carries the Category column plus the same four tags. Verified: no voter falls into more than one of Recency / Drop-off / Swapper.
| Tag | Value | Active count |
|---|---|---|
| Recency | Recent Democrat | 4,800 |
| Recent Republican | 12,571 | |
| Recent Independent | 1,848 | |
| Recent General-Only | 21,840 | |
| Drop-Off | Drop-off Democrat | 7,662 |
| Drop-off Republican | 12,749 | |
| Drop-off Independent | 725 | |
| Drop-off General-Only | 1,547 | |
| Swapper | Heimlich | 218 |
| Anti-Trump | 1,229 | |
| Engaged | Engaged (all 9 generals 2008–2024) | 32,721 |
Per decision 6, the tags read only the ten standard primary dates, but the categories read all primary history. So ~600 voters carry a tag under an "unexpected" category — because they have a partisan ballot on a date outside the ten (a 2000–2006 primary, or an odd-year/special primary). The tag says "clean on the regular calendar lately"; the category says "once pulled that party, ever." Both are true; they measure different spans.
| Tag | Mostly sits in | Also appears in |
|---|---|---|
| Recent Independent (1,848) | Independent (1,792) | Solid Dems 15 · Solid Reps 40 · Mixed 1 |
| Drop-off Independent (725) | Independent (689) | Solid Dems 12 · Solid Reps 23 · Mixed 1 |
| Recent Democrat (4,800) | Solid Dems (4,747) | Mixed 53 |
| Recent Republican (12,571) | Solid Reps (12,462) | Mixed 109 |
| Drop-off Democrat (7,662) | Solid Dems (7,419) | Mixed 243 |
| Drop-off Republican (12,749) | Solid Reps (12,579) | Mixed 170 |
Your categories fold Libertarian → Republican and Green → Independent. The tags, as built, use strict D / R / X and ignore L and G. Effect: an L-only voter is "Solid Reps" by category but would not earn a Recent/Drop-off Republican tag. Population is tiny — 396 active L voters, 86 active G — but it's an inconsistency worth a conscious choice.
Engaged = voted in every general 2008–2024 = 32,721, and it stacks across all seven categories (e.g., 358 Strong Dems, 4,186 Solid Dems, 17,304 Solid Reps, 7,609 Mixed, 657 Independent, 286 NonPartisan, the rest Strong Reps). This matches your decision 2 + your note that Engaged reads general-election turnout, independent of party. Flagging only so you can eyeball the size and confirm.
If A–C are all "keep/confirm," the workbook is done as-is. If you chose a change above, I'll apply it before locking.