Manguzi, KwaZulu-Natal
ANC loses its majority
Council seats
Other2 seats
| Party / entry | Seats | Share of seats (%) |
|---|---|---|
| AFRICAN NATIONAL CONGRESS | 18 | 46,1538 |
| INKATHA FREEDOM PARTY | 15 | 38,4615 |
| ECONOMIC FREEDOM FIGHTERS | 2 | 5,1282 |
| ABAHLALI BASE MKHANYAKUDE MOVEMENT | 1 | 2,5641 |
| AFRICAN CHRISTIAN DEMOCRATIC PARTY | 1 | 2,5641 |
| DEMOCRATIC ALLIANCE | 1 | 2,5641 |
| NATIONAL FREEDOM PARTY | 1 | 2,5641 |
| ABANTU BATHO CONGRESS | 0 | 0 |
| AFRICAN INDEPENDENT CONGRESS | 0 | 0 |
| BLACK FIRST LAND FIRST | 0 | 0 |
| INDEPENDENTS | 0 | 0 |
| JUSTICE AND EMPLOYMENT PARTY | 0 | 0 |
| OTHER | 0 | 0 |
| UNITED CHRISTIAN DEMOCRATIC PARTY | 0 | 0 |
39 seats; 20 needed for a majority.
Combined ballot votes
Combined ballot votes
Other: show remaining parties: hide remaining parties8.3%7 958 votes
| Party / entry | Candidate | Votes | Vote share (%) |
|---|---|---|---|
| AFRICAN NATIONAL CONGRESS | — | 43 503 | 45,6355 |
| INKATHA FREEDOM PARTY | — | 34 516 | 36,208 |
| ECONOMIC FREEDOM FIGHTERS | — | 4 245 | 4,4531 |
| INDEPENDENTS | — | 2 950 | 3,0946 |
| ABAHLALI BASE MKHANYAKUDE MOVEMENT | — | 2 155 | 2,2606 |
| DEMOCRATIC ALLIANCE | — | 1 839 | 1,9291 |
| NATIONAL FREEDOM PARTY | — | 1 452 | 1,5232 |
| AFRICAN CHRISTIAN DEMOCRATIC PARTY | — | 1 340 | 1,4057 |
| ABANTU BATHO CONGRESS | — | 1 206 | 1,2651 |
| AFRICAN INDEPENDENT CONGRESS | — | 1 189 | 1,2473 |
| JUSTICE AND EMPLOYMENT PARTY | — | 329 | 0,3451 |
| OTHER | — | 301 | 0,3158 |
| BLACK FIRST LAND FIRST | — | 176 | 0,1846 |
| UNITED CHRISTIAN DEMOCRATIC PARTY | — | 126 | 0,1322 |
95327 valid votes. Shares use this ballot’s party totals. All published entries are included.
How the vote changed
Council seats by election
Swipe to see history
Seats unavailable for this election.
14 for a majority · 26 seats
18 for a majority · 34 seats
18 for a majority · 35 seats
20 for a majority · 39 seats
| Election | Party / entry | Seats | Council total | Majority needed |
|---|---|---|---|---|
| 2 000 | Seat allocation unavailable | Unavailable | Unavailable | Unavailable |
| 2 006 | INKATHA FREEDOM PARTY | 14 | 26 | 14 |
| 2 006 | AFRICAN NATIONAL CONGRESS | 12 | 26 | 14 |
| 2 006 | NATIONAL DEMOCRATIC CONVENTION | 0 | 26 | 14 |
| 2 011 | AFRICAN NATIONAL CONGRESS | 22 | 34 | 18 |
| 2 011 | INKATHA FREEDOM PARTY | 8 | 34 | 18 |
| 2 011 | NATIONAL FREEDOM PARTY | 4 | 34 | 18 |
| 2 011 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 0 | 34 | 18 |
| 2 011 | DEMOCRATIC ALLIANCE | 0 | 34 | 18 |
| 2 011 | FEDERAL CONGRESS | 0 | 34 | 18 |
| 2 011 | SOUTH AFRICAN DEMOCRATIC CONGRESS | 0 | 34 | 18 |
| 2 016 | AFRICAN NATIONAL CONGRESS | 22 | 35 | 18 |
| 2 016 | INKATHA FREEDOM PARTY | 10 | 35 | 18 |
| 2 016 | AFRICAN INDEPENDENT CONGRESS | 1 | 35 | 18 |
| 2 016 | DEMOCRATIC ALLIANCE | 1 | 35 | 18 |
| 2 016 | ECONOMIC FREEDOM FIGHTERS | 1 | 35 | 18 |
| 2 016 | INDEPENDENTS | 0 | 35 | 18 |
| 2 016 | ZULU ROYAL PROPERTY | 0 | 35 | 18 |
| 2 021 | AFRICAN NATIONAL CONGRESS | 18 | 39 | 20 |
| 2 021 | INKATHA FREEDOM PARTY | 15 | 39 | 20 |
| 2 021 | ECONOMIC FREEDOM FIGHTERS | 2 | 39 | 20 |
| 2 021 | ABAHLALI BASE MKHANYAKUDE MOVEMENT | 1 | 39 | 20 |
| 2 021 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 1 | 39 | 20 |
| 2 021 | DEMOCRATIC ALLIANCE | 1 | 39 | 20 |
| 2 021 | NATIONAL FREEDOM PARTY | 1 | 39 | 20 |
| 2 021 | ABANTU BATHO CONGRESS | 0 | 39 | 20 |
| 2 021 | AFRICAN INDEPENDENT CONGRESS | 0 | 39 | 20 |
| 2 021 | BLACK FIRST LAND FIRST | 0 | 39 | 20 |
| 2 021 | INDEPENDENTS | 0 | 39 | 20 |
| 2 021 | JUSTICE AND EMPLOYMENT PARTY | 0 | 39 | 20 |
| 2 021 | OTHER | 0 | 39 | 20 |
| 2 021 | UNITED CHRISTIAN DEMOCRATIC PARTY | 0 | 39 | 20 |
Ward + municipal PR votes. Missing and grouped entries are not assumed to be zero. Published boundaries may differ between elections.
Ward + municipal PR votes by election
Swipe to see history
| Election | Party | Votes | Vote share (%) | Valid ballot total | Availability |
|---|---|---|---|---|---|
| 2 000 | INKATHA FREEDOM PARTY | 33 991 | 80,3266 | 42 316 | Reported |
| 2 000 | AFRICAN NATIONAL CONGRESS | 8 219 | 19,4229 | 42 316 | Reported |
| 2 000 | NATIONAL FREEDOM PARTY | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | ECONOMIC FREEDOM FIGHTERS | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | AFRICAN INDEPENDENT CONGRESS | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | DEMOCRATIC ALLIANCE | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | ABAHLALI BASE MKHANYAKUDE MOVEMENT | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | ABANTU BATHO CONGRESS | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | NATIONAL DEMOCRATIC CONVENTION | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | JUSTICE AND EMPLOYMENT PARTY | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | FEDERAL CONGRESS | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | SOUTH AFRICAN DEMOCRATIC CONGRESS | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | BLACK FIRST LAND FIRST | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | UNITED CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 000 | ZULU ROYAL PROPERTY | 0 | 0 | 42 316 | No votes recorded in the complete party list. |
| 2 006 | INKATHA FREEDOM PARTY | 32 198 | 53,7323 | 59 923 | Reported |
| 2 006 | AFRICAN NATIONAL CONGRESS | 27 211 | 45,4099 | 59 923 | Reported |
| 2 006 | NATIONAL FREEDOM PARTY | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | ECONOMIC FREEDOM FIGHTERS | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | AFRICAN INDEPENDENT CONGRESS | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | DEMOCRATIC ALLIANCE | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | ABAHLALI BASE MKHANYAKUDE MOVEMENT | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | ABANTU BATHO CONGRESS | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | NATIONAL DEMOCRATIC CONVENTION | 514 | 0,8578 | 59 923 | Reported |
| 2 006 | JUSTICE AND EMPLOYMENT PARTY | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | FEDERAL CONGRESS | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | SOUTH AFRICAN DEMOCRATIC CONGRESS | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | BLACK FIRST LAND FIRST | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | UNITED CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 006 | ZULU ROYAL PROPERTY | 0 | 0 | 59 923 | No votes recorded in the complete party list. |
| 2 011 | INKATHA FREEDOM PARTY | 18 570 | 23,0583 | 80 535 | Reported |
| 2 011 | AFRICAN NATIONAL CONGRESS | 51 536 | 63,9921 | 80 535 | Reported |
| 2 011 | NATIONAL FREEDOM PARTY | 8 911 | 11,0648 | 80 535 | Reported |
| 2 011 | ECONOMIC FREEDOM FIGHTERS | 0 | 0 | 80 535 | No votes recorded in the complete party list. |
| 2 011 | AFRICAN INDEPENDENT CONGRESS | 0 | 0 | 80 535 | No votes recorded in the complete party list. |
| 2 011 | DEMOCRATIC ALLIANCE | 520 | 0,6457 | 80 535 | Reported |
| 2 011 | ABAHLALI BASE MKHANYAKUDE MOVEMENT | 0 | 0 | 80 535 | No votes recorded in the complete party list. |
| 2 011 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 528 | 0,6556 | 80 535 | Reported |
| 2 011 | ABANTU BATHO CONGRESS | 0 | 0 | 80 535 | No votes recorded in the complete party list. |
| 2 011 | NATIONAL DEMOCRATIC CONVENTION | 0 | 0 | 80 535 | No votes recorded in the complete party list. |
| 2 011 | JUSTICE AND EMPLOYMENT PARTY | 0 | 0 | 80 535 | No votes recorded in the complete party list. |
| 2 011 | FEDERAL CONGRESS | 270 | 0,3353 | 80 535 | Reported |
| 2 011 | SOUTH AFRICAN DEMOCRATIC CONGRESS | 200 | 0,2483 | 80 535 | Reported |
| 2 011 | BLACK FIRST LAND FIRST | 0 | 0 | 80 535 | No votes recorded in the complete party list. |
| 2 011 | UNITED CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 80 535 | No votes recorded in the complete party list. |
| 2 011 | ZULU ROYAL PROPERTY | 0 | 0 | 80 535 | No votes recorded in the complete party list. |
| 2 016 | INKATHA FREEDOM PARTY | 27 201 | 27,9423 | 97 347 | Reported |
| 2 016 | AFRICAN NATIONAL CONGRESS | 56 748 | 58,2946 | 97 347 | Reported |
| 2 016 | NATIONAL FREEDOM PARTY | 0 | 0 | 97 347 | No votes recorded in the complete party list. |
| 2 016 | ECONOMIC FREEDOM FIGHTERS | 2 045 | 2,1007 | 97 347 | Reported |
| 2 016 | AFRICAN INDEPENDENT CONGRESS | 3 930 | 4,0371 | 97 347 | Reported |
| 2 016 | DEMOCRATIC ALLIANCE | 2 211 | 2,2713 | 97 347 | Reported |
| 2 016 | ABAHLALI BASE MKHANYAKUDE MOVEMENT | 0 | 0 | 97 347 | No votes recorded in the complete party list. |
| 2 016 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 97 347 | No votes recorded in the complete party list. |
| 2 016 | ABANTU BATHO CONGRESS | 0 | 0 | 97 347 | No votes recorded in the complete party list. |
| 2 016 | NATIONAL DEMOCRATIC CONVENTION | 0 | 0 | 97 347 | No votes recorded in the complete party list. |
| 2 016 | JUSTICE AND EMPLOYMENT PARTY | 0 | 0 | 97 347 | No votes recorded in the complete party list. |
| 2 016 | FEDERAL CONGRESS | 0 | 0 | 97 347 | No votes recorded in the complete party list. |
| 2 016 | SOUTH AFRICAN DEMOCRATIC CONGRESS | 0 | 0 | 97 347 | No votes recorded in the complete party list. |
| 2 016 | BLACK FIRST LAND FIRST | 0 | 0 | 97 347 | No votes recorded in the complete party list. |
| 2 016 | UNITED CHRISTIAN DEMOCRATIC PARTY | 0 | 0 | 97 347 | No votes recorded in the complete party list. |
| 2 016 | ZULU ROYAL PROPERTY | 0 | 0 | 97 347 | Reported |
| 2 021 | INKATHA FREEDOM PARTY | 34 516 | 36,208 | 95 327 | Reported |
| 2 021 | AFRICAN NATIONAL CONGRESS | 43 503 | 45,6355 | 95 327 | Reported |
| 2 021 | NATIONAL FREEDOM PARTY | 1 452 | 1,5232 | 95 327 | Reported |
| 2 021 | ECONOMIC FREEDOM FIGHTERS | 4 245 | 4,4531 | 95 327 | Reported |
| 2 021 | AFRICAN INDEPENDENT CONGRESS | 1 189 | 1,2473 | 95 327 | Reported |
| 2 021 | DEMOCRATIC ALLIANCE | 1 839 | 1,9291 | 95 327 | Reported |
| 2 021 | ABAHLALI BASE MKHANYAKUDE MOVEMENT | 2 155 | 2,2606 | 95 327 | Reported |
| 2 021 | AFRICAN CHRISTIAN DEMOCRATIC PARTY | 1 340 | 1,4057 | 95 327 | Reported |
| 2 021 | ABANTU BATHO CONGRESS | 1 206 | 1,2651 | 95 327 | Reported |
| 2 021 | NATIONAL DEMOCRATIC CONVENTION | Unavailable | Unavailable | 95 327 | Not separately listed in this source. |
| 2 021 | JUSTICE AND EMPLOYMENT PARTY | 329 | 0,3451 | 95 327 | Reported |
| 2 021 | FEDERAL CONGRESS | Unavailable | Unavailable | 95 327 | Not separately listed in this source. |
| 2 021 | SOUTH AFRICAN DEMOCRATIC CONGRESS | Unavailable | Unavailable | 95 327 | Not separately listed in this source. |
| 2 021 | BLACK FIRST LAND FIRST | 176 | 0,1846 | 95 327 | Reported |
| 2 021 | UNITED CHRISTIAN DEMOCRATIC PARTY | 126 | 0,1322 | 95 327 | Reported |
| 2 021 | ZULU ROYAL PROPERTY | Unavailable | Unavailable | 95 327 | Not separately listed in this source. |
Ward + municipal PR votes. Missing and grouped entries are not assumed to be zero. Published boundaries may differ between elections.
History data & sources
Ward + municipal PR votes. Connecting bands show the same party’s share or seats between elections, not individual voters moving between parties. Select a year to inspect its values; use the election-year selector to explore its results and places.
The chart names the five largest parties across these elections. The vote list also names parties gaining at least 2 percentage points since the previous election; remaining votes are combined under Other. Other’s change compares the same group of parties in both elections. Missing values remain unavailable.
- All points use the same ballot basis. Ballot totals are not counts of individual voters.
- Missing or grouped party rows remain gaps unless a complete, ungrouped list establishes zero votes.
- Municipal boundaries can change between elections. Published area results are not boundary-adjusted.
Council government
Who governed after 2021
Administrations & sources
MISTRA records the administrations that governed after the 2021 election, through 28 February 2026. The latest recorded administration is shown below, followed by its predecessors. Party roles and officeholders are recorded at formation; later changes may appear in the notes.
Members at formation · minority administration · 30 Jan 2023 · recorded active at source cutoff
Outside support at formation: ABMM + ACDP + DA. Supporters are separate from governing members.
Inaugural mayor: T. Khumalo (IFP)
Source notes: By-elections in April 2023 and February 2025 each moved a seat from the ANC to the IFP during this administration, taking the IFP to seventeen seats and the ANC to sixteen.
2 recorded administrations · 2021–February 2026
- IFP + NFP
30 Jan 2023 → Active at cutoff · 28 Feb 2026
Members at formation. Outside support: ABMM + ACDP + DA. Inaugural mayor: T. Khumalo.
By-elections in April 2023 and February 2025 each moved a seat from the ANC to the IFP during this administration, taking the IFP to seventeen seats and the ANC to sixteen.
- EFF + IFP
Around 22 Nov 2021 → 30 Jan 2023 · Recomposition
Members at formation. Outside support: ABMM + ACDP + DA. Inaugural mayor: T. Khumalo.
Deputy Mayor M. Z. Mhlongo resigned on 2 June 2022 and E. Z. Mtshali was appointed in his place the same day.
Ward results
Browse wardsWards in uMhlabuyalingana
20 wards
| Ward | Election | Party / entry | Votes | Vote share (%) |
|---|---|---|---|---|
| Ward 1 | 2 021 | AFRICAN NATIONAL CONGRESS | 2 233 | 54,0678 |
| Ward 1 | 2 021 | INKATHA FREEDOM PARTY | 1 185 | 28,6925 |
| Ward 2 | 2 021 | INKATHA FREEDOM PARTY | 3 181 | 50,5482 |
| Ward 2 | 2 021 | AFRICAN NATIONAL CONGRESS | 1 868 | 29,6838 |
| Ward 3 | 2 021 | AFRICAN NATIONAL CONGRESS | 2 477 | 44,4544 |
| Ward 3 | 2 021 | INKATHA FREEDOM PARTY | 2 381 | 42,7315 |
| Ward 4 | 2 021 | AFRICAN NATIONAL CONGRESS | 4 938 | 76,2625 |
| Ward 4 | 2 021 | INKATHA FREEDOM PARTY | 798 | 12,3243 |
| Ward 5 | 2 021 | INKATHA FREEDOM PARTY | 2 172 | 59,2148 |
| Ward 5 | 2 021 | AFRICAN NATIONAL CONGRESS | 994 | 27,0992 |
| Ward 6 | 2 021 | AFRICAN NATIONAL CONGRESS | 1 844 | 41,3175 |
| Ward 6 | 2 021 | INKATHA FREEDOM PARTY | 1 321 | 29,5989 |
| Ward 7 | 2 021 | INKATHA FREEDOM PARTY | 2 640 | 55,2532 |
| Ward 7 | 2 021 | AFRICAN NATIONAL CONGRESS | 1 916 | 40,1005 |
| Ward 8 | 2 021 | AFRICAN NATIONAL CONGRESS | 2 003 | 42,4364 |
| Ward 8 | 2 021 | INKATHA FREEDOM PARTY | 1 046 | 22,161 |
| Ward 9 | 2 021 | INKATHA FREEDOM PARTY | 2 426 | 48,3749 |
| Ward 9 | 2 021 | AFRICAN NATIONAL CONGRESS | 2 369 | 47,2383 |
| Ward 10 | 2 021 | AFRICAN NATIONAL CONGRESS | 2 903 | 64,7413 |
| Ward 10 | 2 021 | INKATHA FREEDOM PARTY | 1 094 | 24,3979 |
| Ward 11 | 2 021 | AFRICAN NATIONAL CONGRESS | 1 732 | 50,1012 |
| Ward 11 | 2 021 | INKATHA FREEDOM PARTY | 964 | 27,8854 |
| Ward 12 | 2 021 | AFRICAN NATIONAL CONGRESS | 2 688 | 62,3088 |
| Ward 12 | 2 021 | INKATHA FREEDOM PARTY | 1 139 | 26,4024 |
| Ward 13 | 2 021 | INKATHA FREEDOM PARTY | 2 028 | 38,806 |
| Ward 13 | 2 021 | AFRICAN NATIONAL CONGRESS | 1 759 | 33,6586 |
| Ward 14 | 2 021 | INKATHA FREEDOM PARTY | 2 776 | 50,1626 |
| Ward 14 | 2 021 | AFRICAN NATIONAL CONGRESS | 1 384 | 25,009 |
| Ward 15 | 2 021 | AFRICAN NATIONAL CONGRESS | 2 029 | 51,6811 |
| Ward 15 | 2 021 | INKATHA FREEDOM PARTY | 1 324 | 33,7239 |
| Ward 16 | 2 021 | INKATHA FREEDOM PARTY | 2 488 | 54,3469 |
| Ward 16 | 2 021 | AFRICAN NATIONAL CONGRESS | 1 550 | 33,8576 |
| Ward 17 | 2 021 | AFRICAN NATIONAL CONGRESS | 2 825 | 62,0334 |
| Ward 17 | 2 021 | INKATHA FREEDOM PARTY | 431 | 9,4642 |
| Ward 18 | 2 021 | INKATHA FREEDOM PARTY | 2 990 | 56,0765 |
| Ward 18 | 2 021 | AFRICAN NATIONAL CONGRESS | 2 033 | 38,1283 |
| Ward 19 | 2 021 | AFRICAN NATIONAL CONGRESS | 2 006 | 41,3267 |
| Ward 19 | 2 021 | INKATHA FREEDOM PARTY | 1 809 | 37,2682 |
| Ward 20 | 2 021 | AFRICAN NATIONAL CONGRESS | 1 952 | 49,3677 |
| Ward 20 | 2 021 | NATIONAL FREEDOM PARTY | 1 074 | 27,1624 |
The two largest published entries shown on each ward card. Open a ward for all entries.
Sources & result details
IEC: 15 Jan 2022, 17:50 SAST · checked 05 Nov 2026, 15:38 SAST
Historical comparisons use published area results. Boundaries may change between elections. Vote shares use the ballot labelled on each chart; ballots are not individual voters.
Vote percentages beside council seats combine ward and municipal PR ballots. Seat counts include both ward and PR councillors.
Seat calculation & source
These are the ward and PR seats published by the IEC. The totals add up to all 39 council seats. This is the historical election allocation, not a record of government changes during the term. Any grouped “Other” seats remain grouped.
IEC result time: 15 Jan 2022, 17:50 SAST · Source figures ↗
Ward vs PR ballots
Ward: choose a person. PR: choose a party.
The candidate with the most votes in the whole ward wins one seat. They do not need more than 50%.
PR means proportional representation. Party-list seats balance the council’s overall party representation.
Party ward votes and municipal PR votes both count towards the party’s overall seat allocation.
Outside metros, voters also have a separate district PR ballot. An independent can stand in a ward but not on a party PR list.
IEC guide to council seatsThe council results cover all of uMhlabuyalingana. Ward results include areas outside Manguzi.
This page uses the Stats SA statistical main-place boundary labelled 2016. It overlaps 4 of the 2026 wards; the everyday town boundary may differ.
Town-to-ward mappings are available for 2026 only. The historical wards above belong to the whole municipality in 2021.
Positive-area intersections of the full-precision 2016 Stats SA main-place polygon and the MDB 2026 ward polygons. Display simplification is applied separately. Full-ward figures include votes outside the place; votes are never allocated by overlap area.