AGA GeoAnalitik Executive summary
BL-2026-006

Counted per resident, Sarawak’s interior and Putrajaya get the most federal contract money; counted in total, Kuala Lumpur does

We read every federal tender and quotation award the Treasury published for January 2023 to September 2026, RM 103.6 billion in all, and placed each in the district where its title says the work is done. Per resident, Belaga (RM 3,018 a year), Putrajaya (RM 2,992) and Julau lead, and Selangor trails every state at RM 185 against RM 387 nationally; in total, Kuala Lumpur leads with RM 3.7 billion in tenders. We also asked whether a ministry places more money in its own minister’s or deputy minister’s seat. Across 169 terms since January 2021 it does not, on the whole, though single seats stand out.

Built from public data only: the Treasury’s MyProcurement award results, DOSM population, land area and parliamentary seat outlines, DOSM’s 2024 household income survey, and the cabinets as Wikipedia lists them. Money is placed where the work is done, never where the ministry or the contractor sits. The data is correct as of the study date, 15 October 2026, revised 16 October 2026; the study is not refreshed after it. Corrected 16 October 2026: results the archive published twice are now counted once (RM 0.5 billion), so the total fell from RM 104.1 to RM 103.6 billion and Belaga from RM 3,124 to RM 3,018 per resident a year.

The study in 2 minutes: one award placed in Belaga by its title, the 57% of tender money that names a district, and that money counted three ways, with a different leader each time: Kuala Lumpur in total, Putrajaya per km² of land, Belaga per resident. AI narration; captions in English.
Map of Malaysia’s 160 districts shaded by federal tender money per resident a year: darkest in Sarawak’s interior and Putrajaya, lightest across SelangorBatu Pahat, Johor: RM 228 per resident a yearJohor Bahru, Johor: RM 306 per resident a yearKluang, Johor: RM 329 per resident a yearKota Tinggi, Johor: RM 317 per resident a yearKulai, Johor: RM 77 per resident a yearMersing, Johor: RM 913 per resident a yearMuar, Johor: RM 281 per resident a yearPontian, Johor: RM 332 per resident a yearSegamat, Johor: RM 331 per resident a yearTangkak, Johor: RM 171 per resident a yearBaling, Kedah: RM 323 per resident a yearBandar Baharu, Kedah: RM 156 per resident a yearKota Setar, Kedah: RM 466 per resident a yearKuala Muda, Kedah: RM 154 per resident a yearKubang Pasu, Kedah: RM 355 per resident a yearKulim, Kedah: RM 141 per resident a yearLangkawi, Kedah: RM 658 per resident a yearPadang Terap, Kedah: RM 450 per resident a yearPendang, Kedah: RM 405 per resident a yearPokok Sena, Kedah: RM 211 per resident a yearSik, Kedah: RM 473 per resident a yearYan, Kedah: RM 235 per resident a yearBachok, Kelantan: RM 230 per resident a yearGua Musang, Kelantan: RM 398 per resident a yearJeli, Kelantan: RM 322 per resident a yearKecil Lojing, Kelantan: RM 94 per resident a yearKota Bharu, Kelantan: RM 396 per resident a yearKuala Krai, Kelantan: RM 1,142 per resident a yearMachang, Kelantan: RM 203 per resident a yearPasir Mas, Kelantan: RM 198 per resident a yearPasir Puteh, Kelantan: RM 673 per resident a yearTanah Merah, Kelantan: RM 208 per resident a yearTumpat, Kelantan: RM 183 per resident a yearAlor Gajah, Melaka: RM 360 per resident a yearJasin, Melaka: RM 387 per resident a yearMelaka Tengah, Melaka: RM 318 per resident a yearJelebu, Negeri Sembilan: RM 631 per resident a yearJempol, Negeri Sembilan: RM 594 per resident a yearKuala Pilah, Negeri Sembilan: RM 663 per resident a yearPort Dickson, Negeri Sembilan: RM 440 per resident a yearRembau, Negeri Sembilan: RM 582 per resident a yearSeremban, Negeri Sembilan: RM 497 per resident a yearTampin, Negeri Sembilan: RM 683 per resident a yearBentong, Pahang: RM 443 per resident a yearBera, Pahang: RM 492 per resident a yearCameron Highlands, Pahang: RM 581 per resident a yearJerantut, Pahang: RM 642 per resident a yearKuantan, Pahang: RM 444 per resident a yearLipis, Pahang: RM 618 per resident a yearMaran, Pahang: RM 326 per resident a yearPekan, Pahang: RM 370 per resident a yearRaub, Pahang: RM 433 per resident a yearRompin, Pahang: RM 591 per resident a yearTemerloh, Pahang: RM 454 per resident a yearBagan Datuk, Perak: RM 366 per resident a yearBatang Padang, Perak: RM 429 per resident a yearHilir Perak, Perak: RM 320 per resident a yearHulu Perak, Perak: RM 456 per resident a yearKampar, Perak: RM 273 per resident a yearKerian, Perak: RM 230 per resident a yearKinta, Perak: RM 356 per resident a yearKuala Kangsar, Perak: RM 342 per resident a yearLarut Dan Matang, Perak: RM 395 per resident a yearManjung, Perak: RM 246 per resident a yearMuallim, Perak: RM 631 per resident a yearPerak Tengah, Perak: RM 611 per resident a yearSelama, Perak: RM 48 per resident a yearPerlis: RM 644 per resident a yearBarat Daya, Penang: RM 254 per resident a yearSeberang Perai Selatan, Penang: RM 344 per resident a yearSeberang Perai Tengah, Penang: RM 514 per resident a yearSeberang Perai Utara, Penang: RM 771 per resident a yearTimur Laut, Penang: RM 415 per resident a yearBeaufort, Sabah: RM 411 per resident a yearBeluran, Sabah: RM 407 per resident a yearKalabakan, Sabah: RM 18 per resident a yearKeningau, Sabah: RM 515 per resident a yearKinabatangan, Sabah: RM 127 per resident a yearKota Belud, Sabah: RM 512 per resident a yearKota Kinabalu, Sabah: RM 523 per resident a yearKota Marudu, Sabah: RM 522 per resident a yearKuala Penyu, Sabah: RM 1,595 per resident a yearKudat, Sabah: RM 546 per resident a yearKunak, Sabah: RM 148 per resident a yearLahad Datu, Sabah: RM 287 per resident a yearNabawan, Sabah: RM 739 per resident a yearPapar, Sabah: RM 1,322 per resident a yearPenampang, Sabah: RM 98 per resident a yearPitas, Sabah: RM 1,088 per resident a yearPutatan, Sabah: RM 49 per resident a yearRanau, Sabah: RM 643 per resident a yearSandakan, Sabah: RM 348 per resident a yearSemporna, Sabah: RM 229 per resident a yearSipitang, Sabah: RM 538 per resident a yearTambunan, Sabah: RM 627 per resident a yearTawau, Sabah: RM 264 per resident a yearTelupid, Sabah: RM 607 per resident a yearTenom, Sabah: RM 411 per resident a yearTongod, Sabah: RM 52 per resident a yearTuaran, Sabah: RM 479 per resident a yearAsajaya, Sarawak: RM 159 per resident a yearBau, Sarawak: RM 460 per resident a yearBelaga, Sarawak: RM 3,018 per resident a yearBeluru, Sarawak: RM 71 per resident a yearBetong, Sarawak: RM 1,474 per resident a yearBintulu, Sarawak: RM 387 per resident a yearBukit Mabong, Sarawak: RM 0 per resident a yearDalat, Sarawak: RM 910 per resident a yearDaro, Sarawak: RM 1,317 per resident a yearJulau, Sarawak: RM 2,949 per resident a yearKabong, Sarawak: RM 21 per resident a yearKanowit, Sarawak: RM 1,092 per resident a yearKapit, Sarawak: RM 2,053 per resident a yearKuching, Sarawak: RM 396 per resident a yearLawas, Sarawak: RM 1,421 per resident a yearLimbang, Sarawak: RM 1,099 per resident a yearLubok Antu, Sarawak: RM 1,033 per resident a yearLundu, Sarawak: RM 608 per resident a yearMaradong, Sarawak: RM 1,473 per resident a yearMarudi, Sarawak: RM 1,734 per resident a yearMatu, Sarawak: RM 336 per resident a yearMiri, Sarawak: RM 408 per resident a yearMukah, Sarawak: RM 844 per resident a yearPakan, Sarawak: RM 167 per resident a yearPusa, Sarawak: RM 75 per resident a yearSamarahan, Sarawak: RM 564 per resident a yearSaratok, Sarawak: RM 1,597 per resident a yearSarikei, Sarawak: RM 497 per resident a yearSebauh, Sarawak: RM 148 per resident a yearSelangau, Sarawak: RM 942 per resident a yearSerian, Sarawak: RM 776 per resident a yearSibu, Sarawak: RM 748 per resident a yearSimunjan, Sarawak: RM 700 per resident a yearSong, Sarawak: RM 1,860 per resident a yearSri Aman, Sarawak: RM 827 per resident a yearSubis, Sarawak: RM 527 per resident a yearTanjung Manis, Sarawak: RM 272 per resident a yearTatau, Sarawak: RM 537 per resident a yearTebedu, Sarawak: RM 142 per resident a yearTelang Usan, Sarawak: RM 1,911 per resident a yearGombak, Selangor: RM 136 per resident a yearKlang, Selangor: RM 165 per resident a yearKuala Langat, Selangor: RM 276 per resident a yearKuala Selangor, Selangor: RM 225 per resident a yearPetaling, Selangor: RM 174 per resident a yearSabak Bernam, Selangor: RM 447 per resident a yearSepang, Selangor: RM 472 per resident a yearUlu Langat, Selangor: RM 143 per resident a yearUlu Selangor, Selangor: RM 163 per resident a yearBesut, Terengganu: RM 942 per resident a yearDungun, Terengganu: RM 357 per resident a yearHulu Terengganu, Terengganu: RM 1,377 per resident a yearKemaman, Terengganu: RM 366 per resident a yearKuala Nerus, Terengganu: RM 379 per resident a yearKuala Terengganu, Terengganu: RM 1,111 per resident a yearMarang, Terengganu: RM 381 per resident a yearSetiu, Terengganu: RM 695 per resident a yearKuala Lumpur: RM 484 per resident a yearLabuan: RM 1,135 per resident a yearPutrajaya: RM 2,992 per resident a year

Per resident a yearUnder RM 230 36 districtsRM 230–370 30 districtsRM 370–490 29 districtsRM 490–700 33 districtsRM 700 or more 32 districts

Figure 1. Malaysia’s 160 districts shaded by the federal tender money placed in them per resident a year, January 2023 to September 2026: the darker, the more; the five shades split the districts into fifths. Sabah, Sarawak and Labuan are drawn 5° of longitude west of their true position, closer to the Peninsula. Districts © DOSM.

Where the money lands

Ministers’ own seats

Four terms in detail

Single seats still stand out, in both directions. These are the four terms the technical study discusses; it lists all 221.

A ranking, not a finding about any person: a seat can rank high because work there was due, and tender boards, not ministers, award contracts. Money placed in a seat is an estimate from the award’s title.

Limits: a contract is placed by its title, at its accepted price, not what was finally paid. 57% of the tender money (71% of quotations) names a place we could pin to a district; state-wide, national and unplaced money is left out of the district figures, never spread over them. Where a title names no district, an AI model read it. Residents are DOSM’s 2024 estimates. In the seat test, only money that can be pinned to one seat counts: 60% of the placed money; an award naming only a district split between seats is left out rather than shared. Senators who held posts have no seat and are not tested, nor are the 52 terms that were too short or placed too few awards in seats. The test finds broad patterns; it cannot rule out a single favour, nor show why any seat ranks where it does.

More from AGA