altnalysisEspañol
Preliminary forecast v0.2 · updated 20 October 2026

Who wins on 29 November?

50,000 simulations of the general election, constituency by constituency, using polls published up to 16 October 2026 and their historical error.

95%PP wins the most votes
—days to election day

Congress of Deputies

Forecast · simulation median
350Absolute majority: 176
  • 136PP130–144(115–158)
  • 105PSOE (incl. PSC)100–112(86–125)
  • 66Vox60–72(47–85)
  • 11Frente Amplio9–14(5–22)
  • 8ERC8–9(4–15)
  • 6EH Bildu6–7(2–12)
  • 5EAJ-PNV4–6(2–9)
  • 3Junts3–5(1–9)
  • 2BNG2–3(0–7)
  • 2Adelante Andalucía1–3(0–6)
  • 1Podemos0–2(0–5)
  • 1Coalición Canaria1–1(0–3)

Large figure: median. Below, likely range (95%) if the poll average is right and, in brackets, including historical polling error.

Senado

Forecast · expected split
267Absolute majority: 134
62 %PP with 134 or more79% if the poll average is right
83 %PP + Vox with 134 or more98% if the poll average is right
  • 136PP124–151(101–158)
  • 98PSOE + Frente Amplio85–114(71–134)
  • 12Vox6–18(5–30)
  • 5EH Bildu3–6(1–13)
  • 4ERC2–5(1–11)
  • 4Junts3–4(3–7)
  • 3EAJ-PNV2–5(1–10)
  • 3Otros1–5(1–6)
  • 1BNG1–1(1–4)
  • 1Coalición Canaria1–1(1–4)

209 elected 58 appointed by regional parliaments

Seats by party: solid, leaning and toss-up

Congress · 350 seats

  • PP
    136 (115–158)
  • PSOE (incl. PSC)
    105 (86–125)
  • Vox
    66 (47–85)
  • Frente Amplio
    11 (5–22)
  • ERC
    8 (4–15)
  • EH Bildu
    6 (2–12)
  • EAJ-PNV
    5 (2–9)
  • Junts
    3 (1–9)
  • Adelante Andalucía
    2 (0–6)
  • BNG
    2 (0–7)
  • Podemos
    1 (0–5)
  • Coalición Canaria
    1 (0–3)

Senate · 209 elected senators

  • PP
    115 (78–135)
  • PSOE + Frente Amplio
    59 (36–93)
  • PSOE (own list)
    17 (10–22)
  • Vox
    5 (0–25)
  • EH Bildu
    4 (0–12)
  • ERC
    2 (0–10)
  • EAJ-PNV
    2 (0–9)
  • Otros
    2 (0–5)

Every seat in every constituency is rated by the probability that the party wins it: solid (95% or more), leaning (60–95%) and toss-up (40–60%). A toss-up seat counts for every party that could win it, so the bars add up to slightly more than the chamber; the hemicycle colours it for the favourite. The thin line is the 95% interval of the simulations and the tick is the median. Senate: only the 209 directly elected senators; the 58 appointed by the regional parliaments are not simulated. PSOE + Frente Amplio is the joint Senate list; where there is none, the PSOE runs its own list.

What if PP and Vox coordinate in the Senate?

ScenarioPPVoxPP + VoxP(PP majority)P(3/5 PP + Vox)
Separate lists (base)138124–151(101–158)106–18(5–30)149134–162(113–174)62 %79 % if right20 %4 % if right
2+1 lists in 16 provinces136125–143(112–146)2319–29(16–36)160148–169(132–175)61 %76 % if right48 %51 % if right
Vox does not run in 19151140–159(125–162)96–14(5–21)161149–169(134–175)93 %100 % if right51 %57 % if right

Hypothetical scenario: Vox is deciding whether to negotiate; the final slate is confirmed with the proclaimed candidacies (~3 Nov). Assumptions: where Vox does not run, 55–85% of its voters choose the PP; in 2+1 lists, 90% PP and 85% Vox retention. Figures include appointed senators; 95% range if the poll average is right and, in brackets, with historical error.

Simulate it

Move the vote and watch the seats

National vote (% of valid votes)

The other parties compensate proportionally: what one gains the rest lose.

Seats

How many seats each party could win

Not a single number: each bar shows what happens across the simulations. The longer it is, the more uncertain.

050100150176
PP31.7 %
136130–144(115–158)
PSOE (incl. PSC)26.1 %
105100–112(86–125)
Vox18.6 %
6660–72(47–85)
Frente Amplio6.9 %
119–14(5–22)
ERC2.4 %
88–9(4–15)
EH Bildu1.4 %
66–7(2–12)
EAJ-PNV1.1 %
54–6(2–9)
Junts1.4 %
33–5(1–9)
BNG0.9 %
22–3(0–7)
Adelante Andalucía1.2 %
21–3(0–6)
Podemos2.2 %
10–2(0–5)
Coalición Canaria0.4 %
11–1(0–3)
Se Acabó La Fiesta1.8 %
00–0(0–1)

Median seats. Dark bar and main figures: likely range (95%) if the poll average is right. Light bar and figures in brackets: including historical polling error (95%). PSOE includes the PSC in Catalonia.

>99%
PP (con UPN) + Vox
If the poll average is right: >99 %
Median: 202 seats
>99%
PP (con UPN) + Vox + CC
If the poll average is right: >99 %
Median: 203 seats
<1%
PSOE + Frente Amplio + Podemos
If the poll average is right: <1 %
Median: 118 seats
<1%
2023 investiture (PSOE, Frente Amplio, Podemos, ERC, Junts, Bildu, PNV, BNG, CC)
If the poll average is right: <1 %
Median: 146 seats

Probability that these parties add up to at least 176 seats. An arithmetic sum: it assumes no agreement. The large figure includes historical polling error.

Distribution

Every possible outcome

How often each seat count appears across simulations; the central 95% in full colour.

PP 136
86 seats: 0.0 %87 seats: 0.0 %88 seats: 0.0 %89 seats: 0.0 %90 seats: 0.0 %91 seats: 0.0 %92 seats: 0.0 %93 seats: 0.0 %94 seats: 0.0 %95 seats: 0.0 %96 seats: 0.0 %97 seats: 0.0 %98 seats: 0.0 %99 seats: 0.0 %100 seats: 0.0 %101 seats: 0.0 %102 seats: 0.1 %103 seats: 0.0 %104 seats: 0.1 %105 seats: 0.1 %106 seats: 0.1 %107 seats: 0.1 %108 seats: 0.1 %109 seats: 0.1 %110 seats: 0.2 %111 seats: 0.2 %112 seats: 0.3 %113 seats: 0.3 %114 seats: 0.4 %115 seats: 0.5 %116 seats: 0.5 %117 seats: 0.6 %118 seats: 0.8 %119 seats: 0.9 %120 seats: 1.1 %121 seats: 1.3 %122 seats: 1.5 %123 seats: 1.7 %124 seats: 1.9 %125 seats: 2.3 %126 seats: 2.4 %127 seats: 2.5 %128 seats: 2.8 %129 seats: 3.0 %130 seats: 3.3 %131 seats: 3.6 %132 seats: 3.5 %133 seats: 3.6 %134 seats: 3.9 %135 seats: 3.9 %136 seats: 3.8 %137 seats: 3.9 %138 seats: 3.9 %139 seats: 3.7 %140 seats: 3.4 %141 seats: 3.4 %142 seats: 3.3 %143 seats: 3.0 %144 seats: 2.8 %145 seats: 2.6 %146 seats: 2.3 %147 seats: 2.2 %148 seats: 1.9 %149 seats: 1.7 %150 seats: 1.5 %151 seats: 1.3 %152 seats: 1.1 %153 seats: 1.0 %154 seats: 0.8 %155 seats: 0.7 %156 seats: 0.6 %157 seats: 0.6 %158 seats: 0.5 %159 seats: 0.3 %160 seats: 0.3 %161 seats: 0.2 %162 seats: 0.3 %163 seats: 0.2 %164 seats: 0.1 %165 seats: 0.1 %166 seats: 0.1 %167 seats: 0.1 %168 seats: 0.1 %169 seats: 0.1 %170 seats: 0.0 %171 seats: 0.0 %172 seats: 0.0 %173 seats: 0.0 %174 seats: 0.0 %175 seats: 0.0 %176 seats: 0.0 %177 seats: 0.0 %178 seats: 0.0 %179 seats: 0.0 %180 seats: 0.0 %181 seats: 0.0 %182 seats: 0.0 %183 seats: 0.0 %184 seats: 0.0 %185 seats: 0.0 %186 seats: 0.0 %187 seats: 0.0 %188 seats: 0.0 %189 seats: 0.0 %86189

95 % range: 115–158 seats

PSOE 105
58 seats: 0.0 %59 seats: 0.0 %60 seats: 0.0 %61 seats: 0.0 %62 seats: 0.0 %63 seats: 0.0 %64 seats: 0.0 %65 seats: 0.0 %66 seats: 0.0 %67 seats: 0.0 %68 seats: 0.0 %69 seats: 0.0 %70 seats: 0.0 %71 seats: 0.0 %72 seats: 0.0 %73 seats: 0.0 %74 seats: 0.0 %75 seats: 0.0 %76 seats: 0.1 %77 seats: 0.1 %78 seats: 0.1 %79 seats: 0.2 %80 seats: 0.2 %81 seats: 0.2 %82 seats: 0.2 %83 seats: 0.3 %84 seats: 0.3 %85 seats: 0.5 %86 seats: 0.6 %87 seats: 0.7 %88 seats: 0.8 %89 seats: 0.9 %90 seats: 1.1 %91 seats: 1.3 %92 seats: 1.6 %93 seats: 1.7 %94 seats: 2.1 %95 seats: 2.5 %96 seats: 2.8 %97 seats: 3.1 %98 seats: 3.1 %99 seats: 3.6 %100 seats: 3.6 %101 seats: 3.8 %102 seats: 4.2 %103 seats: 4.5 %104 seats: 4.4 %105 seats: 4.4 %106 seats: 4.3 %107 seats: 4.2 %108 seats: 4.1 %109 seats: 3.8 %110 seats: 3.7 %111 seats: 3.3 %112 seats: 3.1 %113 seats: 2.8 %114 seats: 2.5 %115 seats: 2.3 %116 seats: 1.8 %117 seats: 1.7 %118 seats: 1.5 %119 seats: 1.3 %120 seats: 1.1 %121 seats: 0.8 %122 seats: 0.7 %123 seats: 0.7 %124 seats: 0.5 %125 seats: 0.4 %126 seats: 0.4 %127 seats: 0.3 %128 seats: 0.3 %129 seats: 0.2 %130 seats: 0.2 %131 seats: 0.2 %132 seats: 0.1 %133 seats: 0.1 %134 seats: 0.1 %135 seats: 0.1 %136 seats: 0.0 %137 seats: 0.0 %138 seats: 0.0 %139 seats: 0.1 %140 seats: 0.0 %141 seats: 0.0 %142 seats: 0.0 %143 seats: 0.0 %144 seats: 0.0 %145 seats: 0.0 %146 seats: 0.0 %147 seats: 0.0 %148 seats: 0.0 %149 seats: 0.0 %150 seats: 0.0 %151 seats: 0.0 %152 seats: 0.0 %153 seats: 0.0 %154 seats: 0.0 %155 seats: 0.0 %156 seats: 0.0 %157 seats: 0.0 %158 seats: 0.0 %159 seats: 0.0 %160 seats: 0.0 %161 seats: 0.0 %58161

95 % range: 86–125 seats

Vox 66
24 seats: 0.0 %25 seats: 0.0 %26 seats: 0.0 %27 seats: 0.0 %28 seats: 0.0 %29 seats: 0.0 %30 seats: 0.0 %31 seats: 0.0 %32 seats: 0.0 %33 seats: 0.0 %34 seats: 0.0 %35 seats: 0.0 %36 seats: 0.1 %37 seats: 0.1 %38 seats: 0.1 %39 seats: 0.1 %40 seats: 0.1 %41 seats: 0.1 %42 seats: 0.2 %43 seats: 0.2 %44 seats: 0.3 %45 seats: 0.3 %46 seats: 0.4 %47 seats: 0.5 %48 seats: 0.6 %49 seats: 0.8 %50 seats: 0.9 %51 seats: 1.0 %52 seats: 1.2 %53 seats: 1.6 %54 seats: 1.7 %55 seats: 2.1 %56 seats: 2.4 %57 seats: 2.7 %58 seats: 2.9 %59 seats: 3.3 %60 seats: 3.5 %61 seats: 3.9 %62 seats: 4.4 %63 seats: 4.4 %64 seats: 4.5 %65 seats: 4.6 %66 seats: 4.7 %67 seats: 4.4 %68 seats: 4.4 %69 seats: 4.2 %70 seats: 4.0 %71 seats: 3.6 %72 seats: 3.5 %73 seats: 3.0 %74 seats: 2.7 %75 seats: 2.5 %76 seats: 2.2 %77 seats: 1.8 %78 seats: 1.5 %79 seats: 1.4 %80 seats: 1.1 %81 seats: 0.9 %82 seats: 0.8 %83 seats: 0.6 %84 seats: 0.6 %85 seats: 0.4 %86 seats: 0.4 %87 seats: 0.3 %88 seats: 0.3 %89 seats: 0.2 %90 seats: 0.2 %91 seats: 0.2 %92 seats: 0.1 %93 seats: 0.1 %94 seats: 0.1 %95 seats: 0.1 %96 seats: 0.1 %97 seats: 0.1 %98 seats: 0.0 %99 seats: 0.1 %100 seats: 0.1 %101 seats: 0.0 %102 seats: 0.0 %103 seats: 0.0 %104 seats: 0.0 %105 seats: 0.0 %106 seats: 0.0 %107 seats: 0.0 %108 seats: 0.0 %109 seats: 0.0 %110 seats: 0.0 %111 seats: 0.0 %112 seats: 0.0 %113 seats: 0.0 %24113

95 % range: 47–85 seats

Frente Amplio 11
1 seats: 0.0 %2 seats: 0.1 %3 seats: 0.3 %4 seats: 0.8 %5 seats: 1.8 %6 seats: 3.4 %7 seats: 6.0 %8 seats: 8.7 %9 seats: 11.0 %10 seats: 12.0 %11 seats: 11.6 %12 seats: 10.4 %13 seats: 8.2 %14 seats: 6.4 %15 seats: 5.0 %16 seats: 3.7 %17 seats: 2.7 %18 seats: 1.9 %19 seats: 1.4 %20 seats: 1.0 %21 seats: 0.8 %22 seats: 0.6 %23 seats: 0.4 %24 seats: 0.3 %25 seats: 0.3 %26 seats: 0.2 %27 seats: 0.2 %28 seats: 0.1 %29 seats: 0.1 %30 seats: 0.1 %31 seats: 0.1 %32 seats: 0.0 %33 seats: 0.1 %34 seats: 0.0 %35 seats: 0.1 %36 seats: 0.1 %37 seats: 0.0 %38 seats: 0.0 %39 seats: 0.0 %40 seats: 0.0 %41 seats: 0.0 %42 seats: 0.0 %43 seats: 0.0 %44 seats: 0.0 %45 seats: 0.0 %46 seats: 0.0 %47 seats: 0.0 %48 seats: 0.0 %49 seats: 0.0 %50 seats: 0.0 %150

95 % range: 5–22 seats

ERC 8
1 seats: 0.0 %2 seats: 0.9 %3 seats: 1.1 %4 seats: 1.3 %5 seats: 2.2 %6 seats: 3.4 %7 seats: 21.6 %8 seats: 33.6 %9 seats: 15.6 %10 seats: 5.9 %11 seats: 3.9 %12 seats: 3.1 %13 seats: 2.2 %14 seats: 2.3 %15 seats: 1.3 %16 seats: 0.4 %17 seats: 0.3 %18 seats: 0.2 %19 seats: 0.2 %20 seats: 0.2 %21 seats: 0.1 %22 seats: 0.1 %23 seats: 0.1 %24 seats: 0.1 %25 seats: 0.1 %26 seats: 0.1 %27 seats: 0.1 %28 seats: 0.0 %29 seats: 0.0 %30 seats: 0.0 %31 seats: 0.0 %131

95 % range: 4–15 seats

EH Bildu 6
0 seats: 0.2 %1 seats: 0.4 %2 seats: 3.4 %3 seats: 2.6 %4 seats: 4.5 %5 seats: 10.4 %6 seats: 31.7 %7 seats: 19.5 %8 seats: 10.4 %9 seats: 5.8 %10 seats: 4.1 %11 seats: 3.1 %12 seats: 1.5 %13 seats: 0.8 %14 seats: 0.4 %15 seats: 0.3 %16 seats: 0.3 %17 seats: 0.2 %18 seats: 0.2 %19 seats: 0.1 %20 seats: 0.1 %21 seats: 0.0 %22 seats: 0.0 %022

95 % range: 2–12 seats

EAJ-PNV 5
0 seats: 0.3 %1 seats: 1.1 %2 seats: 5.1 %3 seats: 21.0 %4 seats: 15.5 %5 seats: 12.5 %6 seats: 32.9 %7 seats: 4.6 %8 seats: 3.3 %9 seats: 1.1 %10 seats: 1.2 %11 seats: 0.4 %12 seats: 0.2 %13 seats: 0.3 %14 seats: 0.1 %15 seats: 0.2 %16 seats: 0.1 %17 seats: 0.1 %18 seats: 0.0 %018

95 % range: 2–9 seats

Junts 3
0 seats: 0.6 %1 seats: 7.6 %2 seats: 4.4 %3 seats: 40.2 %4 seats: 11.5 %5 seats: 18.3 %6 seats: 7.9 %7 seats: 3.4 %8 seats: 3.4 %9 seats: 1.3 %10 seats: 0.4 %11 seats: 0.3 %12 seats: 0.2 %13 seats: 0.1 %14 seats: 0.1 %15 seats: 0.1 %16 seats: 0.1 %17 seats: 0.1 %18 seats: 0.1 %19 seats: 0.0 %20 seats: 0.0 %21 seats: 0.0 %021

95 % range: 1–9 seats

52

The 52 constituencies

Colour: party with most expected seats; intensity: how safe the closest seat is. Select a province.

Madrid →

38 seats

Estimated turnout 77.7 % (73.0–82.1)

PP38.1 %30.1–46.416 (12–19) seats13141516171819
PSOE23.5 %17.4–30.29 (7–12) seats789101112
Vox21.7 %15.8–28.49 (6–12) seats67891011
Frente Amplio8.3 %4.1–14.63 (1–6) seats12345
Podemos3.6 %1.4–7.51 (0–3) seat012
Se Acabó La Fiesta1.5 %0.6–3.30 (0–1) seats01
  • Toss-up16.º seat for PP: 56 % · challenger PSOE (49 %)
  • Toss-up9.º seat for Vox: 57 %
  • Lean1.º seat for Podemos: 62 %
350

The closest seats

Each seat is rated by the probability that its party wins it: solid (95% or more), leaning (60–95%) and toss-up (under 60%). These are the twelve closest.

ConstituencyFavouritePChallenger
AsturiasVox 2.º38 %PSOE
Balears (Illes)PSOE 3.º39 %Ara MÉS-Front Ampli
PontevedraVox 1.º40 %PP
Santa Cruz de TenerifePSOE 3.º42 %Unidad del Pueblo Canario
MurciaPP 5.º46 %Vox
GipuzkoaPP 1.º48 %EH Bildu
BarcelonaVox 5.º49 %PSC
TarragonaPSC 3.º49 %Junts
HuescaVox 1.º49 %PP
BizkaiaEAJ-PNV 3.º50 %PSOE
ValladolidPSOE 2.º50 %PP
BarcelonaFrente Amplio 3.º51 %PSC
Polls

What the polls say

0%10%20%30%40%Jan 2024Jul 2024Jan 2025Jul 2025Jan 2026Jul 202629NPoll blackoutPP 31.9PSOE 26.5Vox 18.9Frente Amplio 6.3Podemos 3.1Se Acabó La Fiesta 1.7
Dots: published estimates (hollow: CIS, not used by the aggregator). Lines and bands: altnalysis aggregator with house effects removed, 95% interval.

518 polls · latest fieldwork ending 17 October 2026 · See all →

Turnout

Turnout scenarios

Turnout can decide the last seats. Three scenarios for residents in Spain. The overseas vote (CERA) is modelled separately: including it, total turnout in the base scenario is 69.3% (2023: 66.6%). Overseas vote →

As in 202370%resident turnout
  • PP136
  • PSOE105
  • Vox66
  • Frente Amplio11
  • Podemos1

PP + Vox ≥ 176: >99 %

Base · GAD3 outlook74%resident turnout
  • PP136
  • PSOE105
  • Vox66
  • Frente Amplio11
  • Podemos1

PP + Vox ≥ 176: >99 %

Record77%resident turnout
  • PP136
  • PSOE105
  • Vox65
  • Frente Amplio11
  • Podemos1

PP + Vox ≥ 176: >99 %

Each scenario changes who votes, using each CIS respondent's stated likelihood of voting and each province's make-up. Polls assume ~70% of residents (≈ 65% of the total roll, as in 2023); the base scenario uses GAD3's 74%. Since PP and Vox voters are already the most mobilised, extra voters at higher turnout come mostly from less mobilised electorates and abstainers: higher turnout trims the right's lead slightly rather than widening it.

Who is most mobilised?

2023 voters of each party who say they will certainly vote (CIS, CIS3577). For comparing electorates, not as a level: surveys overstate turnout.

PP91 %
Vox89 %
Frente Amplio88 %
ERC86 %
EH Bildu85 %
PSOE84 %
BNG84 %
Junts79 %
EAJ-PNV63 %
NUEVO60 %
Did not vote in 202331 %
Scenarios

What if the polls miss?

The biggest risk to any forecast is that all polls miss together. This is the Congress if they repeated the errors of each election since 2015.

If polls miss as in…Error applied to todayPPPSOEVoxFrente AmplioPP + Vox ≥ 176
Forecast (simulated error)t(4) calibrated on 2015–2023136115–15810586–1256647–85115–22>99 %
2015
PP +1.7PSOE +1.6Frente Amplio +1.0
139+3107+262-413+2>99 %
2016
PP +3.6PSOE +1.5Frente Amplio -1.2
148+12106+161-57-4>99 %
April 2019
PP -4.6PSOE +0.1Frente Amplio +0.5ERC +0.6Vox -1.8
123-13113+864-214+3>99 %
Nov 2019
PSOE +0.8PP +0.0Frente Amplio +0.1Vox +1.7ERC -0.1
132-4106+172+611=>99 %
2023
PSOE +3.1PP -1.0Vox -1.0Frente Amplio -0.4
131-5120+1561-510-1>99 %

Each row applies to today's polls the exact error of the final two-week poll average in that election (points approximate at today's share; Podemos/Unidas Podemos mapped to Frente Amplio and Podemos). Median seats; for the forecast, 95% interval.

Vote flows

Where do the votes come from?

What 2023 voters of each party, 2023 abstainers and first-time voters would do in 2026.

In 2023 voted… / 2026 →ElectorsPPPSOEVoxFrente AmplioPodemosSe Acabó La FiestaERCJuntsEH BilduEAJ-PNVBNGOthersBlankAbstain
PP7.98 M651924117
PSOE7.63 M7642513314
Vox2.97 M67352311
Frente Amplio3.00 M122362114211
ERC0.46 M711167812
Junts0.40 M16114514317
EH Bildu0.32 M2416543416
EAJ-PNV0.27 M98235521
BNG0.15 M73734210
Others0.72 M123833212426
Didn't vote 202310.05 M9139117553
New young voters1.34 M121923611214328
Naturalised0.65 M1729107434

Share of each group that would vote for each party or abstain, in the base scenario (74% resident turnout). It is the model's starting matrix: CIS vote intention by 2023 recalled vote with stated likelihood to vote; for young voters the PP/PSOE/Vox split averages 40dB, GESOP and CIS; for naturalised citizens, the literature prior (59% left). Shares are then calibrated to the polls.

The starting point

If 2023 were repeated

2023 votes with 2026 seat counts (Madrid 38, Cádiz 8). Colour intensity shows how safe each seat was.

Frente Amplio · Safe · Alicante/AlacantFrente Amplio · Safe · Balears (Illes)Frente Amplio · Safe · BarcelonaFrente Amplio · Safe · BarcelonaFrente Amplio · Safe · BarcelonaFrente Amplio · Safe · BarcelonaFrente Amplio · Safe · MadridFrente Amplio · Safe · MadridFrente Amplio · Safe · MadridFrente Amplio · Safe · MadridFrente Amplio · Safe · SevillaFrente Amplio · Safe · Valencia/ValènciaFrente Amplio · Safe · Valencia/ValènciaFrente Amplio · Likely · BarcelonaFrente Amplio · Likely · CádizFrente Amplio · Likely · Coruña (A)Frente Amplio · Likely · MadridFrente Amplio · Likely · MálagaFrente Amplio · Likely · AsturiasFrente Amplio · Likely · PontevedraFrente Amplio · Likely · ZaragozaFrente Amplio · Lean · CórdobaFrente Amplio · Lean · GironaFrente Amplio · Lean · MadridFrente Amplio · Lean · MurciaFrente Amplio · Lean · Palmas (Las)Frente Amplio · Lean · Valencia/ValènciaFrente Amplio · Lean · BizkaiaFrente Amplio · Toss-up · GranadaFrente Amplio · Toss-up · SevillaFrente Amplio · Toss-up · TarragonaEH Bildu · Safe · Araba/ÁlavaEH Bildu · Safe · GipuzkoaEH Bildu · Safe · GipuzkoaEH Bildu · Safe · BizkaiaEH Bildu · Likely · NavarraEH Bildu · Likely · BizkaiaERC · Safe · BarcelonaERC · Safe · BarcelonaERC · Safe · GironaERC · Safe · LleidaERC · Likely · BarcelonaERC · Likely · BarcelonaERC · Likely · TarragonaBNG · Toss-up · Coruña (A)PSOE · Safe · Araba/ÁlavaPSOE · Safe · AlbacetePSOE · Safe · Alicante/AlacantPSOE · Safe · Alicante/AlacantPSOE · Safe · Alicante/AlacantPSOE · Safe · Alicante/AlacantPSOE · Safe · AlmeríaPSOE · Safe · AlmeríaPSOE · Safe · ÁvilaPSOE · Safe · BadajozPSOE · Safe · BadajozPSOE · Safe · Balears (Illes)PSOE · Safe · Balears (Illes)PSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BarcelonaPSOE · Safe · BurgosPSOE · Safe · BurgosPSOE · Safe · CáceresPSOE · Safe · CáceresPSOE · Safe · CádizPSOE · Safe · CádizPSOE · Safe · CádizPSOE · Safe · Castellón/CastellóPSOE · Safe · Ciudad RealPSOE · Safe · Ciudad RealPSOE · Safe · CórdobaPSOE · Safe · CórdobaPSOE · Safe · Coruña (A)PSOE · Safe · Coruña (A)PSOE · Safe · CuencaPSOE · Safe · GironaPSOE · Safe · GironaPSOE · Safe · GranadaPSOE · Safe · GranadaPSOE · Safe · GuadalajaraPSOE · Safe · GipuzkoaPSOE · Safe · HuelvaPSOE · Safe · HuelvaPSOE · Safe · HuescaPSOE · Safe · JaénPSOE · Safe · JaénPSOE · Safe · LeónPSOE · Safe · LeónPSOE · Safe · LleidaPSOE · Safe · Rioja (La)PSOE · Safe · Rioja (La)PSOE · Safe · LugoPSOE · Safe · MadridPSOE · Safe · MadridPSOE · Safe · MadridPSOE · Safe · MadridPSOE · Safe · MadridPSOE · Safe · MadridPSOE · Safe · MadridPSOE · Safe · MadridPSOE · Safe · MadridPSOE · Safe · MálagaPSOE · Safe · MálagaPSOE · Safe · MálagaPSOE · Safe · MurciaPSOE · Safe · MurciaPSOE · Safe · NavarraPSOE · Safe · OurensePSOE · Safe · AsturiasPSOE · Safe · AsturiasPSOE · Safe · PalenciaPSOE · Safe · Palmas (Las)PSOE · Safe · Palmas (Las)PSOE · Safe · Palmas (Las)PSOE · Safe · PontevedraPSOE · Safe · PontevedraPSOE · Safe · SalamancaPSOE · Safe · Santa Cruz de TenerifePSOE · Safe · Santa Cruz de TenerifePSOE · Safe · CantabriaPSOE · Safe · CantabriaPSOE · Safe · SegoviaPSOE · Safe · SevillaPSOE · Safe · SevillaPSOE · Safe · SevillaPSOE · Safe · SevillaPSOE · Safe · SoriaPSOE · Safe · TarragonaPSOE · Safe · TarragonaPSOE · Safe · TeruelPSOE · Safe · ToledoPSOE · Safe · ToledoPSOE · Safe · Valencia/ValènciaPSOE · Safe · Valencia/ValènciaPSOE · Safe · Valencia/ValènciaPSOE · Safe · Valencia/ValènciaPSOE · Safe · Valencia/ValènciaPSOE · Safe · ValladolidPSOE · Safe · ValladolidPSOE · Safe · BizkaiaPSOE · Safe · BizkaiaPSOE · Safe · ZamoraPSOE · Safe · ZaragozaPSOE · Safe · ZaragozaPSOE · Likely · Balears (Illes)PSOE · Likely · BarcelonaPSOE · Likely · Castellón/CastellóPSOE · Likely · GipuzkoaPSOE · Likely · LleidaPSOE · Likely · MadridPSOE · Likely · SevillaPSOE · Lean · AlbacetePSOE · Lean · MadridPSOE · Lean · NavarraPSOE · Lean · PontevedraPSOE · Lean · Santa Cruz de TenerifePSOE · Toss-up · MurciaJunts · Safe · BarcelonaJunts · Safe · GironaJunts · Safe · LleidaJunts · Likely · BarcelonaJunts · Likely · BarcelonaJunts · Toss-up · GironaJunts · Toss-up · TarragonaEAJ-PNV · Safe · GipuzkoaEAJ-PNV · Safe · BizkaiaEAJ-PNV · Safe · BizkaiaEAJ-PNV · Likely · Araba/ÁlavaEAJ-PNV · Lean · GipuzkoaCoalición Canaria · Safe · Santa Cruz de TenerifeUPN · Likely · NavarraPP · Safe · AlbacetePP · Safe · AlbacetePP · Safe · Alicante/AlacantPP · Safe · Alicante/AlacantPP · Safe · Alicante/AlacantPP · Safe · Alicante/AlacantPP · Safe · AlmeríaPP · Safe · AlmeríaPP · Safe · AlmeríaPP · Safe · ÁvilaPP · Safe · ÁvilaPP · Safe · BadajozPP · Safe · BadajozPP · Safe · Balears (Illes)PP · Safe · Balears (Illes)PP · Safe · Balears (Illes)PP · Safe · BarcelonaPP · Safe · BarcelonaPP · Safe · BarcelonaPP · Safe · BurgosPP · Safe · BurgosPP · Safe · CáceresPP · Safe · CáceresPP · Safe · CádizPP · Safe · CádizPP · Safe · CádizPP · Safe · Castellón/CastellóPP · Safe · Castellón/CastellóPP · Safe · Ciudad RealPP · Safe · Ciudad RealPP · Safe · CórdobaPP · Safe · CórdobaPP · Safe · Coruña (A)PP · Safe · Coruña (A)PP · Safe · Coruña (A)PP · Safe · Coruña (A)PP · Safe · CuencaPP · Safe · GranadaPP · Safe · GranadaPP · Safe · GuadalajaraPP · Safe · HuelvaPP · Safe · HuelvaPP · Safe · HuescaPP · Safe · JaénPP · Safe · JaénPP · Safe · LeónPP · Safe · LeónPP · Safe · Rioja (La)PP · Safe · Rioja (La)PP · Safe · LugoPP · Safe · LugoPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MadridPP · Safe · MálagaPP · Safe · MálagaPP · Safe · MálagaPP · Safe · MálagaPP · Safe · MurciaPP · Safe · MurciaPP · Safe · MurciaPP · Safe · MurciaPP · Safe · OurensePP · Safe · OurensePP · Safe · AsturiasPP · Safe · AsturiasPP · Safe · PalenciaPP · Safe · PalenciaPP · Safe · Palmas (Las)PP · Safe · Palmas (Las)PP · Safe · PontevedraPP · Safe · PontevedraPP · Safe · PontevedraPP · Safe · SalamancaPP · Safe · SalamancaPP · Safe · Santa Cruz de TenerifePP · Safe · Santa Cruz de TenerifePP · Safe · CantabriaPP · Safe · CantabriaPP · Safe · SegoviaPP · Safe · SegoviaPP · Safe · SevillaPP · Safe · SevillaPP · Safe · SevillaPP · Safe · SevillaPP · Safe · SoriaPP · Safe · TeruelPP · Safe · TeruelPP · Safe · ToledoPP · Safe · ToledoPP · Safe · ToledoPP · Safe · Valencia/ValènciaPP · Safe · Valencia/ValènciaPP · Safe · Valencia/ValènciaPP · Safe · Valencia/ValènciaPP · Safe · Valencia/ValènciaPP · Safe · ValladolidPP · Safe · ValladolidPP · Safe · ZamoraPP · Safe · ZamoraPP · Safe · ZaragozaPP · Safe · ZaragozaPP · Safe · ZaragozaPP · Safe · MelillaPP · Likely · Araba/ÁlavaPP · Likely · Alicante/AlacantPP · Likely · BarcelonaPP · Likely · CuencaPP · Likely · GranadaPP · Likely · HuescaPP · Likely · LugoPP · Likely · MadridPP · Likely · MadridPP · Likely · NavarraPP · Likely · OurensePP · Likely · Santa Cruz de TenerifePP · Likely · TarragonaPP · Likely · BizkaiaPP · Likely · CeutaPP · Lean · BarcelonaPP · Lean · AsturiasPP · Lean · Palmas (Las)PP · Lean · SalamancaPP · Lean · Valencia/ValènciaPP · Toss-up · MálagaVox · Safe · Alicante/AlacantVox · Safe · AlmeríaVox · Safe · Balears (Illes)Vox · Safe · BarcelonaVox · Safe · CádizVox · Safe · GranadaVox · Safe · MadridVox · Safe · MadridVox · Safe · MadridVox · Safe · MálagaVox · Safe · MurciaVox · Safe · MurciaVox · Safe · Palmas (Las)Vox · Safe · SevillaVox · Safe · ToledoVox · Safe · Valencia/ValènciaVox · Safe · ZaragozaVox · Likely · Alicante/AlacantVox · Likely · BarcelonaVox · Likely · Ciudad RealVox · Likely · HuelvaVox · Likely · JaénVox · Likely · MadridVox · Likely · MadridVox · Likely · Valencia/ValènciaVox · Lean · Castellón/CastellóVox · Lean · CórdobaVox · Lean · GuadalajaraVox · Lean · MálagaVox · Lean · AsturiasVox · Lean · ValladolidVox · Toss-up · BadajozVox · Toss-up · Cantabria350Absolute majority: 176
Method

What's behind it

Our own model, combining a vote-transfer matrix from CIS microdata, the changing electorate (deaths, young and naturalised voters), an overseas-vote model, an analysis of each constituency's line-up and a poll aggregator with house effects and industry error calibrated on 2015–2023, with correlated regional error. The CIS is weighted to INE population figures, hidden and undecided voters are imputed with a model, and it is evaluated on the profile of every census section (age, education, employment, 2024 income, estimated religiosity). Historical section-level transitions (2011–2023) will be added once they pass their tests on past elections.

Methodology →

The election newsletter

Every morning: the day's forecast, what changed and an in-depth analysis. Free, no ads.