CoolFace
Datasetpublic

manfye/Malaysia-Personas

Malaysia-Personas 1,867 synthetic personas of Malaysian voters, in the style of NVIDIA Nemotron-Personas. Each persona is anchored to one real, anonymised record from the published GE15 (2022) electoral roll and fleshed out by an LLM, with calibration to district income and poverty statistics. They were built for survey simulation: asking a representative synthetic population how it would react to a policy or event, then aggregating the answers. How it was made… See the full description on the dataset page: https://huggingface.co/datasets/manfye/Malaysia-Personas.

sourceHugging Facecc-by-4.0updated 2d agoView on Hugging Face
0likes14downloads
Dataset Card

Malaysia-Personas

1,867 synthetic personas of Malaysian voters, in the style of NVIDIA Nemotron-Personas. Each persona is anchored to one real, anonymised record from the published GE15 (2022) electoral roll and fleshed out by an LLM, with calibration to district income and poverty statistics.

They were built for survey simulation: asking a representative synthetic population how it would react to a policy or event, then aggregating the answers.

How it was made

  1. 1.Observed demographics. Records were drawn by systematic sampling within each parliamentary constituency from the GE15 voter roll (21.17M anonymised records, via electiondata.my). Rows were ordered by ethnicity, sex and birth year, so even about 20 people per seat match the seat's joint demographics. Birth year, sex, ethnicity, state, parliamentary and state seat, polling-district locality and voting channel come from the roll.
  2. 2.Synthetic life. Claude (claude-opus-5, prompt version persona-v5) wrote everything else for each record: religion, education, work, household income, debt, aid, housing, politics, concerns, a life story and a first-person inner voice. It worked one constituency at a time, using the seat's profile, its GE15 result and DOSM household income and poverty by district.
  3. 3.Checks. Every persona passed automatic checks before it was stored:
  4. 4.the schema;
  5. 5.religion consistent with ethnicity (e.g. Malays are Muslim);
  6. 6.income group consistent with income (B40 < RM 5,250 ≤ M40 ≤ RM 11,819 < T20);
  7. 7.occupation consistent with age;
  8. 8.aid consistent with income;
  9. 9.corpus-wide uniqueness: no repeated name and occupation, and no near-duplicate inner voices.
  10. 10.Narrative columns. persona, professional_persona, family_persona, financial_persona, civic_persona and cultural_background are composed from the structured fields for this release. life_story and inner_voice are the model's own prose.

Everything except the observed demographics is synthetic. A persona is not a description of the real voter behind the roll record, and its politics, income and beliefs must not be read as that person's. To keep it that way, the roll's uid, polling centre and polling stream are not published.

Coverage

This release covers 93 of Malaysia's 222 parliamentary constituencies in 12 states and federal territories. Johor, Sabah, Sarawak, Kuala Lumpur and most of Selangor are not yet covered, so this is not a nationally representative sample. Within each covered seat the sample is about 20 people.

StateSeatsPersonas
Kedah12240
Kelantan14280
Melaka6120
Negeri Sembilan8160
Pahang12240
Perak14280
Perlis360
Pulau Pinang13260
Selangor127
Terengganu8160
W.P. Labuan120
W.P. Putrajaya120

Seats are sampled at similar sizes regardless of electorate, so weight each row by district_weight (registered voters in the seat ÷ personas in the seat) for state-level estimates.

Fields

ColumnDescription
uuidRow id
personaShort summary: name, age, ethnicity, place and temperament
professional_personaWork, industry, education and commute
family_personaMarital status, children, household, housing and vehicles
financial_personaHousehold income, income group, debt, government aid and health coverage
civic_personaPolitical interest and leaning, trust in the federal government, economic outlook and news sources
cultural_backgroundEthnicity, religion, languages and settlement type
life_story2–3 sentences, third person
inner_voice2–4 sentences, first person, in English with a local rhythm
*_listTop concerns, core values, languages, news sources and government aid, as lists
nameA plausible first name or address form; not the voter's name, which the roll doesn't publish
sex, birth_year, age, ethnicityFrom the roll; age is as of 2026. Ethnicity labels are as published (e.g. Bumi Sabah, Other)
state, parlimen, dun, localityFrom the roll; dun (state seat) is null in the federal territories
voting_channelFrom the roll: ordinary, early (military or police and their spouses) or postal
religion … settlementSynthetic structured fields (enums), matching the narrative columns
district_weightDesign weight for aggregating across seats

Example

Mak Tok Som is a 94-year-old Malay woman from Paya, Padang Besar, Perlis. Gentle and talkative, repeats old stories often and accepts whatever change comes as God's will.

Born before Merdeka in Paya and married at fifteen to a paddy farmer who died twenty years ago. She now spends her days on the verandah of her daughter's house, chewing sirih, reciting from the Quran slowly with a magnifying glass and minding the younger grandchildren.

"Ninety-four already, and Allah still keeps me here. My grandson takes me to the polling station and I mark the moon because arwah always did. Now my eyes are going and I can't sew the baju kurung for the little ones."

Limitations

  • —The population is registered voters aged 18 and over on the 2022 roll. Non-citizens, unregistered adults and people who turned 18 after 2022 are absent.
  • —About 20 people per seat is enough for seat-level texture but gives wide error bars for seat-level estimates.
  • —The synthetic fields reflect an LLM's picture of Malaysia, calibrated to published statistics but not validated against a survey. Expect smoothed-out extremes and some stereotyping, despite the checks.
  • —Political leanings are anchored to GE15 results and may not reflect later shifts.

Sources