Sarawak DUN Elections (PRN): Ballots
Candidate-level results, party affiliations, and demographic details for every Sarawak state contest from 1969-present.
Explore the data
Columns
| Name | Title | Description |
|---|---|---|
| date | Date | [Date] Date of polling day in YYYY-MM-DD format |
| election | Election | [String] Election identifier, e.g. GE-15, SE-15, By-Election |
| state | State | [String] Name of state where the contest took place |
| seat | Constituency | [String] Code (P.xxX or N.xxX) and name of the constituency |
| ballot_order | Ballot Order | [Integer] The candidate's position on the ballot paper |
| candidate_uid | Candidate UID | [String] Unique identifier for the candidate |
| name_on_ballot | Name On Ballot | [String] Candidate's name as it appeared on the ballot paper |
| name | Candidate Name | [String] Candidate's harmonised name |
| sex | Sex | [String] Sex of candidate; 'M' for male, 'F' for female |
| ethnicity | Ethnicity | [String] Ethnicity of candidate (e.g. 'Malay', 'Chinese', etc.) |
| age | Age | [Integer] Age of candidate in years at time of election (-1 if missing) |
| party_on_ballot | Party On Ballot | [String] Short/abbreviated party name as it appeared on the ballot paper |
| party_uid | Party UID | [String] Unique party identifier (code) |
| party | Party | [String] Full official party name |
| coalition_uid | Coalition UID | [Integer] Numeric identifier for the coalition (if any). 0 if no coalition |
| coalition | Coalition | [String] Coalition name or 'ALONE' if not in a coalition |
| votes | Votes | [Integer] Number of votes received by the candidate |
| votes_perc | Vote Percentage | [Float] Percentage of valid votes received by the candidate |
| rank | Rank | [Integer] Placing/rank of candidate in contest (1 = winner, 2 = second place, and so on) |
| result | Result | [String] Short outcome: 'won', 'won_uncontested', 'lost', or 'lost_deposit' |
Methodology
This dataset was compiled from official Parliament and DUN-level results published by the Election Commission of Malaysia (EC). The foundational data was extracted from Form 16 of the electoral returns, which are formally gazetted and published as subsidiary legislation. Although these records are available in digital form for modern elections (albeit just via a website rather than as machine-readable data), older election results were only available as unformatted PDF files or physical paper reports, thus requiring manual transcription. The resulting database covers all federal and state general elections since the first general election in 1955, as well as all by-elections since the first in 1957. A major challenge in tracking Malaysian electoral history is that politicians frequently change their names on the ballot, use different nicknames, or switch parties. To fix this, a unique ID system was built into this dataset. Every individual candidate, political party, and coalition was assigned a stable idenfitier, thus allowing a candidate's career to be tracked across decades, and electoral dynamics to be studied at both the coalition and component party level.