Skip to content

Latest commit

 

History

History
707 lines (576 loc) · 28.4 KB

File metadata and controls

707 lines (576 loc) · 28.4 KB

🇪🇺 European Parliament Political Landscape — Intelligence Dashboard

Comprehensive OSINT visualization of European Parliament activity, political composition, and derived intelligence metrics (2004–2026)

Data source: European Parliament Open Data Portal · Methodology: § Methodology · Auto-refreshed weekly via agentic workflow · Powered by get_all_generated_stats

⚠️ Note: 2026 data is partial year — Q1 2026 is complete; remaining months are projected based on Q1 trends and historical patterns.


📋 Table of Contents


🎯 Executive Summary

Key Intelligence Findings (2004–2026)

# Finding Implication
1 Fragmentation doubled — Effective Number of Parties (ENP) rose from 4.12 (2004) to 6.59 (2026) No single ideology dominates; coalition arithmetic increasingly complex
2 Grand coalition impossible since 2019 — EPP+S&D fell below 50% majority threshold Every legislative act now requires 3+ group coalitions
3 Rightward shift in EP10 — combined right/far-right seat share rose to ~26% with new PfE and ESN groups Defence, migration, industrial policy priorities reshaping
4 Legislative output peaks at end of term — 148 acts in 2023 (EP9 record), drops 30–40% in election years Predictable cycle exploitable for legislative monitoring
5 Eurosceptic bloc tripled — from ~5% (2004) to ~15%+ (2026) Anti-EU positions now a structural feature, not fringe
6 Authoritarian-right quadrant growing — ECR + PfE + ESN now hold ~26% of seats Libertarian-right (liberals) declining from 12% to 11%
7 Oversight intensity increased — parliamentary questions per MEP rose from ~5.8 to ~6.5 MEPs increasingly using question mechanism for accountability
8 COVID resilience — 2020 dip was temporary; hybrid working maintained output above pre-Lisbon levels Institutional adaptability proven

At a Glance — EP10 (2026)

pie title EP10 Seat Distribution (2026)
    "EPP (Centre-Right)" : 185
    "S&D (Centre-Left)" : 135
    "PfE (National-Populist)" : 84
    "ECR (Conservative)" : 79
    "RE (Liberal)" : 76
    "Greens/EFA" : 53
    "GUE/NGL (Left)" : 46
    "ESN (Far-Right)" : 28
    "NI (Non-Attached)" : 34
Loading

🏛️ Parliamentary Seat Composition (2004–2026)

Group Strength Over Time

---
config:
  xyChart:
    width: 900
    height: 400
---
xychart-beta
    title "EPP Seat Share % (2004–2026)"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "Seat Share %" 20 --> 40
    line [36.6, 36.6, 36.1, 36.7, 36.7, 36.0, 36.0, 35.9, 35.8, 35.9, 29.4, 28.9, 28.8, 28.9, 29.0, 24.2, 26.5, 25.1, 25.1, 25.1, 26.1, 25.7, 25.7]
Loading
---
config:
  xyChart:
    width: 900
    height: 400
---
xychart-beta
    title "S&D / PES Seat Share % (2004–2026)"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "Seat Share %" 15 --> 30
    line [27.3, 27.3, 27.5, 27.4, 27.4, 25.0, 25.0, 25.1, 25.2, 25.3, 25.4, 25.3, 25.3, 25.2, 25.1, 20.5, 20.7, 19.9, 19.7, 19.6, 18.9, 18.9, 18.8]
Loading

EP10 Group Composition (2026) — Detailed

---
config:
  xyChart:
    width: 900
    height: 400
---
xychart-beta
    title "EP10 Group Sizes (2026) — Seats"
    x-axis ["EPP", "S&D", "PfE", "ECR", "RE", "Greens", "GUE/NGL", "ESN", "NI"]
    y-axis "Seats" 0 --> 200
    bar [185, 135, 84, 79, 76, 53, 46, 28, 34]
Loading

Parliamentary Term Comparison

Term Period MEPs Groups Largest Group Largest % Grand Coalition? Fragmentation
EP6 2004–2009 732→785 7–8 EPP-ED 36.6% ✅ Yes 4.12–4.22
EP7 2009–2014 736→766 7 EPP 36.0% ✅ Yes 4.48–4.53
EP8 2014–2019 751 8 EPP 29.0% ✅ Yes 5.28–5.52
EP9 2019–2024 705–751 7 EPP 24.2% ❌ No 6.01–6.40
EP10 2024–2029 720 8 EPP 26.1% ❌ No 6.51–6.59

📈 Legislative Activity Trends

Legislative Acts Adopted Per Year

---
config:
  xyChart:
    width: 900
    height: 400
---
xychart-beta
    title "Legislative Acts Adopted (2004–2026)"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "Acts Adopted" 50 --> 160
    line [68, 82, 95, 110, 125, 72, 88, 108, 118, 135, 78, 92, 115, 128, 142, 65, 85, 102, 120, 148, 72, 78, 114]
Loading

Pattern: Clear 5-year cycle. Output peaks at end of parliamentary term (2008, 2013, 2018, 2023), drops 30–40% in election-transition years (2009, 2014, 2019, 2024).

Roll-Call Votes vs. Legislative Acts

---
config:
  xyChart:
    width: 900
    height: 400
---
xychart-beta
    title "Roll-Call Votes vs Legislative Acts (2004–2026)"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "Count" 50 --> 700
    line [356, 412, 448, 520, 560, 380, 480, 550, 580, 620, 410, 510, 570, 600, 650, 350, 460, 530, 590, 660, 375, 420, 567]
    line [68, 82, 95, 110, 125, 72, 88, 108, 118, 135, 78, 92, 115, 128, 142, 65, 85, 102, 120, 148, 72, 78, 114]
Loading

Correlation: r = 0.94 between roll-call votes and adopted acts — votes are a reliable leading indicator of legislative output.

Parliamentary Questions — Oversight Intensity

---
config:
  xyChart:
    width: 900
    height: 400
---
xychart-beta
    title "Parliamentary Questions Per Year (2004–2026)"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "Questions" 3000 --> 7000
    line [4215, 4580, 4780, 5120, 5380, 3850, 4920, 5450, 5680, 5920, 4120, 5250, 5580, 5780, 6050, 3680, 5850, 6120, 6350, 6580, 3950, 4650, 6147]
Loading

Speeches Per Year

---
config:
  xyChart:
    width: 900
    height: 400
---
xychart-beta
    title "Speeches Delivered (2004–2026)"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "Speeches" 5000 --> 16000
    line [8500, 10200, 11500, 12800, 13500, 7200, 11000, 12500, 13000, 14200, 8000, 11800, 13200, 13800, 14800, 7000, 9800, 11500, 13500, 15200, 7800, 10500, 12760]
Loading

🔬 Political Fragmentation & Effective Parties

Fragmentation Index (Laakso-Taagepera ENP) Over Time

---
config:
  xyChart:
    width: 900
    height: 400
---
xychart-beta
    title "Effective Number of Parties — ENP (2004–2026)"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "ENP (Laakso-Taagepera)" 3.5 --> 7
    line [4.12, 4.12, 4.22, 4.18, 4.18, 4.48, 4.48, 4.52, 4.53, 4.51, 5.28, 5.48, 5.52, 5.49, 5.46, 6.40, 6.01, 6.23, 6.26, 6.32, 6.51, 6.59, 6.59]
Loading

Regime shift in 2019: ENP jumped from 5.46 to 6.40 — the EP transitioned from a two-party-dominated to a multi-party system. Grand coalitions (EPP+S&D > 50%) became structurally impossible.

Fragmentation Regime Periods

gantt
    title Parliamentary Fragmentation Regimes
    dateFormat YYYY
    axisFormat %Y
    section Low Fragmentation (ENP < 5)
        EP6 (ENP 4.1–4.2)           :done, 2004, 2009
        EP7 (ENP 4.5)               :done, 2009, 2014
    section Medium Fragmentation (ENP 5–6)
        EP8 (ENP 5.3–5.5)           :active, 2014, 2019
    section High Fragmentation (ENP > 6)
        EP9 (ENP 6.0–6.4)           :crit, 2019, 2024
        EP10 (ENP 6.5)              :crit, 2024, 2029
Loading

🧭 Political Compass — 3-Axis Analysis

Methodology

Groups are classified on three independent axes using the Chapel Hill Expert Survey (CHES) methodology:

Axis Scale Left / Low (0) Right / High (10)
Economic 0–10 Far-left (interventionist) Far-right (free-market)
Social / Authority 0–10 Libertarian (civil liberties) Authoritarian (state control)
EU Integration 0–10 Hard eurosceptic (sovereignty) Federalist (integration)

Group Positions on the Political Compass

%%{init: {
  "theme": "dark",
  "themeVariables": {
    "quadrant1Fill": "#d32f2f",
    "quadrant2Fill": "#ff9800",
    "quadrant3Fill": "#1565c0",
    "quadrant4Fill": "#2e7d32",
    "quadrantTitleFill": "#ffffff",
    "quadrantPointFill": "#ffffff",
    "quadrantPointTextFill": "#ffffff",
    "quadrantXAxisTextFill": "#ffffff",
    "quadrantYAxisTextFill": "#ffffff"
  },
  "quadrantChart": {
    "chartWidth": 700,
    "chartHeight": 700,
    "pointLabelFontSize": 12,
    "titleFontSize": 20,
    "quadrantLabelFontSize": 16,
    "xAxisLabelFontSize": 14,
    "yAxisLabelFontSize": 14
  }
}}%%
quadrantChart
    title 🏛️ Political Compass — EP Groups (Economic x Social)
    x-axis "Economic Left" --> "Economic Right"
    y-axis "Libertarian" --> "Authoritarian"
    quadrant-1 "AUTHORITARIAN RIGHT"
    quadrant-2 "AUTHORITARIAN LEFT"
    quadrant-3 "LIBERTARIAN LEFT"
    quadrant-4 "LIBERTARIAN RIGHT"
    "GUE/NGL (1.5, 3.0)": [0.15, 0.30]
    "Greens/EFA (3.0, 2.0)": [0.30, 0.20]
    "S&D (3.5, 4.0)": [0.35, 0.40]
    "ALDE/RE (6.0, 3.0)": [0.60, 0.30]
    "EPP (6.5, 5.5)": [0.65, 0.55]
    "ECR (7.5, 7.0)": [0.75, 0.70]
    "ID/PfE (5.5, 8.0)": [0.55, 0.80]
    "ESN (5.0, 9.0)": [0.50, 0.90]
Loading

3-Axis Group Positions — Reference Table

Group Economic (0–10) Social (0–10) EU Integration (0–10) Quadrant Description
GUE/NGL / The Left 1.5 3.0 4.0 Lib-Left Radical left — anti-capitalist, civil liberties, EU-critical
Greens/EFA 3.0 2.0 8.0 Lib-Left Green politics — most libertarian, strongly pro-EU
PES / S&D 3.5 4.0 7.5 Lib-Left Social democrats — centre-left, moderate, pro-EU
ALDE / RE 6.0 3.0 8.5 Lib-Right Liberals — centre economics, libertarian, strongly pro-EU
EPP / EPP-ED 6.5 5.5 7.5 Auth-Right Christian democrats — centre-right, moderate auth, pro-EU
ECR 7.5 7.0 3.5 Auth-Right Conservatives — right economics, socially conservative, EU-reform
UEN 7.0 7.5 3.0 Auth-Right National conservatives — right, traditional values
IND/DEM / EFD / EFDD 6.5–7.0 7.0 1.5 Auth-Right Eurosceptic populist — mixed economics, authoritarian, anti-EU
ENF / ID / PfE 5.5 8.0 1.0 Auth-Right National-populist — protectionist, authoritarian, anti-EU
ESN 5.0 9.0 0.5 Auth-Right Sovereigntist far-right — most authoritarian, hardest eurosceptic

EU Integration Axis

---
config:
  xyChart:
    width: 900
    height: 350
---
xychart-beta
    title "EU Integration Scores by Group (0 = Eurosceptic, 10 = Federalist)"
    x-axis ["ESN", "PfE/ID", "EFD", "UEN", "ECR", "GUE/NGL", "EPP", "S&D", "Greens", "ALDE/RE"]
    y-axis "EU Integration" 0 --> 10
    bar [0.5, 1.0, 1.5, 3.0, 3.5, 4.0, 7.5, 7.5, 8.0, 8.5]
Loading

⬜ Quadrant Distribution — The Political Square

The "Political Compass" / Nolan Chart applied to the European Parliament

               LIBERTARIAN (Social 0–5)
           ┌──────────┬──────────┐
           │ Lib-Left │ Lib-Right│
  ECON     │ Greens,  │ ALDE/RE  │  ECON
  LEFT     │ GUE/NGL, │          │  RIGHT
 (0–5)     │ S&D      │          │  (5–10)
           ├──────────┼──────────┤
           │Auth-Left │Auth-Right│
           │ (none)   │ EPP, ECR │
           │          │ PfE, ESN │
           └──────────┴──────────┘
              AUTHORITARIAN (Social 5–10)

Quadrant Seat Shares (2025)

pie title Quadrant Distribution — EP10 (2025)
    "Libertarian-Left (Greens, S&D, GUE/NGL)" : 32.6
    "Libertarian-Right (RE/ALDE)" : 10.6
    "Authoritarian-Left" : 0
    "Authoritarian-Right (EPP, ECR, PfE, ESN)" : 52.3
    "Non-Attached" : 4.7
Loading

Quadrant Evolution Across Terms

Term Lib-Left Lib-Right Auth-Left Auth-Right Dominant
EP6 (2004) 38.6% 12.0% 0% 45.4% Auth-Right
EP7 (2009) 37.3% 11.4% 0% 47.6% Auth-Right
EP8 (2014) 38.7% 8.9% 0% 45.5% Auth-Right
EP9 (2019) 34.9% 14.4% 0% 43.1% Auth-Right
EP10 (2025) 32.6% 10.7% 0% 52.4% Auth-Right

Trend: Authoritarian-right quadrant has grown from ~45% to 52%, while libertarian-left declined from ~39% to 33%. The libertarian-right (liberals) peaked at 14.4% in 2019 but fell back to 10.7%.


⚖️ Left-Right Bloc Analysis

Traditional 1D Bloc Share Trends

---
config:
  xyChart:
    width: 900
    height: 400
---
xychart-beta
    title "Left vs Right Bloc Seat Share % (2004–2026)"
    x-axis [2004, 2009, 2014, 2019, 2024, 2025, 2026]
    y-axis "Seat Share %" 0 --> 60
    line [38.6, 37.3, 38.7, 34.9, 32.7, 32.6, 32.6]
    line [45.4, 47.6, 45.5, 42.2, 48.6, 52.4, 52.4]
    line [12.0, 11.4, 8.9, 14.4, 10.7, 10.7, 10.6]
Loading

Legend: Line 1 = Left Bloc, Line 2 = Right Bloc, Line 3 = Centre (Liberals)

Bipolar Index Evolution

The bipolar index measures rightward vs leftward tilt: (right - left) / (right + left). Range: -1 (fully left) to +1 (fully right).

Year Left Bloc Right Bloc Centre Bipolar Index Interpretation
2004 38.6% 45.4% 12.0% +0.08 Slight right lean
2009 37.3% 47.6% 11.4% +0.12 Moderate right lean
2014 38.7% 45.5% 8.9% +0.08 Slight right lean
2019 34.9% 42.2% 14.4% +0.09 Slight right lean
2025 32.6% 52.4% 10.7% +0.23 Strong right lean

EP10 marks the strongest rightward shift in 20 years — the bipolar index nearly tripled from +0.08 to +0.23.

Eurosceptic Share Growth

---
config:
  xyChart:
    width: 900
    height: 300
---
xychart-beta
    title "Eurosceptic Bloc Seat Share % (2004–2026)"
    x-axis [2004, 2006, 2009, 2014, 2015, 2019, 2024, 2025, 2026]
    y-axis "Share %" 0 --> 20
    line [5.1, 3.3, 4.3, 6.4, 11.2, 9.7, 15.2, 15.4, 15.6]
Loading

Structural change: From a fringe ~5% in 2004 to a major bloc at ~15% in EP10, eurosceptic parties are now too large to ignore in coalition arithmetic.


🤝 Coalition Dynamics & Power Thresholds

Grand Coalition Viability (EPP + S&D Combined %)

---
config:
  xyChart:
    width: 900
    height: 350
---
xychart-beta
    title "EPP + S&D Combined Seat Share vs 50% Threshold"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "Combined %" 40 --> 70
    line [63.9, 63.9, 63.6, 64.1, 64.1, 61.0, 61.0, 61.0, 61.0, 61.2, 54.8, 54.2, 54.1, 54.1, 54.1, 44.7, 47.2, 45.0, 44.8, 44.7, 45.0, 45.0, 44.6]
    line [50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50]
Loading

Regime change in 2019: The EPP+S&D "grand coalition" dropped below 50% for the first time, requiring at least 3 groups for any majority.

Minimum Winning Coalition (MWC) Size

Period MWC Size Coalition Formula
EP6 (2004–2009) 2 groups EPP-ED + PES > 50%
EP7 (2009–2014) 2 groups EPP + S&D > 50%
EP8 (2014–2019) 2 groups EPP + S&D > 50% (barely)
EP9 (2019–2024) 3 groups EPP + S&D + RE needed
EP10 (2025) 3+ groups EPP + S&D + RE or EPP + ECR + RE needed

Coalition Scenarios — EP10 (2025)

block-beta
    columns 3
    block:GrandCoalition
        columns 1
        A["🔵 EPP 26.1%"]
        B["🔴 S&D 18.9%"]
        C["🟡 RE 10.7%"]
    end
    block:CentreRight
        columns 1
        D["🔵 EPP 26.1%"]
        E["🟠 ECR 10.8%"]
        F["🟡 RE 10.7%"]
    end
    block:RightWing
        columns 1
        G["🔵 EPP 26.1%"]
        H["🟠 ECR 10.8%"]
        I["🟤 PfE 11.9%"]
    end
Loading
Coalition Composition Combined % Viable?
Grand Coalition + Liberals EPP + S&D + RE 55.7% ✅ Comfortable
Centre-Right EPP + ECR + RE 47.6% ⚠️ Needs 4th partner
Right Bloc EPP + ECR + PfE 48.8% ⚠️ Needs 4th partner
Progressive S&D + RE + Greens + GUE/NGL 43.4% ❌ No majority
Grand Coalition (2-party) EPP + S&D 45.0% ❌ Below 50%

📊 Parliamentary Engagement Metrics

Committee Meetings Trend

---
config:
  xyChart:
    width: 900
    height: 350
---
xychart-beta
    title "Committee Meetings Per Year (2004–2026)"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "Meetings" 1500 --> 2600
    line [1820, 2050, 2120, 2280, 2350, 1650, 2100, 2320, 2380, 2500, 1780, 2150, 2340, 2420, 2550, 1580, 1950, 2180, 2380, 2520, 1680, 1980, 2363]
Loading

Documents Produced Per Year

---
config:
  xyChart:
    width: 900
    height: 350
---
xychart-beta
    title "Documents Produced Per Year (2004–2026)"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "Documents" 2000 --> 5500
    line [2850, 3420, 3680, 4120, 4380, 2580, 3520, 4050, 4280, 4650, 2980, 3750, 4180, 4520, 4850, 2480, 3250, 3820, 4350, 5020, 2680, 3280, 4265]
Loading

🏗️ Institutional Stability

MEP Turnover Rate

---
config:
  xyChart:
    width: 900
    height: 350
---
xychart-beta
    title "MEP Turnover (2004–2026) — Election Years Spike"
    x-axis [2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026]
    y-axis "MEP Turnover" 0 --> 450
    bar [385, 42, 38, 95, 35, 420, 48, 52, 40, 55, 390, 45, 38, 42, 35, 410, 95, 48, 42, 38, 405, 55, 40]
Loading

Institutional Memory Risk Classification

Risk Level Threshold Years
🔴 HIGH Turnover > 40% 2004, 2009, 2014, 2019, 2024 (all election years)
🟡 MEDIUM Turnover 20–40% 2007 (Bulgaria/Romania accession), 2020 (Brexit adjustments)
🟢 LOW Turnover < 20% All other years

🕵️ OSINT Derived Intelligence Dashboard

Legislative Efficiency Metrics (2025)

Metric Value Description
Output per Session 1.70 acts/session Legislative acts adopted ÷ plenary sessions
Output per MEP 0.108 acts/MEP Per-capita legislative productivity
Vote Yield 18.6% % of roll-call votes producing legislation
Procedure Completion 26.4% % of procedures resulting in adopted legislation
Document Burden 42.1 docs/act Documents per legislative act — bureaucratic overhead
Resolution-to-Legislation 1.73 Non-binding resolutions per binding legislative act

Parliamentary Engagement Metrics (2025)

Metric Value Description
Oversight Intensity 6.46 questions/MEP Parliamentary questions per MEP
Speech Rate 14.6 speeches/MEP Speeches delivered per MEP
Debate Intensity 228.3 speeches/session Speeches per plenary session
Oversight per Session 101.1 questions/session Questions per plenary session

Political Concentration Metrics (2025)

Metric Value Description
CR₂ (Top-2 Concentration) 44.5% EPP + S&D combined share
CR₃ (Top-3 Concentration) 56.2% EPP + S&D + PfE combined share
HHI (Herfindahl-Hirschman) 0.152 Market concentration index (lower = more fragmented)
Dominance Ratio 1.37 Largest/second-largest group ratio
Majority Gap 24.3 pp Points largest group is from 50%
MWC Size 3 groups Minimum groups for majority
Non-Attached 4.7% Politically unaffiliated MEPs
Effective Opposition 5.59 ENP minus 1 — effective opposition parties

Composite Intelligence Indices (2025)

Index Value Interpretation
Oversight-to-Legislation Balance 63.3 Questions per legislative act — higher = more scrutiny
Speech-to-Vote Ratio 23.8 Speeches per roll-call vote — deliberation depth
Committee-to-Plenary Ratio 37.4 Committee meetings per plenary session — preparatory work intensity

🔮 Predictions 2027–2031

---
config:
  xyChart:
    width: 900
    height: 400
---
xychart-beta
    title "Legislative Acts — Actual (2020–2026) + Predicted (2027–2031)"
    x-axis [2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031]
    y-axis "Acts" 50 --> 160
    line [85, 102, 120, 148, 72, 78, 114, 131, 137, 86, 103, 126]
Loading

Prediction Summary (based on 2021–2025 actuals with term cycle factors)

Year Factor Sessions Acts Votes Questions Speeches Confidence
2027 ×1.15 (3rd year) 63 120 592 6,426 13,340 ±12%
2028 ×1.20 (peak year) 66 125 618 6,706 13,920 ±15%
2029 ×0.75 (election year) 41 78 386 4,191 8,700 ±18%
2030 ×0.90 (new term start) 50 94 464 5,029 10,440 ±22%
2031 ×1.10 (2nd year) 61 114 567 6,147 12,760 ±25%

Methodology: 5-year rolling average (2021–2025 actuals) × parliamentary term cycle factor. Election years (2029) see ~25% reduction (factor 0.75); peak years (3rd–4th year) see 15–20% increase (factors 1.15–1.20). Confidence intervals widen with forecast horizon. 2026 projected data is excluded from the prediction baseline to avoid circular dependency.


📐 Methodology & Data Sources

Data Sources

Source Coverage Update Frequency
European Parliament Open Data Portal 2004–present Real-time
EP Legislative Observatory Procedures & acts Real-time
Chapel Hill Expert Survey (CHES) Political positions Per-election
ParlTrack MEP activities Daily

Statistical Methods

Method Application Formula
Laakso-Taagepera Index Effective Number of Parties (ENP) ENP = 1 / Σ(pᵢ²) where pᵢ = seatShare/100
Herfindahl-Hirschman Index Market concentration HHI = Σ(sᵢ²) where sᵢ = seatShare/100
Bipolar Index Left-right tilt (rightShare − leftShare) / (rightShare + leftShare)
CR₂ / CR₃ Concentration ratios Sum of top-2 / top-3 group shares
Dominance Ratio Group power asymmetry Largest group share / 2nd largest share
MWC Minimum Winning Coalition Fewest groups cumulatively exceeding 50%
CHES 3-Axis Compass Political positioning Economic (0–10) × Social (0–10) × EU Integration (0–10)
Term Cycle Prediction Forecast 2027–2031 5-year actuals (2021–2025) × cycle factor (±12–25% CI)

Political Compass Methodology

The three-axis classification uses Chapel Hill Expert Survey (CHES) positioning:

  • Economic axis (0 = interventionist, 10 = free-market): Based on party economic policy positions
  • Social/authority axis (0 = libertarian, 10 = authoritarian): Based on civil liberties vs. state control positions
  • EU integration axis (0 = hard eurosceptic, 10 = federalist): Based on party EU integration positions

Groups are classified using weighted expert assessments adjusted for EP voting behaviour. The quadrant classification (Libertarian-Left, Libertarian-Right, Authoritarian-Left, Authoritarian-Right) uses the midpoint (5.0) on both economic and social axes as the dividing line.

Data Integrity

  • Seat shares are computed as seats / totalSeats (not from MEP counts)
  • Fragmentation index matches Laakso-Taagepera formula: 1 / Σ(pᵢ²)
  • All metrics are deterministic — no network calls, computed from static validated data
  • Weekly validation against live EP API via agentic workflow

Version History

Version Date Changes
1.0.0 2025-02 Initial dataset with 13 activity metrics + political landscape
1.1.0 2025-03 Added 30 OSINT-derived intelligence metrics
1.2.0 2025-03 Added 3-axis political compass (CHES-based)
1.3.0 2025-03 Added quadrant distribution analysis
2.0.0 2026-03 Extended to 2004–2026 with full validation; added 2026 partial year; predictions shifted to 2027–2031

Data Validation Status

All political landscape data has been cross-validated against the European Parliament Open Data Portal API v2 via the get_all_generated_stats MCP tool.

Term Years Validation Status Notes
EP6 2004–2008 ✅ All 5 years verified Group compositions, seat counts, fragmentation indices match
EP7 2009–2013 ✅ All 5 years verified Includes EP6/EP7 transition year (2009)
EP8 2014–2018 ✅ All 5 years verified Includes EP7/EP8 transition year (2014)
EP9 2019–2023 ✅ All 5 years verified Includes EP8/EP9 transition year (2019)
EP10 2024–2026 ✅ All 3 years verified 2024 transition, 2025 complete, 2026 partial year (Q1 actual)

2026 partial year note: Activity metrics (legislative acts, speeches, questions, etc.) are projected full-year estimates based on 2021–2025 historical averages with EP10 year-2 cycle adjustment. Plenary session count (54) reflects the full-year EP calendar from the API. EP10 has 720 MEPs from 27 EU countries; 3 seats may be temporarily vacant at any time as replacements are being seated.


🔗 Related Documentation


Generated from src/data/generatedStats.ts · Data: European Parliament Open Data Portal · CHES methodology
Part of the Hack23 open-source intelligence ecosystem