GE16 · National analysis

Malaysia · Hypothetical BN–PN coordination · Research cut-off: 5 August 2026

Malaysian flagVisual keyBNPASWawasanPHEast Malaysian parties

How many PH seats can a
BN–PN alliance capture?

This report begins with the two questions readers most urgently want answered: how many seats PH won because BN and PN split the vote in GE15, and whether a BN–PN alliance could cross the 112-seat threshold without relying on East Malaysian allies.

222 parliamentary seats71 PH wins in three-cornered contestsState-by-state testingCandidate and transfer model
01

The headline numbers

The four numbers that matter most

In GE15, PH won 71 seats in three-cornered contests against both BN and PN. If BN and PN's GE15 votes are combined at 100%, 28 seats would be led by the BN–PN alliance on arithmetic; however, another 43 seats would still leave PH ahead even after mechanical combination. After incorporating nominee allocation, directional transfer, grassroots execution risk and the recent Johor–Negeri Sembilan calibration, the central scenario places 32 seats within the alliance's realistic capture range.

71PH wins in three-cornered contests
28Flips under 100% historical vote combination
43PH remains ahead after combination
32Central realistic capture range
Key distinction:“28 seats” answers an arithmetic question using GE15 votes; “32 seats” is a conditional projection after adding nominee allocation, two-way transfer and local evidence. They are different measures, and neither should be mistaken for the other.
02

The 112-seat question

Can the alliance govern without East Malaysian allies?

The answer is not simply “yes” or “no”:The narrow core is not secure; with broader seat inheritance and a 32-seat capture scenario, 112 is reachable—but only at the conditional upper edge.

ScenarioBase seats (excl. East Malaysian allies)Additional PH seatsLosses from inherited seats and nomineesApproximate totalAssessment
Narrow coreBN 30 + PAS 43 + clearly identified Wawasan 6 = 7932−0 to −4107—111Below or near the threshold
Executable coordinationThe core above plus some former PN/Wawasan seats: approximately 88–9232−4 to −8112—120Can cross it, but only if inherited seats are retained
Strong mobilisationHigh retention of inherited seats with smooth nominee allocation39−2 to −5126—129Reaches the upper range
Therefore, 112 seats are not the alliance's natural baseline.At minimum, four conditions must hold simultaneously: ① BN, PAS and Wawasan complete an executable seat-allocation deal; ② most inherited BN/PN seats are retained; ③ roughly 32 PH seats are captured from three-cornered contests—or more under the narrow-core calculation; and ④ East Malaysian parties are not counted as the alliance's own seats. If any condition fails materially, East Malaysian support remains necessary.
03

GE15 constituency-level results

71 PH wins in three-cornered contests: 28 arithmetic flips, 43 requiring a larger breakthrough

Gap = PH votes − (BN votes + PN votes). Negative (green) = BN + PN exceed PH on full-transfer arithmetic (potential flip); Positive (red) = PH remains ahead even after all votes are combined.

SeatStatePH votesBN votesPN votesBN + PNGapGE15 arithmeticCentral scenario
P.107
Sungai Buloh
Selangor50,94348,25029,06077,310-26,367Arithmetic flipCentral capture
P.015
Sungai Petani
Kedah50,58027,39149,46576,856-26,276Arithmetic flipCentral capture
P.063
Tambun
Perak49,65528,11145,93974,050-24,395Arithmetic flipCentral capture
P.096
Kuala Selangor
Selangor31,03330,03123,63953,670-22,637Arithmetic flipCentral capture
P.113
Sepang
Selangor56,26431,09747,31578,412-22,148Arithmetic flipCentral capture
P.098
Gombak
Selangor72,26730,72359,53890,261-17,994Arithmetic flipCentral capture
P.101
Hulu Langat
Selangor58,38032,56443,49276,056-17,676Arithmetic flipCentral capture
P.077
Tanjong Malim
Perak25,14020,96321,59942,562-17,422Arithmetic flipCentral capture
P.135
Alor Gajah
Melaka28,17827,28817,21144,499-16,321Arithmetic flipCentral capture
P.089
Bentong
Pahang25,07524,38316,23340,616-15,541Arithmetic flipCentral capture
P.137
Hang Tuah Jaya
Melaka39,41830,78023,54954,329-14,911Arithmetic flipCentral capture
P.149
Sri Gading
Johor23,24219,24218,47537,717-14,475Arithmetic flipCentral capture
P.053
Balik Pulau
Penang24,56415,47822,98238,460-13,896Arithmetic flipCentral capture
P.146
Muar
Johor19,96114,58118,61633,197-13,236Arithmetic flipCentral capture
P.080
Raub
Pahang21,61316,93917,25634,195-12,582Arithmetic flipCentral capture
P.144
Ledang
Johor33,65023,88122,29246,173-12,523Arithmetic flipCentral capture
P.108
Shah Alam
Selangor61,40928,26643,31471,580-10,171Arithmetic flipCentral capture
P.141
Sekijang
Johor18,94117,20711,61228,819-9,878Arithmetic flipCentral capture
P.150
Batu Pahat
Johor45,24224,30929,27053,579-8,337Arithmetic flipCentral capture
P.062
Sungai Siput
Perak21,63719,7918,19027,981-6,344Arithmetic flipCentral capture
P.124
Bandar Tun Razak
Kuala Lumpur43,47615,88633,65949,545-6,069Arithmetic flipCentral capture
P.160
Johor Bahru
Johor43,25227,21122,07549,286-6,034Arithmetic flipCentral capture
P.159
Pasir Gudang
Johor71,23337,36939,67577,044-5,811Arithmetic flipCentral capture
P.121
Lembah Pantai
Kuala Lumpur35,35921,44719,09840,545-5,186Arithmetic flipCentral capture
P.118
Setiawangsa
Kuala Lumpur34,43416,33322,27038,603-4,169Arithmetic flipCentral capture
P.140
Segamat
Johor23,43717,7688,38526,153-2,716Arithmetic flipCentral capture
P.142
Labis
Johor16,13313,3005,31218,612-2,479Arithmetic flipCentral capture
P.158
Tebrau
Johor83,95930,76753,23984,006-47Arithmetic flipCentral capture
P.116
Wangsa Maju
Kuala Lumpur46,03119,59525,33544,9301,101PH still aheadCentral hold
P.145
Bakri
Johor36,63617,38217,22234,6042,032PH still aheadCentral hold
P.070
Kampar
Perak30,46716,13712,12728,2642,203PH still aheadCentral hold
P.076
Teluk Intan
Perak33,13312,30417,96430,2682,865PH still aheadCentral hold
P.097
Selayang
Selangor72,77319,42549,15468,5794,194PH still aheadCentral hold
P.152
Kluang
Johor49,80123,39522,02145,4164,385PH still aheadCentral capture
P.047
Nibong Tebal
Penang42,18810,66025,89536,5555,633PH still aheadCentral hold
P.132
Port Dickson
Negeri Sembilan42,34918,41218,23536,6475,702PH still aheadCentral capture
P.128
Seremban
Negeri Sembilan63,92024,58433,07657,6606,260PH still aheadCentral capture
P.071
Gopeng
Perak55,88018,39328,73247,1258,755PH still aheadCentral hold
P.060
Taiping
Perak47,09814,59921,56936,16810,930PH still aheadCentral hold
P.115
Batu
Kuala Lumpur45,71610,39823,47533,87311,843PH still aheadCentral hold
P.161
Pulai
Johor64,90031,72620,67752,40312,497PH still aheadCentral capture
P.163
Kulai
Johor65,52929,50620,21849,72415,805PH still aheadCentral hold
P.099
Ampang
Selangor56,75411,50927,07338,58218,172PH still aheadCentral hold
P.068
Beruas
Perak46,71012,72412,73925,46321,247PH still aheadCentral hold
P.052
Bayan Baru
Penang55,20913,37720,30733,68421,525PH still aheadCentral hold
P.138
Kota Melaka
Melaka73,99520,68627,57548,26125,734PH still aheadCentral hold
P.049
Tanjong
Penang31,9683,2142,5015,71526,253PH still aheadCentral hold
P.105
Petaling Jaya
Selangor83,31123,25332,73655,98927,322PH still aheadCentral hold
P.162
Iskandar Puteri
Johor96,81936,78330,07866,86129,958PH still aheadCentral hold
P.050
Jelutong
Penang50,3697,38711,76519,15231,217PH still aheadCentral hold
P.046
Batu Kawan
Penang50,7447,14510,34417,48933,255PH still aheadCentral hold
P.120
Bukit Bintang
Kuala Lumpur43,8274,8504,2599,10934,718PH still aheadCentral hold
P.064
Ipoh Timor
Perak57,5498,57013,66122,23135,318PH still aheadCentral hold
P.100
Pandan
Selangor74,00211,66425,70637,37036,632PH still aheadCentral hold
P.048
Bukit Bendera
Penang49,3535,4176,74312,16037,193PH still aheadCentral hold
P.103
Puchong
Selangor79,42521,46818,26339,73139,694PH still aheadCentral hold
P.130
Rasah
Negeri Sembilan81,43419,44718,81038,25743,177PH still aheadCentral hold
P.102
Bangi
Selangor141,56825,68571,86797,55244,016PH still aheadCentral hold
P.043
Bagan
Penang55,7975,3856,14911,53444,263PH still aheadCentral hold
P.066
Batu Gajah
Perak60,9996,7937,16313,95647,043PH still aheadCentral hold
P.123
Cheras
Kuala Lumpur60,2945,6065,84611,45248,842PH still aheadCentral hold
P.065
Ipoh Barat
Perak63,9157,2486,81514,06349,852PH still aheadCentral hold
P.045
Bukit Mertajam
Penang71,7226,98614,03721,02350,699PH still aheadCentral hold
P.117
Segambut
Kuala Lumpur68,4388,3048,75417,05851,380PH still aheadCentral hold
P.111
Kota Raja
Selangor123,30622,22549,30871,53351,773PH still aheadCentral hold
P.051
Bukit Gelugor
Penang71,2046,7778,09214,86956,335PH still aheadCentral hold
P.114
Kepong
Kuala Lumpur64,3083,2272,7956,02258,286PH still aheadCentral hold
P.122
Seputeh
Kuala Lumpur73,2346,0326,04712,07961,155PH still aheadCentral hold
P.110
Klang
Selangor115,53919,76223,73843,50072,039PH still aheadCentral hold
P.104
Subang
Selangor138,25916,53923,18539,72498,535PH still aheadCentral hold
P.106
Damansara
Selangor142,87513,80618,25632,062110,813PH still aheadCentral hold
How to read this table:28 seats does not mean the alliance has already won. It means that removing three-way vote splitting would have put it ahead on GE15 arithmetic. The other 43 show that seat coordination alone would not be enough; the alliance would also need PH leakage, turnout changes, candidate effects or votes from a third party.
04

National state-by-state analysis

Johor and Negeri Sembilan are calibration points—not a national template

Every state retains its GE15 baseline. “Central capture” comes from the nominee-allocation and transfer model. Recent state elections are used only where directly relevant; they are not mechanically extrapolated nationwide.

StateSeatsPHBN/PN3-corneredArith. flipsCentral captureStrongAssessment
Johor flagJohor261511151012152026 state election: BN 48/56, PH 8/56, PN 0/56. This is the strongest local evidence, but it cannot be mechanically extrapolated nationwide
Kedah flagKedah151141111PN has a deep base; PH has only a limited number of cross-ethnic or urban-edge seats to contest. Removing three-cornered contests would amplify the alliance advantage
Kelantan flagKelantan140140000PAS already holds a strong heartland. The national question is not capturing PH seats, but which partner controls nominees and seat allocation
Melaka flagMelaka6333222BN's state-level base contrasts with the PH–PN vote split in GE15. Alor Gajah and Hang Tuah Jaya are classic full-combination battlegrounds
Negeri Sembilan flagNegeri Sembilan8353022The 2026 state election is direct calibration evidence. Seremban and Port Dickson enter the flip line, while urban seats such as Rasah still lean clearly toward PH
Pahang flagPahang142122222BN, PAS and mixed urban constituencies overlap. Bentong and Raub depend more on nominee allocation than the East Coast safe seats
Perak flagPerak24111311335Malay heartland and mixed cities coexist. Tambun, Sungai Siput and Tanjong Malim show the direct value of removing vote splitting
Perlis flagPerlis3030000PN already has a strong advantage. The alliance's main test is the PAS–Wawasan power arrangement, not capturing PH seats
Penang flagPenang1310310111Some mixed mainland seats are contestable, but core DAP seats on Penang Island remain protected by urban votes, candidates and turnout
Sabah flagSabah25580000Local parties, nominees and autonomy issues come first. GPS, GRS and Warisan votes cannot be automatically assigned to the alliance
Sarawak flagSarawak31610000GPS organisational strength and state-rights issues form a distinct political system. The arithmetic without East Malaysian allies must be shown separately
Selangor flagSelangor2216616667One of the largest potential sources of PH losses nationally. It has many three-cornered seats, but Klang Valley urban voting and local-organisation differences make transfers uneven
Terengganu flagTerengganu8080000PAS's existing advantage is most concentrated here. BN concessions and grassroots buy-in will determine whether internal friction emerges
Kuala Lumpur flagKuala Lumpur1110110334Mixed demographics and urban issues dominate. Bandar Tun Razak and Setiawangsa have more transfer flexibility than core DAP seats
Labuan flagLabuan1010000A single parliamentary seat where the local nominee and perceptions of federal resources matter more than a national swing
Putrajaya flagPutrajaya1010000A non-PH baseline seat; excluded from this report's PH-capture count
05

Local evidence

Why Seremban has returned to the flip line

In P.128 Seremban, GE15 arithmetic still gives PH 63,920 votes against BN 24,584 plus PN 33,076; PH leads by 6,260 votes.But after aggregating the six state seats within the constituency in the 2026 Negeri Sembilan election, the alliance is only 497 votes; a small amount of third-party vote transfer or stronger grassroots mobilisation could close the gap.

63,920GE15 PH / Anthony Loke
57,660GE15 BN + PN
4972026 aggregate gap across six state seats
CaptureCentral scenario assessment
This does not mean Seremban is destined to fall. Anthony Loke's personal standing, Chinese urban turnout and the acceptability of an MCA nominee remain key uncertainties. The seat has been upgraded because the latest state-seat evidence no longer supports treating it as an ordinary safe PH seat.
06

Central scenario

32 PH seats enter the BN–PN capture range

All seats come from PH wins in GE15 three-cornered contests. The ranking combines the central attack/defence ratio with local calibration; it does not mean the outcome has already occurred, nor is it a polling probability.

How to read this section: Each card first shows the model's central-scenario judgement. The expandable “GE15 historical voting record” below it presents historical facts only: every candidate, party or coalition, vote total and vote share. Smaller parties and independents are retained so that third-party votes are not incorrectly assigned to BN or PN. Attack/defence ratios such as 1.90 are model indices, not historical votes or fixed win probabilities.

What does “strong capture case” mean?

This is the report's highest confidence category. Under the central parameters, nominee allocation, BN–PAS–Wawasan transfer, local state-seat evidence and grassroots execution risk all point in the alliance's favour. It is not a guaranteed win and it is not a fixed polling probability.

What does “1.90” represent?

It is the model's attack/defence ratio: the higher the number, the more favourable the alliance's combined capture conditions are relative to PH's defensive conditions. 1.90 is not 190%, not a 90% win probability and not betting odds; it is an uncalibrated scenario score that must be read alongside the seat data and written reasoning.

01

P.149 · Johor

Sri Gading

Suggested nominee:UMNO  GE15 PH margin:4,000

BN won both Parit Yaani and Parit Raja; an UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.90Attack/defence ratio
02

P.096 · Selangor

Kuala Selangor

Suggested nominee:UMNO  GE15 PH margin:1,002

An UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.75Attack/defence ratio
03

P.141 · Johor

Sekijang

Suggested nominee:UMNO  GE15 PH margin:1,734

BN won both Pemanis and Kemelah; an UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.68Attack/defence ratio
04

P.146 · Johor

Muar

Suggested nominee:UMNO  GE15 PH margin:1,345

BN won Bukit Naning, Maharani and Sungai Balang; an UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.68Attack/defence ratio
05

P.089 · Pahang

Bentong

Suggested nominee:MCA  GE15 PH margin:692

With MCA contesting, the key question is whether PAS voters will cross party lines

Strong capture case1.62Attack/defence ratio
06

P.077 · Perak

Tanjong Malim

Suggested nominee:Wawasan  GE15 PH margin:3,541

Wawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates

Strong capture case1.62Attack/defence ratio
07

P.135 · Melaka

Alor Gajah

Suggested nominee:UMNO  GE15 PH margin:890

An UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.59Attack/defence ratio
08

P.144 · Johor

Ledang

Suggested nominee:UMNO  GE15 PH margin:9,769

BN won Gambir, Tangkak and Serom; an UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.56Attack/defence ratio
09

P.107 · Selangor

Sungai Buloh

Suggested nominee:UMNO  GE15 PH margin:2,693

An UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.54Attack/defence ratio
10

P.053 · Penang

Balik Pulau

Suggested nominee:Wawasan  GE15 PH margin:1,582

Wawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates

Strong capture case1.52Attack/defence ratio
11

P.080 · Pahang

Raub

Suggested nominee:Wawasan  GE15 PH margin:4,357

Wawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates

Strong capture case1.51Attack/defence ratio
12

P.015 · Kedah

Sungai Petani

Suggested nominee:Wawasan  GE15 PH margin:1,115

Wawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates

Strong capture case1.49Attack/defence ratio
13

P.142 · Johor

Labis

Suggested nominee:MCA  GE15 PH margin:2,833

BN won both Tenang and Bekok; with MCA contesting, the key question is whether PAS voters will cross party lines

Strong capture case1.44Attack/defence ratio
14

P.159 · Johor

Pasir Gudang

Suggested nominee:UMNO  GE15 PH margin:31,558

BN won both Johor Jaya and Permas; an UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.39Attack/defence ratio
15

P.160 · Johor

Johor Bahru

Suggested nominee:UMNO  GE15 PH margin:16,041

BN won Larkin while PH narrowly held Stulang; an UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.38Attack/defence ratio
16

P.137 · Melaka

Hang Tuah Jaya

Suggested nominee:UMNO  GE15 PH margin:8,638

An UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.38Attack/defence ratio
17

P.113 · Selangor

Sepang

Suggested nominee:Wawasan  GE15 PH margin:8,949

Wawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates

Strong capture case1.36Attack/defence ratio
18

P.140 · Johor

Segamat

Suggested nominee:MIC  GE15 PH margin:5,669

BN won both Buloh Kasap and Jementah; with MIC contesting, the key question is whether PAS voters will cross party lines

Strong capture case1.35Attack/defence ratio
19

P.063 · Perak

Tambun

Suggested nominee:Wawasan  GE15 PH margin:3,716

Wawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates

Strong capture case1.35Attack/defence ratio
20

P.062 · Perak

Sungai Siput

Suggested nominee:MIC  GE15 PH margin:1,846

With MIC contesting, the key question is whether PAS voters will cross party lines

Strong capture case1.32Attack/defence ratio
21

P.150 · Johor

Batu Pahat

Suggested nominee:UMNO  GE15 PH margin:15,972

PH held Penggaram while BN won Senggarang and Rengit; an UMNO nominee is more likely to inherit PAS and Wawasan supporters

Strong capture case1.31Attack/defence ratio
22

P.101 · Selangor

Hulu Langat

Suggested nominee:Wawasan  GE15 PH margin:14,888

Wawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates

Lean capture1.26Attack/defence ratio
23

P.098 · Selangor

Gombak

Suggested nominee:Wawasan  GE15 PH margin:12,729

Wawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates

Lean capture1.19Attack/defence ratio
24

P.158 · Johor

Tebrau

Suggested nominee:MCA  GE15 PH margin:30,720

BN won Tiram while PH held Puteri Wangsa; with MCA contesting, the key question is whether PAS voters will cross party lines

Lean capture1.17Attack/defence ratio
25

P.121 · Kuala Lumpur

Lembah Pantai

Suggested nominee:UMNO  GE15 PH margin:13,912

An UMNO nominee is more likely to inherit PAS and Wawasan supporters

Lean capture1.16Attack/defence ratio
26

P.108 · Selangor

Shah Alam

Suggested nominee:Wawasan  GE15 PH margin:18,095

Wawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates

Lean capture1.14Attack/defence ratio
27

P.152 · Johor

Kluang

Suggested nominee:MCA  GE15 PH margin:26,406

PH held Mengkibol while BN won Mahkota decisively; with MCA contesting, the key question is whether PAS voters will cross party lines

Lean capture1.14Attack/defence ratio
28

P.124 · Kuala Lumpur

Bandar Tun Razak

Suggested nominee:MCA  GE15 PH margin:9,817

With MCA contesting, the key question is whether PAS voters will cross party lines

Lean capture1.12Attack/defence ratio
29

P.118 · Kuala Lumpur

Setiawangsa

Suggested nominee:UMNO  GE15 PH margin:12,164

An UMNO nominee is more likely to inherit PAS and Wawasan supporters

Lean capture1.11Attack/defence ratio
30

P.161 · Johor

Pulai

Suggested nominee:UMNO  GE15 PH margin:33,174

BN won both Perling and Kempas; an UMNO nominee is more likely to inherit PAS and Wawasan supporters

On the flip line1.08Attack/defence ratio
31

P.132 · Negeri Sembilan

Port Dickson

Suggested nominee:MIC  GE15 PH margin:23,937

The five state seats give the alliance a lead of 3,632 votes; with MIC contesting, the key question is whether PAS voters will cross party lines

On the flip line1.00Attack/defence ratio
32

P.128 · Negeri Sembilan

Seremban

Suggested nominee:MCA  GE15 PH margin:30,844

The six state seats are almost tied; including part of the BERJASA vote gives the alliance a narrow lead; with MCA contesting, the key question is whether PAS voters will cross party lines

On the flip line0.95Attack/defence ratio
07

Model structure

The real calculation is whether the alliance can execute

1 · Seat bargaining

PAS is stronger than UMNO; BN cannot be assumed to lead naturally

PAS won 43 seats in GE15 against UMNO's 26. Seat concessions are therefore not an administrative detail but a power bargain. The nominee will determine whether the other side's grassroots will actually vote.

2 · Directional vote transfer

Transfers are incomplete and asymmetric

The central model distinguishes PAS → UMNO, PAS → MCA, PAS → MIC, BN → PAS and BN → Wawasan transfers. Supporters may comply, campaign passively, abstain or move to a third party.

3 · National variation

Every state has its own political structure

PAS strength on the East Coast, Klang Valley urban votes, Penang's DAP core, Johor's BN machinery and the local-party systems of Sabah and Sarawak cannot be treated with one uniform swing.

08

Scenarios and limitations

The alliance's greatest risk is not the arithmetic but implementation

VariableSupports a 112-seat outcomePushes the result below 112
Seat allocationBN, PAS and Wawasan accept a clear and reciprocal allocationPAS believes its strength is undervalued, or BN grassroots refuse to support a PAS nominee
NomineesRetain strong local leaders, especially in mixed constituenciesThe concession nominee lacks cross-ethnic appeal, producing member resentment or an independent challenge
Vote flowBoth sides transfer votes near the central parameters and residual three-cornered contests fall sharplyLeaders sign an agreement but grassroots campaign passively; transfer rates diverge sharply among MCA, UMNO and PAS
PH responsePH continues to face low turnout, nominee controversy or local-organisation declinePH completes nominee consolidation and non-Malay and urban youth turnout recovers
East MalaysiaThe alliance itself reaches 112 seats in Peninsular MalaysiaSabah and Sarawak parties remain independent and become pivotal to government formation
Conclusion:Across Malaysia, the alliance could plausibly capture about 32 seats from PH. But whether it can govern alone also depends on retaining its inherited BN, PAS and Wawasan seats. The most defensible judgement is:112 is reachable, but it is not the unconditional natural outcome of a neutral scenario.
09

Complete baseline table

222 parliamentary seats, searchable, filterable and downloadable

Showing 222 / 222 seats

ConstituencyStateGE15 winnerMarginBNPASBersatuPHSuggested nomineeAttack/defence ratioAssessmentKey reason
P.001Padang BesarPerlisPN12,51411,75324,26707,085PAS4.97Non-PH baseline seat
P.002KangarPerlisPN9,19215,370024,56215,143Wawasan2.55Non-PH baseline seat
P.003ArauPerlisPN23,2168,24231,45807,089PAS5.61Non-PH baseline seat
P.004LangkawiKedahPN13,51811,945025,4635,417Wawasan6.72Non-PH baseline seat
P.005JerlunKedahPN20,45611,22931,68506,149PAS6.91Non-PH baseline seat
P.006Kubang PasuKedahPN31,58414,489047,58416,000Wawasan3.84Non-PH baseline seat
P.007Padang TerapKedahPN10,95917,25828,21702,702PAS16.22Non-PH baseline seat
P.008Pokok SenaKedahPN31,75114,52352,275020,524PAS3.26Non-PH baseline seat
P.009Alor SetarKedahPN9,9318,93037,486027,555PAS1.71Non-PH baseline seat
P.010Kuala KedahKedahPN28,06113,87956,298028,237PAS2.51Non-PH baseline seat
P.011PendangKedahPN31,28917,71949,00808,058PAS8.19Non-PH baseline seat
P.012JeraiKedahPN33,19216,26949,461015,590PAS4.20Non-PH baseline seat
P.013SikKedahPN21,78712,81934,60603,736PAS12.53Non-PH baseline seat
P.014MerbokKedahPN21,01916,691052,57331,554Wawasan2.18Non-PH baseline seat
P.015Sungai PetaniKedahPH1,11527,391049,46550,580Wawasan1.49Strong capture caseWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.016BalingKedahPN29,13735,35664,49308,636PAS11.21Non-PH baseline seat
P.017Padang SeraiKedahPN16,2602,983051,63735,377Wawasan1.58Non-PH baseline seat
P.018Kulim-Bandar BaharuKedahPN13,06113,872034,46921,408Wawasan2.22Non-PH baseline seat
P.019TumpatKelantanPN34,79330,63365,42607,762PAS12.09Non-PH baseline seat
P.020Pengkalan ChepaKelantanPN38,27015,66353,93307,356PAS9.43Non-PH baseline seat
P.021Kota BharuKelantanPN22,61316,16841,869019,256PAS2.99Non-PH baseline seat
P.022Pasir MasKelantanPN30,71713,72744,44406,439PAS8.99Non-PH baseline seat
P.023Rantau PanjangKelantanPN20,63617,12337,75904,256PAS12.61Non-PH baseline seat
P.024Kubang KerianKelantanPN40,84714,80755,654010,236PAS6.89Non-PH baseline seat
P.025BachokKelantanPN30,16327,33357,49604,385PAS18.87Non-PH baseline seat
P.026KeterehKelantanPN23,10717,435040,5424,662Wawasan12.13Non-PH baseline seat
P.027Tanah MerahKelantanPN44,4989,781054,2795,357Wawasan11.94Non-PH baseline seat
P.028Pasir PutehKelantanPN29,12023,98853,10803,873PAS19.46Non-PH baseline seat
P.029MachangKelantanPN10,15425,449035,6033,934Wawasan14.85Non-PH baseline seat
P.030JeliKelantanPN12,46414,608027,0721,140Wawasan35.33Non-PH baseline seat
P.031Kuala KraiKelantanPN25,18817,55242,74004,148PAS14.28Non-PH baseline seat
P.032Gua MusangKelantanPN16321,663021,8264,517Wawasan9.09Non-PH baseline seat
P.033BesutTerengganuPN18,66630,90349,56904,339PAS17.85Non-PH baseline seat
P.034SetiuTerengganuPN19,03231,73650,76802,125PAS37.34Non-PH baseline seat
P.035Kuala NerusTerengganuPN29,76526,93256,69703,708PAS22.00Non-PH baseline seat
P.036Kuala TerengganuTerengganuPN40,90722,10963,016010,946PAS7.70Non-PH baseline seat
P.037MarangTerengganuPN41,72931,38673,11504,140PAS24.73Non-PH baseline seat
P.038Hulu TerengganuTerengganuPN15,73427,176042,9101,740Wawasan38.68Non-PH baseline seat
P.039DungunTerengganuPN34,10525,61559,72005,307PAS15.76Non-PH baseline seat
P.040KemamanTerengganuPN27,17938,53565,71408,340PAS12.07Non-PH baseline seat
P.041Kepala BatasPenangPN2,86725,73728,604014,214PAS3.62Non-PH baseline seat
P.042Tasek GelugorPenangPN12,25218,864031,11616,547Wawasan2.93Non-PH baseline seat
P.043BaganPenangPH49,6485,38506,14955,797Wawasan0.22Safe PHWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.044Permatang PauhPenangPN5,27216,97137,638032,366PAS1.67Non-PH baseline seat
P.045Bukit MertajamPenangPH57,6856,98614,037071,722PAS0.31Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.046Batu KawanPenangPH40,4007,1450050,744MCA0.34Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.047Nibong TebalPenangPH16,29310,660025,89542,188Wawasan0.87Safe PHWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.048Bukit BenderaPenangPH42,6105,4170049,353PCM0.25Safe PHThe alliance's combined GE15 vote is close to or exceeds PH; the nominee and turnout decide the result
P.049TanjongPenangPH28,7543,2140031,968MCA0.19Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.050JelutongPenangPH38,6047,3870050,369IPF0.37Safe PHThe alliance's combined GE15 vote is close to or exceeds PH; the nominee and turnout decide the result
P.051Bukit GelugorPenangPH63,1126,77708,09271,204Wawasan0.22Safe PHWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.052Bayan BaruPenangPH34,90213,3770055,209MCA0.59Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.053Balik PulauPenangPH1,58215,478022,98224,564Wawasan1.52Strong capture caseWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.054GerikPerakPN1,37713,728015,1055,779Wawasan4.74Non-PH baseline seat
P.055LenggongPerakBN87912,58811,70903,382PAS6.72Non-PH baseline seat
P.056LarutPerakPN11,59816,752028,3506,207Wawasan7.01Non-PH baseline seat
P.057Parit BuntarPerakPN5,39511,59323,223017,828PAS1.92Non-PH baseline seat
P.058Bagan SeraiPerakPN18,55115,20233,753013,195PAS3.64Non-PH baseline seat
P.059Bukit GantangPerakPN12,75619,869032,62518,565Wawasan2.74Non-PH baseline seat
P.060TaipingPerakPH25,52914,5990047,098MCA0.74Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.061Padang RengasPerakPN3,0469,885012,9317,062Wawasan3.10Non-PH baseline seat
P.062Sungai SiputPerakPH1,84619,79108,19021,637MIC1.32Strong capture caseWith MIC contesting, the key question is whether PAS voters will cross party lines
P.063TambunPerakPH3,71628,111045,93949,655Wawasan1.35Strong capture caseWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.064Ipoh TimorPerakPH43,8888,570013,66157,549Wawasan0.39Safe PHWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.065Ipoh BaratPerakPH56,6677,2480063,915MCA0.23Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.066Batu GajahPerakPH53,8366,7930060,999MCA0.24Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.067Kuala KangsarPerakPN3,56610,814014,38010,356Wawasan2.34Non-PH baseline seat
P.068BeruasPerakPH33,97112,7240046,710MCA0.54Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.069ParitPerakPN2,15515,02617,18105,063PAS6.03Non-PH baseline seat
P.070KamparPerakPH14,33016,1370030,467MCA0.91PH leanWith MCA contesting, the key question is whether PAS voters will cross party lines
P.071GopengPerakPH27,14818,393028,73255,880Wawasan0.83Safe PHWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.072TapahPerakBN5,06418,398012,11513,334MIC2.29Non-PH baseline seat
P.073Pasir SalakPerakPN5,00319,89424,897011,693PAS3.65Non-PH baseline seat
P.074LumutPerakPN36324,849025,21220,358Wawasan2.34Non-PH baseline seat
P.075Bagan DatukPerakBN34816,57808,82216,230UMNO1.58Non-PH baseline seat
P.076Teluk IntanPerakPH15,16912,304017,96433,133Wawasan0.90PH leanWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.077Tanjong MalimPerakPH3,54120,963021,59925,140Wawasan1.62Strong capture caseWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.078Cameron HighlandsPahangBN4,54416,12005,56911,576UMNO1.90Non-PH baseline seat
P.079LipisPahangBN6,11817,672011,5546,366UMNO4.57Non-PH baseline seat
P.080RaubPahangPH4,35716,939017,25621,613Wawasan1.51Strong capture caseWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.081JerantutPahangPN8,09223,60931,701011,444PAS4.62Non-PH baseline seat
P.082Indera MahkotaPahangPN8,45016,544041,68433,234Wawasan1.73Non-PH baseline seat
P.083KuantanPahangPN2,86619,11425,514022,648PAS1.90Non-PH baseline seat
P.084Paya BesarPahangBN1,31726,89925,58209,192PAS5.35Non-PH baseline seat
P.085PekanPahangBN8,94947,41838,46906,316PAS12.61Non-PH baseline seat
P.086MaranPahangPN1,82117,77919,60003,547PAS9.95Non-PH baseline seat
P.087Kuala KrauPahangPN1,02421,48122,50503,593PAS11.52Non-PH baseline seat
P.088TemerlohPahangPN5,52025,19130,929025,409PAS2.11Non-PH baseline seat
P.089BentongPahangPH69224,383016,23325,075MCA1.62Strong capture caseWith MCA contesting, the key question is whether PAS voters will cross party lines
P.090BeraPahangBN16,69531,762012,71915,067UMNO2.98Non-PH baseline seat
P.091RompinPahangPN1,43830,151031,5894,779Wawasan12.22Non-PH baseline seat
P.092Sabak BernamSelangorPN5,05612,917017,9739,627Wawasan3.09Non-PH baseline seat
P.093Sungai BesarSelangorPN2,72113,984019,79117,070Wawasan1.91Non-PH baseline seat
P.094Hulu SelangorSelangorPN1,56227,05046,823045,261PAS1.60Non-PH baseline seat
P.095Tanjong KarangSelangorPN2,18015,874018,05412,314Wawasan2.63Non-PH baseline seat
P.096Kuala SelangorSelangorPH1,00230,03123,639031,033UMNO1.75Strong capture caseAn UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.097SelayangSelangorPH23,61919,425049,15472,773Wawasan0.94PH leanWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.098GombakSelangorPH12,72930,723059,53872,267Wawasan1.19Lean captureWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.099AmpangSelangorPH29,68111,509027,07356,754Wawasan0.68Safe PHWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.100PandanSelangorPH48,29611,66425,706074,002PAS0.49Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.101Hulu LangatSelangorPH14,88832,564043,49258,380Wawasan1.26Lean captureWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.102BangiSelangorPH69,70125,68571,8670141,568PAS0.70Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.103PuchongSelangorPH57,95721,4680079,425KIMMA0.47Safe PHThe alliance's combined GE15 vote is close to or exceeds PH; the nominee and turnout decide the result
P.104SubangSelangorPH115,07416,53900138,259MCA0.29Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.105Petaling JayaSelangorPH50,57523,253032,73683,311Wawasan0.66Safe PHWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.106DamansaraSelangorPH124,61913,80600142,875MCA0.23Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.107Sungai BulohSelangorPH2,69348,25029,060050,943UMNO1.54Strong capture caseAn UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.108Shah AlamSelangorPH18,09528,266043,31461,409Wawasan1.14Lean captureWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.109KaparSelangorPN11,78235,07965,751053,969PAS1.83Non-PH baseline seat
P.110KlangSelangorPH91,80119,762023,738115,539Wawasan0.38Safe PHWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.111Kota RajaSelangorPH73,99822,22549,3080123,306PAS0.59Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.112Kuala LangatSelangorPN1,83318,68552,867051,034PAS1.41Non-PH baseline seat
P.113SepangSelangorPH8,94931,097047,31556,264Wawasan1.36Strong capture caseWawasan is assumed to inherit the alliance-oriented vote previously attached to Bersatu candidates
P.114KepongKuala LumpurPH61,0813,2270064,308MCA0.11Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.115BatuKuala LumpurPH22,24110,39823,475045,716MIC0.73Safe PHWith MIC contesting, the key question is whether PAS voters will cross party lines
P.116Wangsa MajuKuala LumpurPH20,69619,59525,335046,031UMNO0.99PH leanAn UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.117SegambutKuala LumpurPH59,6848,3040068,438MCA0.26Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.118SetiawangsaKuala LumpurPH12,16416,333022,27034,434UMNO1.11Lean captureAn UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.119TitiwangsaKuala LumpurBN4,63225,04214,518020,410UMNO1.97Non-PH baseline seat
P.120Bukit BintangKuala LumpurPH38,9774,85004,25943,827MCA0.23Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.121Lembah PantaiKuala LumpurPH13,91221,44719,098035,359UMNO1.16Lean captureAn UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.122SeputehKuala LumpurPH67,1876,0320073,234MCA0.18Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.123CherasKuala LumpurPH54,4485,60605,84660,294MCA0.21Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.124Bandar Tun RazakKuala LumpurPH9,81715,886033,65943,476MCA1.12Lean captureWith MCA contesting, the key question is whether PAS voters will cross party lines
P.125PutrajayaPutrajayaPN2,31013,692016,0025,988Wawasan4.72Non-PH baseline seat
P.126JelebuNegeri SembilanBN8,12521,80509,59613,680UMNO2.44Non-PH baseline seat
P.127JempolNegeri SembilanBN5,85730,138016,72224,281UMNO2.04Non-PH baseline seat
P.128SerembanNegeri SembilanPH30,84424,58433,076063,920MCA0.95On the flip lineThe six state seats are almost tied; including part of the BERJASA vote gives the alliance a narrow lead; with MCA contesting, the key question is whether PAS voters will cross party lines
P.129Kuala PilahNegeri SembilanBN6,48321,423011,56014,940UMNO2.33Non-PH baseline seat
P.130RasahNegeri SembilanPH61,98719,4470081,434MCA0.53Safe PHPH's urban vote remains highly concentrated in Rasah; with MCA contesting, the key question is whether PAS voters will cross party lines
P.131RembauNegeri SembilanBN19,89753,075021,87533,178UMNO2.40Non-PH baseline seat
P.132Port DicksonNegeri SembilanPH23,93718,41218,235042,349MIC1.00On the flip lineThe five state seats give the alliance a lead of 3,632 votes; with MIC contesting, the key question is whether PAS voters will cross party lines
P.133TampinNegeri SembilanBN1,27623,28314,962022,007UMNO1.86Non-PH baseline seat
P.134Masjid TanahMelakaPN4,41121,193025,6047,445UMNO6.14Non-PH baseline seat
P.135Alor GajahMelakaPH89027,288017,21128,178UMNO1.59Strong capture caseAn UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.136Tangga BatuMelakaPN8,84925,09537,406028,557MCA2.09Non-PH baseline seat
P.137Hang Tuah JayaMelakaPH8,63830,780023,54939,418UMNO1.38Strong capture caseAn UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.138Kota MelakaMelakaPH46,42020,6860073,995MCA0.63Safe PHWith MCA contesting, the key question is whether PAS voters will cross party lines
P.139JasinMelakaPN32227,57127,893021,674UMNO2.57Non-PH baseline seat
P.140SegamatJohorPH5,66917,76808,38523,437MIC1.35Strong capture caseBN won both Buloh Kasap and Jementah; with MIC contesting, the key question is whether PAS voters will cross party lines
P.141SekijangJohorPH1,73417,207011,61218,941UMNO1.68Strong capture caseBN won both Pemanis and Kemelah; an UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.142LabisJohorPH2,83313,30005,31216,133MCA1.44Strong capture caseBN won both Tenang and Bekok; with MCA contesting, the key question is whether PAS voters will cross party lines
P.143PagohJohorPN10,00714,426024,98614,979UMNO2.75Non-PH baseline seat
P.144LedangJohorPH9,76923,881022,29233,650UMNO1.56Strong capture caseBN won Gambir, Tangkak and Serom; an UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.145BakriJohorPH19,25417,382017,22236,636MCA0.91PH leanPH still holds Bentayan and Simpang Jeram; with MCA contesting, the key question is whether PAS voters will cross party lines
P.146MuarJohorPH1,34514,58118,616019,961UMNO1.68Strong capture caseBN won Bukit Naning, Maharani and Sungai Balang; an UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.147Parit SulongJohorBN2,02125,74023,719013,495UMNO3.95Non-PH baseline seat
P.148Ayer HitamJohorBN2,96318,911011,83315,948MCA2.08Non-PH baseline seat
P.149Sri GadingJohorPH4,00019,24218,475023,242UMNO1.90Strong capture caseBN won both Parit Yaani and Parit Raja; an UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.150Batu PahatJohorPH15,97224,309029,27045,242UMNO1.31Strong capture casePH held Penggaram while BN won Senggarang and Rengit; an UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.151Simpang RenggamJohorBN1,82118,31209,07716,491UMNO1.80Non-PH baseline seat
P.152KluangJohorPH26,40623,395022,02149,801MCA1.14Lean capturePH held Mengkibol while BN won Mahkota decisively; with MCA contesting, the key question is whether PAS voters will cross party lines
P.153SembrongJohorBN10,88022,57206,66611,692UMNO2.73Non-PH baseline seat
P.154MersingJohorPN2,33718,729021,0666,813UMNO6.15Non-PH baseline seat
P.155TenggaraJohorBN2,99121,18518,194011,618UMNO3.66Non-PH baseline seat
P.156Kota TinggiJohorBN8,39025,410017,0204,903UMNO9.23Non-PH baseline seat
P.157PengerangJohorBN5,01021,738016,7283,374UMNO12.11Non-PH baseline seat
P.158TebrauJohorPH30,72030,767053,23983,959MCA1.17Lean captureBN won Tiram while PH held Puteri Wangsa; with MCA contesting, the key question is whether PAS voters will cross party lines
P.159Pasir GudangJohorPH31,55837,369039,67571,233UMNO1.39Strong capture caseBN won both Johor Jaya and Permas; an UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.160Johor BahruJohorPH16,04127,211022,07543,252UMNO1.38Strong capture caseBN won Larkin while PH narrowly held Stulang; an UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.161PulaiJohorPH33,17431,7260064,900UMNO1.08On the flip lineBN won both Perling and Kempas; an UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.162Iskandar PuteriJohorPH60,03636,783030,07896,819MCA0.90PH leanPH won Skudai while BN won Kota Iskandar; with MCA contesting, the key question is whether PAS voters will cross party lines
P.163KulaiJohorPH36,02329,5060065,529MCA0.97PH leanBN won Bukit Permai and Bukit Batu while PH won Senai; with MCA contesting, the key question is whether PAS voters will cross party lines
P.164PontianJohorBN5,75823,201017,44315,901UMNO2.73Non-PH baseline seat
P.165Tanjung PiaiJohorBN6,36023,593013,76217,233MCA2.34Non-PH baseline seat
P.166LabuanLabuanPN7087,41608,1245,307Wawasan2.79Non-PH baseline seat
P.167KudatSabahALONE1,9670004,726PAS0.02Non-PH baseline seat
P.168Kota MaruduSabahALONE8,1740003,225PAS0.02Non-PH baseline seat
P.169Kota BeludSabahALONE4,58220,566008,323UMNO2.57Non-PH baseline seat
P.170TuaranSabahPH23300024,943PAS0.02Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.171SepanggarSabahPH7,04219,9800027,022UMNO0.78Safe PHAn UMNO nominee is more likely to inherit PAS and Wawasan supporters
P.172Kota KinabaluSabahPH23,78300031,359PAS0.02Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.173PutatanSabahBN12416,2340016,110UMNO1.06Non-PH baseline seat
P.174PenampangSabahPH14,41000029,066PAS0.02Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.175PaparSabahGRS12,8220009,144PAS0.02Non-PH baseline seat
P.176KimanisSabahBN3,03713,004003,931UMNO3.43Non-PH baseline seat
P.177BeaufortSabahBN2,51810,570007,835UMNO1.41Non-PH baseline seat
P.178SipitangSabahGRS4,6910004,834PAS0.02Non-PH baseline seat
P.179RanauSabahGRS11,0924,2540011,514PBRS0.31Non-PH baseline seat
P.180KeningauSabahGRS8,05600015,099PAS0.02Non-PH baseline seat
P.181TenomSabahALONE1,1088,625008,919UMNO1.02Non-PH baseline seat
P.182PensianganSabahBN5,41219,6230014,211PBRS1.11Non-PH baseline seat
P.183BeluranSabahPN1,5949,709011,3034,460Wawasan4.49Non-PH baseline seat
P.184LibaranSabahBN12,61822,9690010,351UMNO2.31Non-PH baseline seat
P.185Batu SapiSabahGRS4,8210007,331PAS0.02Non-PH baseline seat
P.186SandakanSabahPH11,03100016,673PAS0.02Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.187KinabatanganSabahBN4,33016,842000UMNO99.00Non-PH baseline seat
P.188Lahad DatuSabahALONE4,37622,740008,289UMNO2.85Non-PH baseline seat
P.189SempornaSabahALONE20,8100001,848PAS0.02Non-PH baseline seat
P.190TawauSabahGRS3,80000016,065PAS0.02Non-PH baseline seat
P.191KalabakanSabahBN9,10023,855009,398UMNO2.64Non-PH baseline seat
P.192Mas GadingSarawakPH5,48000017,274PAS0.02Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.193SantubongSarawakGPS38,6810005,058PAS0.02Non-PH baseline seat
P.194Petra JayaSarawakGPS41,36300013,382PAS0.02Non-PH baseline seat
P.195Bandar KuchingSarawakPH28,89100045,353PAS0.02Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.196StampinSarawakPH7,15800039,310PAS0.02Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.197Kota SamarahanSarawakGPS29,44500012,833PAS0.02Non-PH baseline seat
P.198Puncak BorneoSarawakGPS13,33800016,119PAS0.02Non-PH baseline seat
P.199SerianSarawakGPS16,6970005,289PAS0.02Non-PH baseline seat
P.200Batang SadongSarawakGPS14,8930003,775PAS0.02Non-PH baseline seat
P.201Batang LuparSarawakGPS14,46305,16402,768PAS1.97Non-PH baseline seat
P.202Sri AmanSarawakGPS4,0390002,021PAS0.02Non-PH baseline seat
P.203Lubok AntuSarawakGPS100005,360746Wawasan7.36Non-PH baseline seat
P.204BetongSarawakGPS11,3020005,177PAS0.02Non-PH baseline seat
P.205SaratokSarawakPN8,8260019,2231,221Wawasan16.10Non-PH baseline seat
P.206Tanjong ManisSarawakGPS13,9080002,566PAS0.02Non-PH baseline seat
P.207IganSarawakGPS14,6620001,162PAS0.02Non-PH baseline seat
P.208SarikeiSarawakGPS3,69700016,383PAS0.02Non-PH baseline seat
P.209JulauSarawakALONE1,3400000PAS99.00Non-PH baseline seat
P.210KanowitSarawakGPS2360007,175PAS0.02Non-PH baseline seat
P.211LanangSarawakPH11,54400030,120PAS0.02Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.212SibuSarawakPH7,76000031,287PAS0.02Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.213MukahSarawakGPS15,6860006,047PAS0.02Non-PH baseline seat
P.214SelangauSarawakGPS4,98600011,092PAS0.02Non-PH baseline seat
P.215KapitSarawakGPS12,4020004,120PAS0.02Non-PH baseline seat
P.216Hulu RajangSarawakGPS7,5050007,951PAS0.02Non-PH baseline seat
P.217BintuluSarawakGPS22,168005,65021,287Wawasan0.29Non-PH baseline seat
P.218SibutiSarawakGPS11,74500010,405PAS0.02Non-PH baseline seat
P.219MiriSarawakPH6,15900039,549PAS0.02Safe PHPAS contesting; outcome depends on BN supporters voting across party lines
P.220BaramSarawakGPS7,33900011,060PAS0.02Non-PH baseline seat
P.221LimbangSarawakGPS9,9980004,899PAS0.02Non-PH baseline seat
P.222LawasSarawakGPS5,6770001,163PAS0.02Non-PH baseline seat
10

Sources and method register

A conditional model that can be updated

The baseline comes from the supplied election-15.csv; research cut-off: 5 August 2026. GE15 results, three-cornered-contest counts and seat-level votes are [DATA]; BN–PN coordination is a [USER ASSUMPTION]; directional transfer, nominee allocation, grassroots buy-in and the 112-seat scenarios are [MODEL ASSUMPTION]; the central capture list is a [FORECAST].

Limitations: there is no national poll directly measuring BN–PN transfer; Wawasan's final organisational scale and inheritance of Bersatu seats remain scenario variables; state-election results are not equivalent to a general election; East Malaysian parties are not automatically assigned to the alliance; and ecological estimates are not presented as individual-level voting behaviour.