By-Elections (PRK): Statistics
Last updated: 18 Jul 2026
Seat-level stats (voter turnout, rejected votes, etc) for every by-election from 1957-present.
276 rows × 15 cols
| date | election | state | seat | voters_total | ballots_issued | ballots_not_returned | votes_rejected | votes_valid | majority | n_candidates | voter_turnout | majority_perc | votes_rejected_perc | ballots_not_returned_perc |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 24 Jan 2026 | BY-ELECTION | Sabah | N.58 Lamag | 13,515 | 9,024 | 7 | 160 | 8,857 | 5,681 | 2 | 66.8 | 64.1 | 1.8 | 0.1 |
| 24 Jan 2026 | BY-ELECTION | Sabah | P.187 Kinabatangan | 48,282 | 26,827 | 22 | 369 | 26,436 | 14,214 | 3 | 55.6 | 53.8 | 1.4 | 0.1 |
| 26 Apr 2025 | BY-ELECTION | Perak | N.48 Ayer Kuning | 31,897 | 18,523 | 4 | 289 | 18,230 | 5,006 | 3 | 58.1 | 27.5 | 1.6 | 0.0 |
| 28 Sept 2024 | BY-ELECTION | Johor | N.29 Mahkota | 66,318 | 35,705 | 24 | 339 | 35,342 | 20,648 | 2 | 53.8 | 58.4 | 1.0 | 0.1 |
| 17 Aug 2024 | BY-ELECTION | Kelantan | N.43 Nenggiri | 20,259 | 14,968 | 3 | 135 | 14,830 | 3,352 | 2 | 73.9 | 22.6 | 0.9 | 0.0 |
| 06 Jul 2024 | BY-ELECTION | Pulau Pinang | N.20 Sungai Bakap | 39,279 | 24,923 | 4 | 208 | 24,711 | 4,267 | 2 | 63.5 | 17.3 | 0.8 | 0.0 |
| 11 May 2024 | BY-ELECTION | Selangor | N.06 Kuala Kubu Baharu | 40,226 | 24,734 | 0 | 263 | 24,471 | 3,869 | 4 | 61.5 | 15.8 | 1.1 | 0.0 |
| 02 Dec 2023 | BY-ELECTION | Terengganu | P.040 Kemaman | 141,790 | 93,239 | 35 | 428 | 92,776 | 37,220 | 2 | 65.8 | 40.1 | 0.5 | 0.0 |
| 04 Nov 2023 | BY-ELECTION | Sarawak | N.67 Jepak | 22,804 | 11,077 | 2 | 152 | 10,923 | 8,784 | 3 | 48.6 | 80.4 | 1.4 | 0.0 |
| 07 Oct 2023 | BY-ELECTION | Pahang | N.36 Pelangai | 16,456 | 11,868 | 2 | 120 | 11,746 | 2,949 | 3 | 72.1 | 25.1 | 1.0 | 0.0 |
| 09 Sept 2023 | BY-ELECTION | Johor | N.13 Simpang Jeram | 40,379 | 24,571 | 12 | 74 | 24,485 | 3,514 | 3 | 60.9 | 14.4 | 0.3 | 0.0 |
| 09 Sept 2023 | BY-ELECTION | Johor | P.161 Pulai | 166,653 | 78,882 | 66 | 363 | 78,453 | 18,641 | 3 | 47.3 | 23.8 | 0.5 | 0.1 |
| 12 Aug 2023 | BY-ELECTION | Terengganu | P.036 Kuala Terengganu | 123,397 | 90,632 | 111 | 1,049 | 89,472 | 47,266 | 2 | 73.4 | 52.8 | 1.2 | 0.1 |
| 19 Nov 2022 | BY-ELECTION | Sabah | N.66 Bugaya | 32,761 | 18,376 | 126 | 482 | 17,768 | 6,629 | 7 | 56.1 | 37.3 | 2.6 | 0.7 |
| 29 Aug 2020 | BY-ELECTION | Perak | N.58 Slim | 23,094 | 15,796 | 18 | 327 | 15,451 | 10,945 | 3 | 68.4 | 70.8 | 2.1 | 0.1 |
| 04 Jul 2020 | BY-ELECTION | Pahang | N.23 Chini | 20,990 | 15,506 | 36 | 239 | 15,231 | 12,650 | 3 | 73.9 | 83.1 | 1.5 | 0.2 |
| 18 Jan 2020 | BY-ELECTION | Sabah | P.176 Kimanis | 29,664 | 23,708 | 5 | 320 | 23,383 | 2,029 | 2 | 79.9 | 8.7 | 1.4 | 0.0 |
| 16 Nov 2019 | BY-ELECTION | Johor | P.165 Tanjung Piai | 52,986 | 39,440 | 30 | 595 | 38,815 | 15,086 | 6 | 74.4 | 38.9 | 1.5 | 0.1 |
| 11 May 2019 | BY-ELECTION | Sabah | P.186 Sandakan | 40,131 | 21,847 | 18 | 234 | 21,595 | 11,521 | 5 | 54.4 | 53.4 | 1.1 | 0.1 |
| 13 Apr 2019 | BY-ELECTION | Negeri Sembilan | N.27 Rantau | 20,926 | 16,596 | 4 | 146 | 16,446 | 4,510 | 4 | 79.3 | 27.4 | 0.9 | 0.0 |
| 02 Mar 2019 | BY-ELECTION | Selangor | N.24 Semenyih | 54,503 | 39,918 | 50 | 650 | 39,218 | 1,914 | 4 | 73.2 | 4.9 | 1.6 | 0.1 |
| 26 Jan 2019 | BY-ELECTION | Pahang | P.078 Cameron Highlands | 32,009 | 22,019 | 23 | 568 | 21,428 | 3,238 | 4 | 68.8 | 15.1 | 2.6 | 0.1 |
| 13 Oct 2018 | BY-ELECTION | Negeri Sembilan | P.132 Port Dickson | 75,317 | 44,136 | 49 | 598 | 43,489 | 23,560 | 7 | 58.6 | 54.2 | 1.4 | 0.1 |
| 08 Sept 2018 | BY-ELECTION | Selangor | N.27 Balakong | 62,219 | 26,734 | 24 | 227 | 26,483 | 18,533 | 2 | 43.0 | 70.0 | 0.8 | 0.1 |
| 08 Sept 2018 | BY-ELECTION | Selangor | N.32 Seri Setia | 53,492 | 23,615 | 28 | 164 | 23,423 | 4,027 | 2 | 44.1 | 17.2 | 0.7 | 0.1 |
| 04 Aug 2018 | BY-ELECTION | Selangor | N.49 Sungai Kandis | 51,230 | 25,303 | 21 | 173 | 25,109 | 5,842 | 3 | 49.4 | 23.3 | 0.7 | 0.1 |
| 18 Feb 2017 | BY-ELECTION | Sarawak | N.03 Tanjong Datu | 9,959 | 6,892 | 1 | 80 | 6,811 | 6,443 | 3 | 69.2 | 94.6 | 1.2 | 0.0 |
| 18 Jun 2016 | BY-ELECTION | Perak | P.067 Kuala Kangsar | 32,949 | 23,523 | 10 | 239 | 23,274 | 6,969 | 4 | 71.4 | 29.9 | 1.0 | 0.0 |
| 18 Jun 2016 | BY-ELECTION | Selangor | P.093 Sungai Besar | 42,655 | 31,721 | 31 | 379 | 31,311 | 9,191 | 3 | 74.4 | 29.4 | 1.2 | 0.1 |
| 07 May 2015 | BY-ELECTION | Pulau Pinang | P.044 Permatang Pauh | 71,890 | 53,145 | 43 | 843 | 52,259 | 8,841 | 4 | 73.9 | 16.9 | 1.6 | 0.1 |
Download (276 rows x 15 columns)
Programmatic Access
import pandas as pd
URL = "https://lake.electiondata.my/results_headline/headline_stats_byelections.parquet"
df = pd.read_parquet(URL)
print(df.shape) # (276, 15)
print(df.dtypes)
dfCite
Users wishing to reference this dataset in an academic context should cite Thevananthan (2025), which documents the construction of the dataset as well as the data itself.
APA
Thevananthan, T. (2025). The Malaysian Election Corpus (MECo): Federal and State-Level Election Results from 1955 to 2025. Scientific Data.
Harvard
Thevananthan, T. 2025, The Malaysian Election Corpus (MECo): Federal and State-Level Election Results from 1955 to 2025. Scientific Data.
MLA
Thevananthan, Thevesh. "The Malaysian Election Corpus (MECo): Federal and State-Level Election Results from 1955 to 2025." Scientific Data (2025).
Chicago
Thevananthan, Thevesh. "The Malaysian Election Corpus (MECo): Federal and State-Level Election Results from 1955 to 2025." Scientific Data (2025).
BibTeX
@article{thevananthan2025malaysian,
author = {Thevananthan, Thevesh},
title = {The Malaysian Election Corpus (MECo): Federal and State-Level Election Results from 1955 to 2025},
journal = {Scientific Data},
year = {2025}
}