electoral-cycle-methodology.md

May 1, 2026 · View on GitHub

Hack23 Logo

🗳️ Electoral-Cycle Methodology

📊 Dual-Track Lens for the Election-Cycle Horizon — EP Term Retrospective + EPnext Forecast
🎯 Mandate-Fulfilment · Seat Projections · Coalition Viability · Spitzenkandidaten Arithmetic · National Spillover

Owner Version Effective Date Classification

📋 Document Owner: CEO | 📄 Version: 1.0 | 📅 Last Updated: 2026-05-01 (UTC) 🔄 Review Cycle: Quarterly | ⏰ Next Review: 2026-08-01 🏢 Owner: Hack23 AB (Org.nr 5595347807) | 🏷️ Classification: Public


🔄 Tradecraft Anchors

ElementValueReference
F3EAD StageANALYZE — electoral-cycle lens cross-cuts retrospective and prospective analysisDomain extension of electoral-domain-methodology.md
PIRs ServedMandate fulfilment, seat trajectories, coalition viability, Spitzenkandidaten arithmetic, national-election spilloverSee political-style-guide.md §PIR/EEI
Admiralty FloorEP results: A1; Eurobarometer: A2; National election results: A1; National polls: B2; Exit polls: C2See political-style-guide.md §Admiralty
WEP RequirementEvery seat-projection band tagged with WEP at 6/12/24/36-month horizons (see forward-projection-methodology.md §3)See political-style-guide.md §WEP + ODNI
ICD 203 GateStandard 3 (judgements vs assumptions), 4 (alternative analysis — at least 2 contrasting electoral scenarios), 7 (explain change vs prior baseline)See political-style-guide.md §ICD 203
SAT(s)Reference-Class Forecasting, Devil's Advocate, Outside-In Thinking, Indicators & Warnings, Pre-Mortem, Coalition MathematicsSee political-style-guide.md §SATs

🎯 Purpose

Extend electoral-domain-methodology.md with a dual-track protocol that the election-cycle and term-outlook workflows apply during their analysis stage. Where Family D treats the electoral lens as an extended layer, this methodology promotes it to the primary lens of the article.

The protocol is dual-track:

  • Track A — Term Retrospective (e.g. EP10 outturn): vote-share delta vs prior baseline, mandate-fulfilment scorecard, defection-flow map.
  • Track B — Term Forecast (e.g. EP11): seat projections per group at 6/12/24/36-month horizons, coalition viability matrix, Spitzenkandidaten arithmetic, treaty-revision feasibility.

Both tracks are produced in a single run; there is no split-PR layout (election-cycle and term-outlook always emit one PR per horizon).


1. EP-Term Anchors (canonical constants)

TermStartEnd (electoral)Notes
EP92 Jul 20191 Jul 2024Reference baseline for EP10 retrospective
EP1016 Jul 2024~end of Jun 2029Current term — primary scope of term-outlook and election-cycle until 2029
EP11~Jul 2029~Jun 2034Forecast scope of post-2029 election-cycle runs

The election week is the second Sunday of June in the election year (Council Decision (EU) 2018/767 set the June 2024 window; subsequent dates follow the same statutory rule). src/aggregator/article-metadata.ts derives these dates via deriveTermLabel() and deriveElectionCycleLabel().


2. Track A — Term Retrospective (mandate-fulfilment-scorecard.md)

2.1 Vote-share delta

For each major group, report:

GroupEP-prior vote shareEP-current vote shareΔ (pts)National-spillover note
EPP±NTop-3 driver national elections
S&D±N
Renew±N
Greens/EFA±N
ECR±N
ID / PfE±N
The Left±N
Non-attached±N

Source vote-share data from the EP results portal (Admiralty A1).

2.2 Mandate-fulfilment scorecard

For each group's headline 2024-campaign pledges, trace pledge → adopted act:

PledgeStatusActs citedThroughput delay (months)Score
Climate package strengthen✅ delivered / 🟡 partial / ❌ failedA–F

Aggregate to a single A–F group score and a parliamentary-balance score.

2.3 Defection-flow map

Mermaid flowchart LR showing inter-group MEP migration during the term, with edge thickness proportional to defection volume. Source: src/mcp/ep-mcp-client.ts:getMepDelta() cross-run history.


3. Track B — Term Forecast (seat-projection.md, term-arc.md)

3.1 Seat-projection bands

For each major group produce 6/12/24/36-month seat-band projections:

GroupCurrentT+6mT+12mT+24mT+36mT+EP-election (P50)
EPP188175–195 (Likely)170–198 (Likely)165–202 (About even)160–205 (About even)175

Each band carries an explicit WEP label per forward-projection-methodology.md §3. Bands widen at longer horizons; the longest horizon defaults to "About even" unless reference-class evidence supports tighter bands.

3.2 Coalition viability matrix

Cross-tab of plausible majorities (≥ 361 seats in EP10, ≥ 1/2+1 of seats in EP11):

CoalitionSeatsViabilityStress points
Grand (EPP+S&D+Renew)🟢/🟡/🔴
Centre-right (EPP+ECR)🟢/🟡/🔴
Climate (S&D+Renew+Greens+Left)🟢/🟡/🔴
Conservative-populist (ECR+PfE)🟢/🟡/🔴

3.3 Spitzenkandidaten arithmetic

For each plausible Spitzenkandidaten, document:

  • Group vote share threshold to claim Commission Presidency
  • National-election dependencies (top-3 driver elections)
  • Cross-group endorsement viability (≥ 1/2 group endorsements required)
  • Black-swan blockers (treaty challenge, qualified-majority shifts)

3.4 Treaty-revision feasibility

A short bullet block on whether the projected EP composition + Council majority crosses the threshold for an IGC convocation under Art. 48 TEU.


4. National-Election Spillover Model

For each upcoming national election within the horizon, document:

CountryDatePolling EP-group compositionLikely shiftEP-group impact
DEEPP=N, S&D=N, …EPP +M, AfD/PfE +MEPP gain via German list

The model multiplies national projected vote share by the historic EP-list translation coefficient (per historical-baseline.md §National translation factors).


5. Auto-Trigger Thresholds

The news-election-cycle.md workflow auto-runs when any of the following holds (computed from src/mcp/ep-mcp-client.ts:getElectionCalendarContext()):

ThresholdTriggerStage budget bump
T-180180 days before election weekNone — standard
T-9090 days before election week+2 minutes to Stage B
T-3030 days before election weekHighest priority — runs daily

Outside these windows the workflow runs only on the annual 0 8 1 12 * cron and on workflow_dispatch.



7. Outputs

ArtifactTrackRequired by
intelligence/term-arc.mdA + Bterm-outlook, election-cycle, year-in-review
intelligence/seat-projection.mdBterm-outlook, election-cycle, optionally year-in-review
intelligence/mandate-fulfilment-scorecard.mdAyear-in-review, election-cycle
intelligence/presidency-trio-context.mdbothevery horizon ≥ quarter
intelligence/commission-wp-alignment.mdbothevery horizon ≥ quarter

8. Quality Gates (Stage C, electoral overlay)

GateThresholdPass-2 trigger
Vote-share delta table populatedAll major groups presentRe-author from EP results portal
Mandate scorecard pledge → act≥ 5 pledges per groupTrace additional pledges to acts
Seat-projection bands at 4 horizonsAll four populated with WEPRe-derive from reference class
Coalition viability matrix≥ 4 coalitions classifiedAdd adjacent / wildcard coalitions
Spitzenkandidaten arithmetic≥ 2 candidates documentedAdd devil's-advocate alternative
National spillover entries≥ 3 driver electionsExtend lookup window

9. Cross-References


📅 Document History

VersionDateSummary
1.02026-05-01Initial release — dual-track lens, EP-term anchors, seat-projection bands, coalition viability matrix, Spitzenkandidaten arithmetic, national-spillover model, T-180/T-90/T-30 auto-trigger thresholds.