ElectIndex · Interactive Simulation

Global Election Simulator

Loading the 2026 forecast…Drawing 3,142 counties…Charging the control needles…Setting the clock to Eastern time…

Preparing a plausible election night — one moment.

The Simulator needs a larger screen

Small-screen support is coming. For now, please open the Global Election Simulator on a desktop — or a larger tablet in landscape.

Seeing this by mistake, or have a small-screen idea?

Share feedback

Browse the forecasts instead →

About the simulator

Election night, from anywhere on the globe

The Global Election Simulator plays out election nights the way a broadcast control room sees them. Pick a country on the globe to open its desk: polls close on the real clock, regions start reporting, races get called when the math locks, and the balance-of-power needles swing live — every run drawn from the ElectIndex forecast, never a script.

Rather than jumping straight to a final number, the simulator lets the night breathe. Results arrive locality by locality, with the vote drifting toward the model's projected margins as more of the count lands. Calls come only when the outstanding vote can no longer change the winner, so an early lead can fade — or hold — exactly as it does on a real election night.

The United States is the first country desk, and its 2026 midterms are free to play in full: the national board, every race page, the county-by-county count, the Sandbox. Everything is anchored to the numbers behind the ElectIndex forecast — the order states close, how competitive each race plays, and the House and Senate control odds all come from the model's win probabilities. Run a night twice and you get two different, equally plausible evenings.

ElectIndex Members open the rest of the globe: nine more country desks — the Commons, the Bundestag, the Lok Sabha, the Assemblée nationale and the Câmara dos Deputados among them — plus a century of historical nights with real returns, the 2028 presidential map with candidates you pick, precinct-level detail, and custom races of your own invention: a mayor, a commissioner, or an entire election cycle, played like any other night.

A real broadcast night

The clock runs, regions close on their real schedule, and calls land only when the outstanding vote can no longer change the winner — an early lead can fade, or hold.

Down to the local count

Results arrive the way they really do: city batches, rural drips, late mail. Zoom any race to its local level — counties, towns, even individual precincts.

The balance of power

The national board tallies the House, the Senate and the governorships live, with control needles swinging at every call — the stakes of the night, always on screen.

Every race, up close

Any contest opens into its own broadcast page — the candidates, the live count, the local map, even ranked-choice runoffs where states really use them.

A deep archive

Every country desk carries its history. The American desk replays a century of election nights with real returns — or runs the next one before it happens.

From the forecast, never a script

Every run is drawn live from the ElectIndex forecast's win probabilities. Nothing is pre-written — replay the same night and the evening breaks differently, within the model's odds.

The Sandbox

No clock, no calls — just the electorate as clay. Dial demographic leans, turnout and swing, and watch every map settle live as you work.

Races of your own

Invent literally any race — a mayor, a commissioner, a whole custom cycle — name the candidates, set the margins, then play it like any other night.

Data credits

The simulator is built entirely from public data, grouped by the desk it powers. With thanks to:

Shared across every desk4 sources

Territory on this map

Two maps, two jobs — and where they differ, they differ on purpose. A COUNTRY DESK draws that country's map as its own electoral authority draws it, because the desk is a record of that country's election. THE GLOBE AND THE WORLD MAP draw the internationally recognised position, because they are one shared sphere every desk is painted onto and it can only be single-valued. Where the two disagree, the desk's own note says so.

The world map's base layer is Natural Earth's country geometry, vendored as world-atlas. Natural Earth's default set records de facto administration — who governs the ground — which is not a statement about sovereignty. ElectIndex patches it where a widely-recognised legal position clearly exists, and leaves it alone where none does. Three cases are patched, at both zoom levels, by scripts/patch-world-territory.mjs:

Crimea is drawn inside Ukraine. Natural Earth places Crimea and Sevastopol in Russia, which is who administers them. UN General Assembly resolution 68/262 (2014) affirms Ukraine's territorial integrity and declares the March 2014 referendum invalid; it was adopted by 100 votes to 11, with 58 abstentions. Russia's claimed 2022 annexations of Donetsk, Luhansk, Kherson and Zaporizhzhia needed no patch — the source already draws those oblasts inside Ukraine, which is also the position of UN General Assembly resolution ES-11/4 (2022).

The Golan Heights are drawn inside Syria. Natural Earth places them in Israel, which has administered them since 1967 and annexed them in 1981. UN Security Council resolution 497 (1981), adopted unanimously, holds that annexation null and void and without international legal effect. The United States recognised Israeli sovereignty there in 2019; most states have not. The UN-patrolled UNDOF buffer east of the 1974 disengagement line, and Quneitra with it, is drawn as Syrian for the same reason.

Western Sahara is drawn whole. Natural Earth splits the territory at the berm, giving Morocco the western four-fifths it administers and leaving only the Polisario-administered Free Zone under its own code. ElectIndex draws it as one territory instead — the non-self-governing territory it is. Western Sahara is on the United Nations list of Non-Self-Governing Territories, its status is formally unresolved, the International Court of Justice's 1975 advisory opinion found no tie of territorial sovereignty between it and Morocco, and no state's sovereignty over it is generally recognised. Drawing it whole takes no side between Morocco and the Polisario Front; it declines to draw either.

What is deliberately left as it is. Where no single legal position is settled, the map keeps Natural Earth's de facto line and says so rather than picking a side. Kashmir stays divided on the Line of Control — the valley inside India, Gilgit-Baltistan and Azad Kashmir inside Pakistan, Aksai Chin inside China — because UN Security Council resolutions 47 (1948) and 91 (1951) treat the final status as unresolved and no claim to the whole is generally recognised. Nagorno-Karabakh is inside Azerbaijan and Abkhazia and South Ossetia inside Georgia, which is already the recognised position. Kosovo, Northern Cyprus and Somaliland each ship as their own feature carrying no country code: Kosovo is recognised by around half of UN members and the ICJ's 2010 advisory opinion found its declaration of independence did not violate international law; Northern Cyprus is recognised only by Türkiye and UN Security Council resolution 541 (1983) declares its declaration legally invalid; Somaliland has been self-governing since 1991 and is recognised by no state.

Palestine. The West Bank and Gaza ship as a single feature named Palestine, separate from Israel, and that needed no patch. UN General Assembly resolution 67/19 (2012) accords Palestine non-member observer State status; the International Court of Justice's 2004 advisory opinion treats the West Bank including East Jerusalem as occupied territory, and its 2024 advisory opinion found Israel's continued presence there unlawful. Israel disputes that characterisation. The layer draws no settlements, no separation barrier and no Area A/B/C division; at the coarse zoom level its outline is loose enough to take in West Jerusalem, which is a resolution artefact rather than a position.

One inconsistency in the base data, named rather than hidden. Kinmen resolves to China in the coarse tier of the vendored geometry and to Taiwan in the fine one, so the background gives two different answers depending on how far a viewer has zoomed in. That is inherited from the source, not a position of this product's.

Boundaries / shapefiles (2)

world-atlas

topojson · 110m + 50m · countries

The world country geometry drawn on the globe, at both zoom tiers. A straight conversion of Natural Earth’s admin-0 countries layer (consumed by scripts/build-world-topo.sh).

Natural Earth

10m · admin-0 countries + disputed areas

The administered-line boundaries the globe’s country layers are held to, and the source of the disputed-area polygons behind the corrections described above (consumed by scripts/patch-world-territory.mjs and scripts/sim-intl/build-globe-desks.mjs).

Electoral context (1)

V-Dem (Varieties of Democracy)

regimes of the world · v2x_regime · 174 countries · 1990–2025

Which elections were free and fair, graded per country per year. It decides which countries the globe hides behind its opt-in checkbox, and puts the sourced caveat on a flagged election night. The classification is Regimes of the World — Lührmann, Tannenberg & Lindberg (2018), “Regimes of the World (RoW): Opening New Avenues for the Comparative Study of Political Regimes”, Politics and Governance 6(1) — from Democracy Report v16, read via Our World in Data’s republication of the series (consumed by scripts/sim-intl/build-vdem.mjs). ElectIndex applies one short, published list of overrides on top of it: desks it draws by default despite the grade. The grade a night reports is always V-Dem’s own, unedited.

Imagery (1)

Wikipedia & Wikimedia Commons

hotlinked · attribution via article

Country and state flags, and candidate photographs.

United States10 sources

Results and vote data (4)

Carlos Algara & Sharif Amlani

1928–1996 · presidential · county level

County-level presidential returns — the basis for the historical replays.

MIT Election Data & Science Lab

2000–2016 presidential · 1976–2024 house, senate

County presidential returns, and the House and Senate returns behind the congressional replays.

Official state and county canvasses

2020–2024 · presidential · no single source url

Certified returns for the two most recent presidential cycles.

RRH Elections / cinyc9

alaska · borough level · anchored to statewide totals

Alaska estimates, where statewide precinct results are not otherwise available.

Precincts and boundaries (4)

Dave’s Redistricting App (DRA)

2008–2024 · vtd / precinct level · 50 states

Precinct boundaries and precinct-level returns — the basis for the precinct tier.

U.S. Census Bureau

tiger/line · pl 94-171 · cartographic boundaries

County, county-subdivision, block-group and district geography.

Jeffrey B. Lewis, Brandon DeVine, Lincoln Pitcher & Kenneth C. Martis (UCLA)

congresses 95–109 · district boundaries · 1976–2004

The historical congressional district lines every House map before 2006 is drawn on.

us-atlas

topojson · 10m · counties, states

County and state base geometry.

Polling (1)

The New York Times

generic ballot · approval · senate, house, governor · primaries

The polling averages behind the ElectIndex forecast, and the primary boards.

The model (1)

The ElectIndex forecast

2026 · win probabilities · 506 races

What every simulated night is drawn from — the calls, the closing order and the control odds.

United Kingdom2 sources

Results and vote data (1)

House of Commons Library

2024 general election · per-candidate · 650 constituencies

The full constituency results behind the UK desk (consumed by scripts/sim-intl/build-uk.mjs).

Boundaries / shapefiles (1)

Office for National Statistics

open geography portal · july 2024 constituencies · buc

The coastline-clipped constituency geometry the UK board draws.

Canada3 sources

Results and vote data (1)

Elections Canada

45th general election · official voting results · table 12

Every candidate’s riding result behind the Canada desk (consumed by scripts/sim-intl/build-ca.mjs).

Boundaries / shapefiles (2)

Elections Canada

2023 representation order · 343 ridings · shp

The federal electoral district geometry.

Statistics Canada

2021 cartographic provinces · shoreline mask

The coastline the riding map is clipped to (the district file includes legal water).

Australia2 sources

Results and vote data (1)

Australian Electoral Commission

2025 federal election · tally room · first prefs + tcp by division

First preferences and the final-two counts behind the Australia desk (consumed by scripts/sim-intl/build-au.mjs).

Boundaries / shapefiles (1)

Australian Electoral Commission

federal electoral boundaries · march 2025 · esri

The 150-division geometry the Australia board draws.

Germany3 sources

Results and vote data (2)

Die Bundeswahlleiterin

2025 + 2021 · endgültiges amtliches Endergebnis · erst- and zweitstimmen by wahlkreis

Both votes in all 299 constituencies, the official seat distribution, and the notional previous holders recalculated onto each election’s own boundaries (consumed by scripts/sim-intl/build-de.mjs). Datenlizenz Deutschland – Namensnennung 2.0.

Die Bundeswahlleiterin

2025 · erg3 election-night snapshots · ZeitErstEintreffen per wahlkreis

The real minute each constituency first reported, so the 2025 night runs on its own clock rather than a sampled one (same build script).

Boundaries / shapefiles (1)

Die Bundeswahlleiterin

wahlkreisgeometrie · 2025 and 2021 · vg250, land-clipped

Two boundary eras: the 2023 reform moved a seat from Saxony-Anhalt to Bavaria, so 18 constituencies were redrawn and 184 renumbered — each cycle plays on its own map.

Japan5 sources

Territory on this map

Hokkaido 7 includes Kunashiri, Etorofu, Shikotan and part of the Habomai group — the Southern Kurils, called the Northern Territories in Japan — because that is how the Ministry of Internal Affairs and Communications delimits it: the islands are assigned to Nemuro City. Measured on the shipped geometry they are 4,956 km², about 34% of the drawn constituency. No ballots are cast there.

The islands have been administered by the Soviet Union and then Russia since 1945. Japan claims them, no peace treaty has settled the question, and there is no general international recognition of either claim. The desk draws the constituency as its electoral authority draws it; the simulator's shared world map, which follows de facto administration where no legal position is settled, draws the same islands as Russian. The two views differ on purpose.

Senkaku and Diaoyutai, and Dokdo and Takeshima, are in no ElectIndex map layer at all — neither this desk nor South Korea's draws them.

Results and vote data (1)

総務省 (Ministry of Internal Affairs and Communications)

衆議院議員総選挙結果調 · 50th (2024) + 49th (2021) · districts, blocks, party lists

Every district candidate’s vote, every block’s party vote, and the dual-candidacy outcomes the proportional seat capacity is derived from (consumed by scripts/sim-intl/build-jp.mjs).

Boundaries / shapefiles (4)

西澤明 · 東京大学空間情報科学研究センター (Akira Nishizawa, CSIS, University of Tokyo)

衆議院小選挙区 GIS · built from 町丁字 census units · CC0

The canonical single-member-district geometry both Japanese boundary eras derive from — sub-ward, which is what lets a district cutting through a city ward be drawn at all.

産経新聞社 (Sankei Shimbun)

japan-constituency-map · 2022 delimitation · CC BY 4.0

The 289-district map the 2024 board draws (scripts/sim-intl/build-jp.mjs).

スマートニュース メディア研究所 (SmartNews Media Research Institute)

japan-topography · 2017 delimitation

The 289-district map the 2021 replay plays on — its own boundary era.

国土交通省 国土数値情報 (MLIT National Land Numerical Information)

N03 行政区域データ · municipal and ward polygons

The municipal base geometry the district boundaries are cut from.

Poland3 sources

Results and vote data (2)

Państwowa Komisja Wyborcza (National Electoral Commission)

Sejm 2023 + 2019 · per okręg, per committee and per candidate · Prezydent RP 2025 + 2020, both rounds

Every committee’s vote in each of the 41 okręgi, and the official elected-member flag the seat-per-okręg table is derived from rather than recalled (consumed by scripts/sim-intl/build-pl.mjs).

Państwowa Komisja Wyborcza (National Electoral Commission) — the presidency

Prezydent RP 2025 and 2020 · both rounds · per powiat, the vote abroad and on ships, and the candidate registers

Every candidate’s vote in every powiat in both rounds of both elections, folded onto the 41 Sejm okręgi through the Commission’s own powiat-to-okręg table and reconciled to the candidate register to the vote; the vote abroad and at sea is the off-map unit (consumed by scripts/sim-intl/build-pl.mjs). 2020 at prezydent20200628.pkw.gov.pl.

Boundaries / shapefiles (1)

Główny Urząd Geodezji i Kartografii (GUGiK)

Państwowy Rejestr Granic · powiat units

The national boundary register. Poland publishes no okręg geometry of its own — an okręg is defined as a set of powiats, so the 41 districts are dissolved from the powiat layer using the electoral commission’s own TERYT mapping.

New Zealand2 sources

Results and vote data (1)

New Zealand Electoral Commission (Te Kaitiaki Take Kōwhiri)

2023 · 2020 · 2017 general elections · per electorate + per voting place

Candidate and party votes behind the New Zealand desk, and the ordinary-vote reconstruction of each election night (consumed by scripts/sim-intl/build-nz.mjs). CC BY 4.0.

Boundaries / shapefiles (1)

Representation Commission, Stats NZ (Tatauranga Aotearoa)

2020 + 2014 reviews · general and māori electorates

The two-layer electorate geometry the New Zealand board draws — the Māori electorates overlap the general ones, so they are separate layers rather than one mosaic. CC BY 4.0.

India2 sources

Territory on this map

This desk draws India's own map, and the world map does not — that split is deliberate and it is the largest difference between the two views anywhere in the simulator.

On the India desk. The Election Commission of India delimits the Ladakh constituency over Leh and Kargil. DataMeet's shapefile, cut from the Survey of India national outline, draws that seat to India's full claim instead — 177,752 km² against about 59,000 km² administered, taking in Pakistan-administered Gilgit-Baltistan and Azad Jammu & Kashmir, Chinese-administered Aksai Chin and the Shaksgam Tract, and the Siachen Glacier. That is the country's own cartography, so it is what the country's own desk shows. No Lok Sabha ballot was cast anywhere in the claimed area.

On the globe and the world map. The same seat is clipped to Natural Earth's de facto boundary, which divides Kashmir on the Line of Control, so the shared map paints only ground India administers. The clip touches that one seat; the other 542 constituencies are the source's own geometry in both views.

Neither view is a position on sovereignty. UN Security Council resolutions 47 (1948) and 91 (1951) treat the final status of Jammu and Kashmir as unresolved pending a plebiscite, no state's claim to the whole is generally recognised, and the Line of Control is a ceasefire line rather than an agreed border — India, Pakistan and China each dispute parts of it. Kalapani and Lipulekh, disputed with Nepal, sit inside the Almora constituency on the same source line.

Results and vote data (1)

Election Commission of India

2024 + 2019 general elections · constituency-wise, per candidate

Every candidate’s vote in all 543 parliamentary constituencies, and the counting-day timings the night runs on (consumed by scripts/sim-intl/build-in.mjs).

Boundaries / shapefiles (1)

DataMeet Community Maps

parliamentary constituencies · 2008 delimitation

The 543-constituency geometry the India board draws. Both cycles ran on the same delimitation, so one boundary set serves each.

France2 sources

Territory on this map

France's overseas seats are drawn in an inset gutter rather than on the metropolitan frame — the départements and collectivités d'outre-mer, plus 11 seats for French citizens abroad which have no territory at all and are listed rather than drawn. One of those insets is contested. Mayotte has been administered by France since it voted separately from the rest of the Comoros in 1975, became a French department in 2011, and elects the two deputies whose results this desk replays; it is drawn because it is a constituency, in the same gutter as Réunion and Guadeloupe.

The Comoros claims Mayotte, and the UN General Assembly, in resolution 31/4 (1976) and its successors, has treated the separate referendum as invalid and affirmed Comorian sovereignty over the island. France does not accept that position.

Results and vote data (1)

Ministère de l’Intérieur, via data.gouv.fr

législatives 2024 + 2022 · résultats définitifs · both rounds, by circonscription

Every candidate’s vote in both rounds of both elections, with the nuance grid the party registry is built from (consumed by scripts/sim-intl/build-fr.mjs).

Boundaries / shapefiles (1)

INSEE

circonscriptions législatives · 2010 redécoupage

The 577-circonscription geometry the France board draws. Both elections ran on the same map; the 11 seats for French citizens abroad have no territory and are listed rather than drawn.

Brazil3 sources

Results and vote data (1)

Tribunal Superior Eleitoral — Repositório de Dados Eleitorais

2022 + 2018 · deputado federal · per candidate, per municipality

Every candidate’s vote, the legenda votes cast for a party alone, and the coligação / federação groupings the seat allocation runs on (consumed by scripts/sim-intl/build-br.mjs).

Boundaries / shapefiles (1)

IBGE

unidades da federação · 26 states + the Federal District

The 27 state geometries the Brazil board draws — in Brazil the state IS the electoral district.

The model (1)

Código Eleitoral (Lei 4.737/1965), arts. 106–109 as amended

Lei 13.488/2017 · Lei 14.211/2021 · STF ADI 5420 and ADI 5947

The seat-allocation rules the desk implements, which differ between the two elections — the leftover-seat threshold and the successive-averages divisor both changed.

Portugal3 sources

Results and vote data (2)

Comissão Nacional de Eleições (National Election Commission)

Assembleia da República 2024 + 2025 · Mapa Oficial dos resultados, per círculo and per candidatura

The legally authoritative table of votes and mandates, published in the Diário da República. Every seat this desk allocates is checked against its mandate column círculo by círculo, not just in the national total (consumed by scripts/sim-intl/build-pt.mjs).

Secretaria-Geral do Ministério da Administração Interna — Administração Eleitoral

Results portal · previous-election comparison per círculo

The government’s live results service. The desk reads its published previous-election block so each círculo’s prior winner is a real notional result rather than a reconstruction (consumed by scripts/sim-intl/build-pt.mjs).

Boundaries / shapefiles (1)

Direção-Geral do Território (DGT)

Carta Administrativa Oficial de Portugal (CAOP) 2025 · distrito and autonomous-region layers

The national administrative boundary register. Portugal’s electoral círculos are the 18 mainland distritos plus the two autonomous regions, which CAOP publishes already dissolved; the Azores arrive as two archipelago files in separate coordinate systems and are unioned into one region (consumed by scripts/sim-intl/build-pt.mjs).

Netherlands3 sources

Results and vote data (1)

Kiesraad (Electoral Council)

Tweede Kamer 2025 + 2023 · per kieskring, per list

Every list’s vote in each of the 20 kieskringen, the turnout behind the count, and the official seat allocation the desk is checked against — plus the region hierarchy the map units are dissolved from (consumed by scripts/sim-intl/build-nl.mjs).

Boundaries / shapefiles (2)

Centraal Bureau voor de Statistiek (CBS)

Gebiedsindelingen 2025 · municipal boundaries + label points, via PDOK

The Netherlands publishes no kieskring geometry of its own — a kieskring is defined as a set of municipalities, so the 20 units are dissolved from the coastline-clipped municipal layer using the Electoral Council’s own gemeente mapping. The same layer’s official label points place the reference cities.

Natural Earth

10m admin-0 map units · Caribbean Netherlands

Bonaire, Saba and Sint Eustatius vote in Dutch general elections as kieskring 20, but they are openbare lichamen rather than municipalities and fall outside the CBS layer — so their outline, drawn as an inset beside the mainland map, comes from Natural Earth.

Sweden5 sources

Results and vote data (2)

Valmyndigheten (Swedish Election Authority)

Riksdag 2022 + 2018 · per valkrets, per party · final result

Every party’s vote in each of the 29 valkretsar in both elections, with the valid-vote and electorate counts the count is paced against (consumed by scripts/sim-intl/build-se.mjs). Free to use with attribution.

Valmyndigheten (Swedish Election Authority)

Riksdag 2026 · slutlig rösträkning · per valkrets, per party · published 19 September 2026

The final count of the 13 September 2026 election, read from the authority’s own result feed valkrets by valkrets, the aggregate «Övriga anmälda partier» row checked against its itemised parts and every valkrets closed on its own valid total (consumed by scripts/sim-intl/build-se.mjs via raw/2026/RD_nn_S.json).

Seats and seat allocation (2)

Valmyndigheten (Swedish Election Authority)

Beslut VAL-537, 2022-09-17 · Mandatfördelning 2018 · fasta valkretsmandat 1988–2026 and the 2026-05-05 apportionment decision

The decisions that seated the Riksdag: the 310 fixed constituency seats apportioned to each valkrets, the full modified Sainte-Laguë divisor sequence, and the fixed/adjustment split per party that the desk’s goldens are pinned to — not a secondary report and not a recalled table.

Valmyndigheten — protocol «Val till riksdagen 2026-09-13», Bilaga 1–9

the seated Riksdag · fixed and utjämning seats per party and per valkrets

The protocol that seated the 2026 Riksdag; Bilaga 6’s split — 310 fixed, 39 utjämning — is pinned by hand in the golden test, and it states verbatim the placement rule for a party with no fixed seat (its raw vote, not votes ÷ 1.2) that the build applies to every cycle.

Boundaries / shapefiles (1)

Valmyndigheten (Swedish Election Authority)

Valgeografi · riksdagsvalkretsar · SWEREF99 TM

The authority’s own shapefile of the 29 valkretsar, reprojected to WGS84. The same boundaries stood at both the 2018 and 2022 elections, so one map serves both nights. Unchanged through 2026; contest codes are the authority’s own RVK numbers, joined to the geometry by name.

South Korea5 sources

Territory on this map

Dokdo, which Japan calls Takeshima, is not in this desk's geometry: the eastern edge is Ulleungdo. It is administered by South Korea and claimed by Japan, and it is in no other ElectIndex map layer either — neither this desk nor Japan's draws it, so the product takes no side between two countries that both have desks here. Baengnyeongdo, inside the Northern Limit Line, is drawn and is uncontroversially South Korean-administered; Kaesong and Panmunjom are absent.

South Korea's constitution defines its territory as the whole Korean peninsula, but the National Election Commission delimits constituencies only over the South, and this desk draws exactly the constituencies that voted.

Results and vote data (1)

중앙선거관리위원회 (National Election Commission) — 선거통계시스템

National Assembly 2024 + 2020 · 개표현황 per constituency and per candidate, 비례대표 per 시도 · Presidential 2025 + 2022 · 개표현황 per 시·도 and per candidate

Every vote in this desk. The constituency returns, the national party-list returns, and the 당선인명부 roll of elected list members the seat totals are checked against; and the presidential returns by province and metropolitan city for the 21st (2025) and 20th (2022) presidential elections, reconciled row by row against each 시·도’s own page (consumed by scripts/sim-intl/build-kr.mjs).

The seat formula (1)

국가법령정보센터 (Korea Law Information Centre)

공직선거법 (Public Official Election Act) · Arts 20, 21, 155, 187 and 189, and 부칙 제4조

The semi-compensatory (준연동형) party-list formula is implemented from the statute itself rather than from a secondary description — including the 2020-only special provision that ran 30 of that year’s 47 list seats under the linked formula and the other 17 in plain proportion. The presidency is decided by Art 187①, a plurality of valid votes with no runoff, and the 2025 night opens at 20:00 because Art 155① keeps a vacancy election’s polls open two hours longer.

Boundaries / shapefiles (3)

OhmyNews (오마이뉴스) — 선거구 지도

22nd (254 seats) + 21st (253 seats) constituency polygons · the 17 시·도 of the presidential map dissolved from the 22nd · WGS84 · MIT

Constituency boundaries dissolved from administrative-dong boundaries and published openly, one file per boundary era. Each carries the election commission’s own seven-digit constituency code, which is what joins the map to the results — and whose province digits are what the presidential map’s 17 units are dissolved on (consumed by scripts/sim-intl/build-kr.mjs).

통계청 (Statistics Korea)

행정동 경계 · via VWorld · the 2024 boundary era

The administrative-dong boundaries the 254 constituencies of the 22nd Assembly are dissolved from.

Kim Seung-beom (김승범), VW-Lab

대한민국 행정동 경계 · admdongkor · the 2020 boundary era

The independently maintained administrative-dong boundary file the 253 constituencies of the 21st Assembly are dissolved from, and which also supplied Bucheon for the 2024 map where the official file had not been updated.

Spain3 sources

Territory on this map

Ceuta and Melilla are drawn on the main map, at 19.6 km² and 13.4 km², because they are genuine single-member constituencies — each returns exactly one deputy, and a Spanish election map without them would be missing two of the Congreso's 350 seats. They are Spanish-administered autonomous cities on the North African coast, and Morocco claims both. Neither is on the United Nations list of Non-Self-Governing Territories; Gibraltar, which Spain claims from the United Kingdom, is, and Gibraltar is in no ElectIndex map layer.

The African coastline around the two cities is not drawn, because this desk paints only the units that cast these ballots. On the same rule, the plazas de soberanía — Peñón de Vélez de la Gomera, the Peñón de Alhucemas and the Chafarinas, also claimed by Morocco — are Spanish territory but are not constituencies, so they are not drawn either. The shared world map's coastline is too coarse to carry either city as its own shape, so at high zoom the background there reads as Morocco; that is a resolution limit of the base geometry, not a position.

Results and vote data (2)

Ministerio del Interior — Infoelectoral

Congreso de los Diputados, noviembre 2019 + julio 2023 · resultados por circunscripción

Every candidacy’s vote in each of the 52 provincial constituencies, together with the official Diputados column — so each province’s seat magnitude and the whole 350-seat allocation are read from the record rather than recalled. Obtained through the Internet Archive’s capture of the ministry’s own workbooks, the live host being unreachable (consumed by scripts/sim-intl/build-es.mjs).

Internet Archive

Wayback Machine · captures of the Infoelectoral bulk-download files

The delivery route for the two ministry workbooks above, credited as what it is: the archive served the authority’s unmodified files, it did not produce the data.

Boundaries / shapefiles (1)

Instituto Geográfico Nacional (IGN)

Base de Datos de Divisiones Administrativas · provincias

The national mapping agency’s own provincial polygons, taken from its INSPIRE Administrative Units service. Spain’s electoral constituency is the province, so these are the constituency boundaries themselves — no dissolve required — and the INE province code embedded in each unit’s nationalCode joins them straight to the results workbooks.

South Africa7 sources

Results and vote data (4)

Electoral Commission of South Africa (IEC)

National Assembly 2009, 2014, 2019, 2024 · per party, per province

Every party’s vote in each of the nine provinces at four general elections — with the 2024 regional and national ballots read separately, since that is the first election fought on two — plus the out-of-country vote and the provincial turnout (consumed by scripts/sim-intl/build-za.mjs).

Electoral Commission of South Africa (IEC)

Seat Calculation reports · 2004 to 2024

The official seat arithmetic. The desk’s golden test reproduces these reports seat for seat — both tiers, all thirty-six provincial allocations — rather than asserting recalled totals, and the 2019 workbook’s published quotas are pinned too. The 2004 report is read for one thing only: which party led each province, the record the 2009 night’s gains are measured against.

Electoral Commission of South Africa (IEC)

Voter Turnout reports · 2009 to 2024

Registered voters and ballots cast per province. Turnout paces each province’s count, and the report cross-checks the ballot totals the detailed-results workbooks publish.

Electoral Commission of South Africa (IEC)

voting-district results · 2009 to 2024

The complete district-level files — 19,734 voting districts in 2009 rising to 23,291 in 2024. Each province’s reporting curve is derived from the ballots cast in its districts: the Commission publishes no completion times, so the shape of the night is built from district size rather than sampled. It is why the ANC’s number starts high and falls as the metros come in.

Boundaries / shapefiles (1)

Municipal Demarcation Board (MDB)

district + metropolitan municipal boundaries · 2018

The independent authority that determines South Africa’s municipal and provincial boundaries. The 52 district and metropolitan municipalities are dissolved on their province field to the nine provinces; the file carries no offshore area, so no shoreline mask is applied. One boundary set serves all four elections: the transfers that moved Merafong City, Matatiele and Bushbuckridge between provinces were all in force before the 2009 poll, which the Commission’s own municipality lists confirm.

The model (2)

Electoral Act 73 of 1998, Schedule 1A

as amended by the Electoral Amendment Act 1 of 2023

The statute the seat allocation implements: a Droop quota, then at most five seats by highest remainder and the rest by highest average of votes per seat. The 2023 amendment is what split the ballot in two and put independent candidates on it for the first time — it did not create the two-tier chamber, which has been 200 regional seats plus 200 compensatory since 1994.

Electoral Commission of South Africa (IEC)

Simplified seat calculation for the National Assembly and Provincial Legislatures

The Commission’s own worked example of Schedule 1A, in both its single-ballot and two-ballot editions. It is the published statement of the three-stage rule the desk implements.

Ireland6 sources

Results and vote data (4)

Department of Housing, Local Government and Heritage

General Election 2024 · results and transfer of votes · 43 constituencies, every candidate at every count

The returning officers’ own count sheets for the 2024 general election: first preferences, each count’s transfers, non-transferable papers, quotas and the elected members. Both the vote data and the solved preference matrices are built from it (consumed by scripts/sim-intl/build-ie.mjs).

Department of Housing, Local Government and Heritage

General Election 2020 · count details, candidates and constituency returns · 39 constituencies, 5,015 count rows

The same official record for the 2020 general election, count by count, including the count at which each member was declared.

Houses of the Oireachtas Open Data

member records · 33rd and 34th Dáil

The party affiliation of the Ceann Comhairle, who is returned automatically without an election and so appears in no constituency return.

ElectionsIreland.org — Christopher Took and Seán Donnelly

private compilation · consulted as a cross-check only

An independent long-running compilation of Irish election results, used to confirm the constituency count, the seat total and the candidate count against the official returns. It is not a state authority, and no figure in the simulator is taken from it.

Boundaries / shapefiles (1)

Tailte Éireann (formerly Ordnance Survey Ireland)

constituency boundaries · 2023 and 2017 revisions · ungeneralised · CC BY 4.0

The Dáil constituency geometry for both boundary eras, so a historical election plays on the boundaries it was actually fought on.

The model (1)

ElectIndex

per-constituency preference matrices, solved from the published count sheets

Vote transfers are not modelled or estimated: each constituency’s preference matrix is solved directly from the returning officer’s own count sheet, so the deterministic replay reproduces the real count. Where several candidates were excluded together the published sheet gives one pooled destination vector, and that pooled row is shared between them.

Italy3 sources

Results and vote data (2)

Ministero dell’Interno — Eligendo Archivio

Camera dei Deputati 2022 · per comune, per list and per candidate

The 2022 count sheet: every list’s vote and every single-member candidate’s vote in each of 7,842 comune blocks, plus the Valle d’Aosta and circoscrizione Estero returns. The candidate-only votes are shared out among each candidate’s lists from this file, which is what turns the raw column into the cifra elettorale the seat allocation runs on (consumed by scripts/sim-intl/build-it.mjs).

Ministero dell’Interno — Eligendo Archivio

Camera dei Deputati 2018 · per collegio, with the official seat columns

The 2018 release, which publishes its own SEGGILISTA columns — the 386-seat proportional allocation and the twelve Estero seats the desk’s golden test is pinned to (consumed by scripts/sim-intl/build-it.mjs).

Boundaries / shapefiles (1)

Istituto Nazionale di Statistica (ISTAT)

basi geografiche dei collegi elettorali · 2020 and 2017 vintages

The single-member collegi, in both boundary eras: 147 collegi drawn by d.lgs. 177/2020 for the 400-seat Camera, and the 232 drawn by d.lgs. 189/2017 that the 2018 election was fought on (consumed by scripts/sim-intl/build-it.mjs).

Argentina6 sources

Territory on this map

The Instituto Geográfico Nacional's province file runs to the South Pole. The Tierra del Fuego record is legally Tierra del Fuego, Antártida e Islas del Atlántico Sur, and its polygon carries the Argentine Antarctic sector, the South Shetlands and South Orkneys, South Georgia and the South Sandwich Islands, and the Falkland Islands, which Argentina calls the Islas Malvinas — 1,333 parts in one feature. ElectIndex clips that one record to Natural Earth's de facto Argentina, so the map draws the ground these ballots came from and none of the claimed area. The other 23 provinces keep the IGN's own geometry untouched.

That clip is the one place a desk does not draw its country's own claim, and there are two reasons. The claim geometry reaches latitude −90, which wrecks the bounds-derived framing both the desk board and the World Sandbox use; and the United Kingdom and Chile both have desks here, so drawing Argentina's Antarctic sector and the Falklands on the shared globe would put two desks' colours on the same ground.

The Falkland Islands are administered by the United Kingdom as an overseas territory and claimed by Argentina; UN General Assembly resolution 2065 (1965) and its successors call on both governments to negotiate and treat the question as unresolved. The Antarctic claims of Argentina, and of every other claimant, are held in abeyance by Article IV of the 1959 Antarctic Treaty, which neither recognises nor denies them.

Results and vote data (3)

Dirección Nacional Electoral (DINE), Ministerio del Interior

escrutinio provisorio · mesa level · generales 2019, 2021, 2023, 2025 + the 2023 segunda vuelta

Every vote in the Argentine desk. Aggregated to district level and used for shares, turnout weights, the padrón behind the 3% barrier, and the presidential rounds (consumed by scripts/sim-intl/build-ar.mjs). The 2025 dataset is published on datos.mininterior.gob.ar as “Resultados Provisionales Elecciones 2025”.

Honorable Cámara de Diputados de la Nación

composición de la Cámara · every deputy, mandate class and bloc since 1983

How many seats each district renews at each election, and the composition of the half of the chamber that is not up on the night. Also the check the build refuses to ship without: the allocation must reproduce the Cámara that actually sat. …and the 2025 class seated 10 December 2025, against which the 2025 party mapping is fixed (build-ar.mjs).

Cámara Nacional Electoral

candidaturas aprobadas · elecciones generales 2023

The presidential formulas that stood on 22 October 2023.

Precincts and boundaries (3)

Instituto Geográfico Nacional (IGN)

unidades territoriales · provincias · WGS84

The 24 electoral districts drawn on the desk map.

Natural Earth

10m admin-0 countries · public domain

The clip that keeps the Antarctic and South Atlantic claims carried by Tierra del Fuego’s legal boundary out of the map’s extent.

INDEC, via the georef service (Ministerio del Interior)

localidades censales · centroids

The reference cities on the basemap. Population figures beside them are approximate and size a label only.

Colombia8 sources

Territory on this map

The archipelago of San Andrés, Providencia y Santa Catalina is a real two-seat constituency and is drawn in its true position in the Caribbean rather than as an inset. It is disputed with Nicaragua, and unusually for this list the sovereignty question has been answered: the International Court of Justice's 2012 judgment in Nicaragua v. Colombia confirmed Colombian sovereignty over San Andrés, Providencia, Santa Catalina and the surrounding cays, while redrawing the maritime boundary in Nicaragua's favour. The land this desk draws is therefore not in serious international doubt; the water around it is, and the desk draws no water.

Two gaps, both apolitical and both known. Providencia itself — 17 km² and about 5,000 people — is not in the source geometry, so the department draws as San Andrés island alone at 10.5 km². And San Andrés drops out of the globe's coarse subdivision tier, where a simplification step keeps one ring per region, so the island is visible at one zoom level and not at the other.

Results and vote data (5)

Registraduría Nacional del Estado Civil

2022 · Cámara de Representantes · per constituency

Official congressional results, list by list and seat by seat, from the authority’s own results portal.

Registraduría Nacional del Estado Civil

2022 · Presidencia · both rounds · per department

Official presidential results for the first and second rounds.

CEDAE, Registraduría Nacional del Estado Civil, with the Centro de Estudios sobre Desarrollo Económico (CEDE), Universidad de los Andes

1958–2018 · congressional, presidential and local · CSV

The historical results archive consulted while sourcing the desk.

Registraduría Nacional del Estado Civil

2026 · Cámara de Representantes and Presidencia (both rounds) · escrutinio, per department

The E-26 Acta del Escrutinio General for each departmental commission and each CITREP constituency, from the authority’s escrutinio document portals — list by list, seat by seat; about a third are scans, read by OCR and checked against each act’s own votos en letras (consumed by scripts/sim-intl/build-co.mjs via esc-2026/assemble-2026.mjs).

Consejo Nacional Electoral

2026 · national escrutinio acts

The CNE’s own E-26 for the Cámara in Cundinamarca, Chocó and the Afro-descendant constituency, and its E-24/E-26 cuadros for both presidential rounds, which alone carry the vote cast abroad (consumed by scripts/sim-intl/build-co.mjs via esc-2026/assemble-2026.mjs).

Precincts and boundaries (2)

Registraduría Nacional del Estado Civil

2022 · CITREP · municipality polygons

The 16 transitional peace constituencies, dissolved from the authority’s own published map.

Natural Earth

10m · admin-1 · states and provinces

Departmental boundaries, cross-validated against the Registraduría’s own constituency set.

The model (1)

Constitución Política de Colombia, Article 263

Acto Legislativo 2 de 2015, art. 21

The seat formula the desk implements: cifra repartidora, the two-member quota rule, and the thresholds.

Chile3 sources

Territory on this map

Chile's district 28 carries the region name Región de Magallanes y Antártica Chilena, because that is what the Servicio Electoral calls the region, and this desk names places as the electoral authority names them. The label is where the claim ends: no Antarctic geometry is drawn anywhere on the map. The Biblioteca del Congreso Nacional's comuna layer stops at latitude −55.98 at Cape Horn and carries no polygon for the Territorio Chileno Antártico at all. Chile's Antarctic claim, which overlaps Argentina's and the United Kingdom's, is — like every Antarctic claim — held in abeyance by Article IV of the 1959 Antarctic Treaty.

Two real parts of District 7, Isla de Pascua or Rapa Nui and the Juan Fernández archipelago, are also not drawn. Their votes are counted in full; including their geometry would stretch the map across 43 degrees of longitude. That is a framing decision about legibility, not a territorial one.

Results and vote data (2)

Tribunal Calificador de Elecciones (TRICEL)

Cámara de Diputados 2025 + 2021 · presidential 2025 + 2021, both rounds · per district and mesa by mesa

The definitive, calificado count — and the proclamation itself: each district file carries TRICEL’s own d’Hondt working, every candidate with party and list, and the ELECTOS sheet the desk’s seat totals are pinned from rather than derived (consumed by scripts/sim-intl/build-cl.mjs).

Servicio Electoral de Chile (SERVEL)

Mesa-level results 2025 + 2021 · the published allocation rule · the seat apportionment

The electoral service’s own mesa-by-mesa exports, its published explanation of the two-level d’Hondt of article 121 of Ley N° 18.700, and the Diario Oficial resolution assigning the 155 seats across the 28 districts under article 189.

Boundaries / shapefiles (1)

Biblioteca del Congreso Nacional de Chile (BCN)

División comunal · 346 comunas carrying their electoral district

Chile publishes no district geometry of its own — a district is defined as a set of comunas, and BCN’s comuna layer carries each one’s dis_elec, so the 28 districts are dissolved on the authority’s own attribute rather than on a mapping assembled by hand.

Israel3 sources

Territory on this map

The map is Israel's Central Bureau of Statistics locality layer, which is what the Central Elections Committee's own reporting codes join to — a layer of places, not of territory. It draws the 1,188 reporting localities that have a polygon, one small shape each, and nothing else; about 30 further reporting units — Bedouin tribes, military camps, and the external absentee envelopes — have no polygon and are counted without being drawn. Within that set: 123 Israeli localities in the West Bank covering 74 km² as drawn, 38 in the Golan Heights covering about 150 km², and Jerusalem as a single 126 km² polygon on its post-1967 municipal boundary, which includes East Jerusalem.

Palestinian towns — Ramallah, Nablus, Hebron, Gaza City — have no locality polygon here and cast no Knesset ballot, so the West Bank appears as blank ground around Israeli localities, and Gaza is absent entirely. That is what a source built from an Israeli electoral roll can honestly show. It is a map of an electorate, not of a population, and no version of this source is a picture of who lives there.

Where the world map differs. The simulator's shared world map draws the Golan Heights as Syrian and the West Bank and Gaza as Palestine. The desk still shows the localities that voted, because that is what the desk is for.

The widely-recognised international legal position, stated rather than asserted: UN Security Council resolutions 242 (1967), 478 (1980) and 2334 (2016), and the International Court of Justice's advisory opinions of 2004 and 2024, treat the West Bank including East Jerusalem, and the Golan Heights, as occupied territory, and Israeli settlements there as contrary to the Fourth Geneva Convention. Israel disputes that characterisation. The United States recognised Israeli sovereignty over the Golan in 2019; most states have not.

Results and vote data (2)

Central Elections Committee for the Knesset (ועדת הבחירות המרכזית לכנסת)

Final official results, 24th and 25th Knesset · per-locality and per-ballot-box returns · 2021, 2022

Every vote total on the Israel desk: the per-locality returns the map and the national count are built from, and the official seat table the golden test pins.

Reshumot — Yalkut HaPirsumim (רשומות, ילקוט הפרסומים)

Israel official gazette 10861, p. 414, 24 October 2022 · notice of connections between candidate lists under §67(c) of the Knesset Elections Law

The 25th Knesset surplus-vote agreements, which decide who takes the remainder seats.

Boundaries / shapefiles (1)

Central Bureau of Statistics (הלשכה המרכזית לסטטיסטיקה)

2011 statistical areas with 2020 demographics, catalogue 50502i · 3,187 areas, 1,387 localities · EPSG:2039

The locality polygons the Israel map is dissolved from, their official English names, and the label points behind the reference cities.

Mexico12 sources

Results and vote data (9)

Instituto Nacional Electoral (INE)

Cómputos Distritales 2024 · per district, per candidacy and per casilla

The official district counts behind the Mexico desk: every candidacy’s vote in each of the 300 distritos, and each party’s own vote with the coalition combination marks already distributed under LGIPE art. 311 (consumed by scripts/sim-intl/build-mx.mjs).

Instituto Nacional Electoral (INE)

Cómputos Distritales · Presidencia 2024 and 2018 · per entidad federativa

The official counts behind the Mexico desk’s presidential nights: every candidacy’s vote in each of the 32 entidades federativas, from INE’s own cómputos distritales for 2 June 2024 and 1 July 2018 (consumed by scripts/sim-intl/build-mx.mjs).

Tribunal Electoral del Poder Judicial de la Federación, Sala Superior

Dictámenes on the cómputo final of the presidential election · 14 August 2024 and 8 August 2018

The declaration of the presidential result. Under art. 99 of the Constitution it is the Sala Superior, not INE, that performs the final count, declares the election valid and declares the President-elect — the record the desk’s presidential goldens are pinned to.

Instituto Nacional Electoral (INE), Consejo General

Acuerdo INE/CG2129/2024 · 23 August 2024

The official asignación of the 200 diputaciones de representación proporcional, including the over-representation check under art. 54 of the Constitution — the record the desk’s golden test reproduces seat for seat. Confirmed by the Sala Superior of the Tribunal Electoral del Poder Judicial de la Federación.

Instituto Nacional Electoral (INE), Consejo General

Acuerdos INE/CG679/2023 and INE/CG680/2023, as modified 21 February 2024

The coalition convenios and their siglado annexes — which member party nominated the joint candidate in each district, and therefore which party a coalition’s district win belongs to.

Instituto Nacional Electoral (INE), Consejo General

Acuerdo INE/CG645/2023 · published in the Diario Oficial de la Federación

The mechanism for applying the proportional-representation formula, which defines “afiliación efectiva” — the party a coalition district win counts for when the over-representation cap is checked, as distinct from the party that holds the seat.

Instituto Nacional Electoral (INE)

Sistema de Consulta de la Estadística de las Elecciones (SICEEN) · Diputaciones Federales de Mayoría Relativa 2021

The definitive 2021 district results, published after the rulings of the Tribunal Electoral del Poder Judicial de la Federación — which modified the count in 47 districts, three of which changed hands. The dataset names the court’s own docket per district (consumed by scripts/sim-intl/build-mx.mjs).

Instituto Nacional Electoral (INE), Consejo General

Acuerdo INE/CG1443/2021 · 23 August 2021

The official asignación of the 200 diputaciones de representación proporcional for 2021-2024 — the record the 2021 golden test reproduces seat for seat.

Instituto Nacional Electoral (INE), Consejo General

The registered convenios of the coalitions “Va por México” and “Juntos Hacemos Historia”, as modified 15 February and 21 March 2021

The 2021 siglado annexes — which member party nominated the joint candidate in each district.

Boundaries / shapefiles (2)

Instituto Nacional Electoral (INE)

Marco geográfico electoral · 2023 and 2017 distritaciones · 300 distritos federales each

The district geometry the Mexico map is drawn from, published by INE alongside its own results service. Mexico was redistricted between 2021 and 2024, so each cycle plays on the boundaries it was actually fought on.

Natural Earth

10m populated places · Mexican rows

The reference cities on the basemap layer. Public domain.

The model (1)

Cámara de Diputados — Leyes Federales

CPEUM art. 54 · LGIPE arts. 15–18, 285 and 311 · Ley de los Husos Horarios

The statutes the seat arithmetic implements: the 3 per cent threshold and the two over-representation ceilings, the natural-quota and largest-remainder formula, the distribution of coalition votes, the 6:00 pm close, and the four time zones the close is staggered across.

Taiwan6 sources

Territory on this map

The desk covers elections to the Legislative Yuan, administered by the Central Election Commission, and the ground it paints is the area under the administration of the authorities in Taipei — Taiwan, Penghu, Kinmen and Matsu — which is exactly where these ballots were cast. Kinmen and Lienchiang (Matsu), a few kilometres off the Chinese mainland, are real constituencies and ship as insets so they are legible. The desk is labelled Taiwan throughout: the ordinary English name, and the one the Central Election Commission's own English pages use.

Taiwan's political status is disputed, and this map does not settle it. The People's Republic of China claims Taiwan; the authorities in Taipei administer it; most states maintain unofficial relations and do not recognise it as a separate sovereign state. UN General Assembly resolution 2758 (1971) recognised the representatives of the People's Republic of China as the only lawful representatives of China to the United Nations. What this desk does is narrower than any of that: it draws the constituencies that elected this legislature.

The rule that bounds what a desk draws. A desk shows the claim its electoral authority's own cartography actually asserts — the territory it delimits seats over — not a dormant constitutional maximum nobody exercises. The Republic of China's constitutional territorial claim was never formally renounced, but the Central Election Commission delimits no seat beyond the free area, so the free area is what is drawn. Read literally, 'a desk draws its country's claim' would have this map cover mainland China and Mongolia, which nobody means and which no ballot supports.

Islets deliberately left out. The geometry drops 116 polygon parts by a stated and tested rule — the map shows the ground where ballots were cast. That removes Diaoyutai, called Senkaku in Japan, which is administered by Japan and claimed by both Taipei and Beijing; Pratas, or Dongsha; and Itu Aba, or Taiping, in the Spratlys. Taiwan administers the latter two. All are uninhabited, none casts a ballot, and the rule that removed them names no sovereign. The product asserts nothing about any of them — Japan's desk draws none of them either.

One quirk of the layer beneath the desk. Natural Earth places Kinmen in China at its coarse resolution and in Taiwan at its fine one, so the gold national outline the globe strokes around Taiwan grows a Kinmen bump at high zoom and loses it at low zoom. That is the vendored base map's inconsistency, inherited, not a position of this product's.

Results and vote data (3)

中央選舉委員會 (Central Election Commission), 選舉資料庫

Legislative Yuan 2020 and 2024, all four tiers · presidential 2020 and 2024 · per-candidate votes by constituency, and the official at-large seat allocation

Every vote total, candidate, party and seat in the desk — and the party colours, read off the Commission’s own published table. Consumed by scripts/sim-intl/build-tw.mjs.

中央選舉委員會 (Central Election Commission), 開放資料

第11屆立法委員選舉區範圍 — the legal definition of all 73 constituencies

Independent verification of the constituency geometry, township by township and village by village. Consumed by the verification step of scripts/sim-intl/build-tw.mjs.

行政院公報 (Executive Yuan Gazette)

Central Election Commission announcement of the statutory voting hours

The 08:00–16:00 poll close the desk clock is built on.

Boundaries / shapefiles (2)

內政部國土測繪中心 (Ministry of the Interior, National Land Surveying and Mapping Center)

村里界圖 (TWD97) VILLAGE_MOI_1110613 · 7,953 village polygons · vintage 2022-06-13

The village boundaries dissolved into the 73 constituencies. Retrieved through the Internet Archive’s capture of the Ministry’s own download endpoint. Consumed by scripts/sim-intl/build-tw.mjs.

Internet Archive

Wayback Machine capture, 2022-07-15

The route by which the Ministry of the Interior boundary file above was obtained; its own host is no longer reachable.

Imagery (1)

Wikimedia Commons

Flag of the Republic of China

The desk flag.

Indonesia5 sources

Territory on this map

Papua is the only part of Indonesia's map that raises a territorial question, and the answer measured on the shipped file is that nothing is amiss: the eastern edge is 141.019° E, the border with Papua New Guinea, exactly where it belongs, and no geometry falls outside internationally recognised Indonesian territory. The 84 dapil drawn here are the KPU's own.

Indonesian sovereignty over Papua is recognised internationally. It followed the 1969 Act of Free Choice, a consultation of 1,025 selected representatives whose conduct remains disputed, of which the UN General Assembly took note in resolution 2504 (1969). Papuan independence is claimed by a movement within the territory rather than by another state. The one real complication in the region on this map is administrative vintage, not sovereignty: Papua was split into new provinces in 2022, after the boundary set this desk is built from, which is why six dapil there carry no previous-winner label — a prior winner is a claim about a place, and those places changed.

Results and vote data (3)

Komisi Pemilihan Umum (KPU — General Elections Commission)

Keputusan 360/2024, 1204/2024 and 1205/2024 · per dapil and per province

The 2024 record: every party’s vote in each of the 84 dapil, the official Sainte-Laguë working that turned those votes into 580 seats, the determination of the 4% national threshold, and the presidential result in all 38 provinces and among voters abroad (consumed by scripts/sim-intl/build-id.mjs).

Komisi Pemilihan Umum (KPU)

Keputusan 1316/2019 and 1317/2019 · the 2019 threshold and seat tables

The 2019 national valid vote behind that year’s 4% bar, and the per-dapil votes and seats of the nine parties that cleared it — which is how Kalimantan Selatan I and II are reconstructed, the two dapil whose recapitulation forms KPU never published (consumed by scripts/sim-intl/build-id.mjs).

Komisi Pemilihan Umum (KPU) — Open Data KPU

Model DD1-DPR forms 2019 · seat allocation, elected members and turnout 2019

The 2019 election in full: 78 dapil recapitulation forms broken down by kabupaten/kota, the official seats-per-party-per-dapil table the 575-seat golden is pinned to, the elected-member list, and the turnout dataset that supplies each dapil’s valid vote (consumed by scripts/sim-intl/build-id.mjs).

Boundaries / shapefiles (2)

Badan Pusat Statistik (BPS — Statistics Indonesia)

kabupaten/kota boundaries · via the OCHA Common Operational Dataset

The 514 regency and city polygons every dapil is built from. Indonesia publishes no dapil geometry of its own — a dapil is defined as a set of whole kabupaten/kota — so the districts are dissolved from this layer, once per boundary era.

Komisi Pemilihan Umum (KPU)

Peraturan KPU 6/2023 Lampiran I · and Open Data KPU for 2019

Which kabupaten/kota make up each dapil, and how many members each returns — the 2024 composition from the regulation itself, the 2019 composition from Open Data KPU. This is what the boundary layer is dissolved by, and the seat counts are cross-checked against the allocation decision.

Philippines11 sources

Results and vote data (9)

Commission on Elections (COMELEC) — 2022 transparency and canvass portal

2022 general election · every board of canvassers · per candidate, per party-list group and per presidential ticket · JSON

The district, party-list and presidential votes behind every contest on this desk.

COMELEC Records and Statistics Division (ERSD)

List of Elected Member, House of Representatives · 9 May 2022 · PDF

The official list of all 253 proclaimed district members, used to verify every winner.

COMELEC Records and Statistics Division (ERSD)

List of Elected Member, House of Representatives · 13 May 2019 · PDF

The 2019 winners behind every GAIN/HOLD chip, read together with the 2019NLE list below — each sheet is missing a province the other carries.

COMELEC — 2019NLE List of Elected House of Rep Candidates

13 May 2019 · with votes obtained and dates of proclamation · PDF

The second, independently laid-out record of the 2019 winners; the two agree on party and surname in every seat they share.

COMELEC National Board of Canvassers

National Tally Sheet Report No. 8 — Party-List Summary Statement of Votes · 2022

The certified national party-list vote the 63-seat allocation is run on.

COMELEC — Report to the President and the Congress on the 2022 National and Local Elections

2024 · 176 pp · PDF

The House size, the winning party-list groups and their seats, and the count timeline.

Commission on Elections (COMELEC) — 2025 election results portal

12 May 2025 midterm · every provincial and city/municipal certificate of canvass and the National Board of Canvassers’ own certificate · per candidate and per party-list group · JSON

The 254 district results and the certified 41.95-million party-list vote behind the 2025 night (consumed by scripts/sim-intl/build-ph.mjs and the staging derive step).

COMELEC Election Records and Statistics Department (ERSD)

Number of Seats to be Voted (20 Dec 2024) · Number of Registered Voters by city/municipality/district (EBAD, 23 Jan 2025) · PDF/XLSX

The 254 + 63 seats of 2025, the district counts per region, and the voter rolls that prove which district six unpublished canvass units belong to (scripts/derive-2025.mjs).

COMELEC — Certified Lists of Candidates, District (Member, House of Representatives), 12 May 2025

per province/city · PDF

The full party names behind the abbreviations the 2025 ballot prints (transcribed into scripts/sim-intl/build-ph.mjs).

Boundaries / shapefiles (1)

OCHA, with the National Mapping and Resource Information Authority (NAMRIA) and the Philippine Statistics Authority (PSA)

COD-AB Philippines v03 · 1,642 municipalities and 42,048 barangays · WGS84

The municipality and barangay units dissolved into the 254 legislative districts of 2025 and the 253 of 2022, and the latter dissolved again into the 113 canvass units of the presidential map.

The model (1)

Supreme Court of the Philippines — BANAT v. COMELEC, G.R. No. 179271

21 April 2009 · construing Republic Act 7941 s.11

The party-list allocation this desk implements: the 2% guaranteed seat, the two-step second round and the three-seat cap.

Norway7 sources

Results and vote data (2)

Valgdirektoratet (Norwegian Directorate of Elections)

Stortingsvalget 2017 · 2021 · 2025 · per party, per valgdistrikt and per kommune

Every vote on this desk, from the election service’s own result files: the national and per-valgdistrikt files each cycle is built from, and the 357 per-kommune files that carry each municipality’s registered electors. The feed also publishes which kommuner make up each valgdistrikt, which is what the map is dissolved on, so boundary and count cannot disagree (read by compute(), districtsFor() and buildCities() in scripts/sim-intl/build-no.mjs).

valgloven (LOV-2023-06-16-62), via Lovdata

§ 9-1 · § 10-8 · § 21-8 · the election-night clock

One national close at 21:00, nothing published before it, and the advance ballots already counted when it comes — which is why a Norwegian night opens with an enormous first batch: 36% of the vote in 2017 and 63% in 2025. That opening batch is each valgdistrikt’s real advance share off the feed; everything after it is sampled rather than recorded, because Valgdirektoratet publishes no per-valgdistrikt completion times (the close and dropsFor() in build-no.mjs).

Seats and seat allocation (1)

Valgdirektoratet (Norwegian Directorate of Elections)

150 distriktsmandater + 19 utjevningsmandater · per party, per valgdistrikt

The same files publish the seat split itself and separate each valgdistrikt’s one leveling seat from the ones it fills outright — so the desk’s two-tier allocation is checked against the authority’s own record in all 19 districts and again nationally, and the build exits non-zero on any mismatch (compute() in build-no.mjs).

Boundaries / shapefiles (4)

Kartverket (Norwegian Mapping Authority)

kommuneinfo · 357 kommune polygons · EPSG:4258

The municipal geometry the 19 valgdistrikter are dissolved from, with Kartverket’s own register of the 357 kommuner as the check that the join to the election feed is exact. Kartverket publishes 15 counties today against 19 electoral districts, which is why the build works a level below them (the geometry block of build-no.mjs).

Natural Earth

10m · admin-0 countries · public domain

The clip that gives Norway back its coastline. The administrative boundary runs out to sea, so dissolved up it fills every fjord and sound and the country renders as a featureless slug until it is clipped to land (the mapshaper clip step in build-no.mjs).

Kartverket — Sentralt stedsnavnregister

place names · navneobjekttype By · representasjonspunkt

The reference cities on the basemap — one per valgdistrikt, so the map is labelled the length of the country rather than only where the electorate is. Points are the register’s own representation points, and the figure beside each is that kommune’s registered electors, which ranks and sizes a label and nothing else (cityRegister() and buildCities() in build-no.mjs).

Statistisk sentralbyrå (Statistics Norway)

Klass 106 · Standard for landsdelsinndeling · pre-2018 vintage

The board’s regional grouping, read at the vintage whose 19 fylker are exactly the 19 valgdistrikter — a published national standard rather than an invented grouping, and the build fails if any district does not join it (the REGION block of build-no.mjs).

Denmark9 sources

Results and vote data (3)

Danmarks Statistik

Folketingsvalg 2026 · 2022 · 2019 · 2015 · per storkreds, per party · fintællingsresultat

The official valgopgørelse, which Danmarks Statistik performs on the ministry’s behalf. Every party’s vote in each of the ten storkredse and three landsdele at four elections, with the valid-vote, electorate and turnout figures each count is paced against (build-dk.mjs, resultPage()). The 2026 figures are cross-checked one by one against the same authority’s statistics bank, table FV26TOT.

Danmarks Statistik

Valgdag-feed · 92 opstillingskredse · reporting times and batch sizes

The recorded election night. Every storkreds’ reporting curve is built from the minute each of the 92 opstillingskredse inside it finished its election-night count, weighted by the votes that opstillingskreds reported — so the shape of the count is the authority’s record, not a modelled ramp (build-dk.mjs, nightCurves()). København did not finish until 01:55 in 2022 and 00:12 in 2026; Bornholm, which has two opstillingskredse, was done by 22:18.

Rigsombudsmanden på Færøerne · Rigsombudsmanden i Grønland

Folketingsvalget på Færøerne / i Grønland · 2026 · 2022 · 2019 · 2015

The other four members of the Folketing. The Faroe Islands and Greenland elect two each on the same day under lov om folketingsvalg på Færøerne and lov om folketingsvalg i Grønland, counted by their own returning officers and reported to Copenhagen by the Rigsombudsmand of each territory — whose report Danmarks Statistik publishes alongside its own opgørelse, which covers only the Danish 175. The build re-runs each territory’s two-seat d’Hondt and fails unless it seats the members the report names (build-dk.mjs, checkNorthAtlantic()).

Seats and seat allocation (3)

Danmarks Statistik

Opgørelse af folketingsvalget · fordelingen af mandater

The reports that seated the Folketing: kreds- and tillægsmandater per party per storkreds, the § 77 qualification test with the 2 pct. line in votes, and the valgkvotient to eleven decimals. The build re-runs the whole allocation and fails if it does not land on these tables, and the desk’s goldens are pinned to them (build-dk.mjs, seatTable()).

Indenrigs- og Sundhedsministeriet

Bekendtgørelse nr. 526 af 22. maj 2025 · kreds- og tillægsmandaters stedlige fordeling

The five-yearly apportionment of the 135 kredsmandater over the storkredse and the 40 tillægsmandater over the landsdele, with the calculation behind it — and the previous election’s figures beside it, which is why each night is fought on its own apportionment rather than the newest (build-dk.mjs, apportionment()). The ministry publishes the note only for the two most recent elections; 2019 and 2015 take their apportionment from Danmarks Statistik’s own seat grid instead, cross-checked against its HTML result pages.

Folketingsvalgloven (LBK nr. 1137 af 22/09/2025)

§§ 10, 46, 76–79 · retsinformation.dk

The statute the desk implements: d’Hondt inside each storkreds, the three-limb test for the leveling seats, and § 77, stk. 4 — the re-run when a party wins more district seats than its national vote earns, which happened in 2022 and is why Venstre sat on 23 seats rather than 24.

Boundaries / shapefiles (2)

Styrelsen for Dataforsyning og Infrastruktur

DAGI · storkredse · WGS84

The authority’s own storkreds boundaries, served through Danmarks Adressers Web API. Each shape carries its number, name and landsdel, so the map, the desk codes and the regional grouping all come out of the same file. The ten storkredse have not moved since 1 January 2007, so one map serves all four nights.

Natural Earth

10m admin-0 · Faroe Islands and Greenland · public domain

The two inset maps. Denmark’s own boundary authority does not draw the Faroe Islands or Greenland — they are not Danish administrative units — so their outlines come from Natural Earth, whose polygons are land, with nothing to clip (build-dk.mjs, the geometry block).

Imagery (1)

Styrelsen for Dataforsyning og Infrastruktur · Danmarks Statistik

Danske Stednavne (coordinates) · urban-area population statistics

The basemap’s town layer. Coordinates from the national place-name register, populations from the urban-area statistics, joined on name and municipality code — name alone picks the wrong Vejle and the wrong Holbæk, both of which have a namesake village elsewhere in Denmark.

Finland5 sources

Results and vote data (1)

Oikeusministeriö (Ministry of Justice) — Tieto- ja tulospalvelu

Eduskuntavaalit 2019 + 2023 · confirmed count · per list, per vaalipiiri

The election information system’s own transfer files: one row per list in each constituency, carrying its advance and election-day votes, the seats it won and the electoral alliance it stood in, and one row per constituency carrying the electorate, the magnitude the Government fixed before the election, and the valid and invalid ballots. Every constituency’s list votes are reconciled against the ministry’s own published valid vote, and its list seats against the published magnitude, before a single number is used (lists() and areas() in scripts/sim-intl/build-fi.mjs).

Seats and seat allocation (1)

Tilastokeskus / Statistics Finland

StatFin evaa · tables 13t4, 13tj and 13sw · json-stat2

A second authority, counted independently: 13t4 counts the same 200 members off Statistics Finland’s own register and the build fails if the two authorities disagree on any party or on the remainder, and 13tj confirms the 2023 electoral-alliance structure — the one part of Finnish seat arithmetic that the votes alone do not show. 13sw supplies each constituency’s largest party in 2015, the notional previous winner the 2019 board opens on; none of the three is used for vote arithmetic (the cross-check blocks and prev2019 in build-fi.mjs).

The model (1)

Vaalilaki 714/1998 (Election Act), via Finlex

§ 68 · § 86 · § 89 · § 90 · d’Hondt over lists, no threshold anywhere

The allocation is implemented from the statute rather than from a description of it — the comparative index of § 89 is d’Hondt over lists, an alliance counts as one list for the divisors, and no threshold appears in the Act at all. Two things the desk cannot reproduce are named rather than hidden: § 89 shares an alliance’s seats out by its candidates’ personal votes, which a simulator has no candidates to re-rank, so that step is approximated by the same d’Hondt over the member parties’ own list votes (it reproduces every alliance seat in both cycles exactly), and § 90 breaks an exact tie by lot, so ties break on raw votes then party key instead. § 68 fixes the 20:00 close and § 86 releases the advance vote — over half the ballots — as one real batch at that moment; the declaration curve after it is sampled, since the official record publishes the finished count and not per-constituency completion times (dhondt(), allocate() and dropsFor() in build-fi.mjs).

Boundaries / shapefiles (2)

Tilastokeskus / Statistics Finland

vaalipiiri1000k · 2019 and 2023 vintages · WFS · EPSG:4326

The 13 constituencies, one map per election — four municipalities moved constituency between the two cycles, so 2019 plays on its own boundaries. The desk shows the authority’s own English constituency names, because Finland is officially bilingual and picking the Finnish or the Swedish form would itself be a position (readVp() and the geometry step of build-fi.mjs).

Tilastokeskus / Statistics Finland

kunta_vaki2024 · municipality polygons with published population

The twenty reference dots on the basemap. Each is the municipality’s centroid rather than the town centre, so for the large northern and eastern municipalities the dot sits inland of the built-up area; it is a decorative layer, and the alternative would be coordinates typed from memory (the cities block of build-fi.mjs).

Iceland7 sources

Results and vote data (2)

Hagstofa Íslands (Statistics Iceland)

Úrslit alþingiskosninga eftir kjördæmi · 2024 and 2021 · PxWeb

The valid votes every list took in each of the six kjördæmi, which is what both tiers of the allocation are run over (results() in scripts/sim-intl/build-is.mjs).

Hagstofa Íslands (Statistics Iceland)

ballots cast, valid, blank and void 2003–2024 · electors on the roll 2013–2024

The turnout each cycle’s copy quotes, and the check that the votes in the results table really are the ones the ballot table reports — a cycle that failed it would be built on a different count (BALLOTS and ELECTORS in build-is.mjs).

Seats and seat allocation (2)

Hagstofa Íslands (Statistics Iceland)

Þingmenn kjörnir í alþingiskosningum · 30 November 2024 and 25 September 2021

The record this build is checked against, member by member: each one carries the útkomutala they were returned on under 109. gr., or the landstala and hlutfallstala under 110. gr., so the table is the allocation itself rather than a total to be decomposed. Where it disagrees with the results table’s own seat column — two cells in 2021 — this table wins, because it shows its working (officialAllocation() in build-is.mjs).

Hagstofa Íslands (Statistics Iceland)

Úthlutun þingsæta 2003–2024 · kjördæmissæti and jöfnunarsæti per kjördæmi

How the 63 seats were split between the six kjördæmi in each cycle, read per election rather than authored from the current statute — landskjörstjórn may move constituency seats between kjördæmi after any election, and did before 2024 (UTHLUTUN in build-is.mjs).

The model (1)

Kosningalög nr. 112/2021, via Alþingi

7., 9., 10., 91., 98., 109. and 110. gr. · as amended by L. 18/2022 and L. 62/2023

Every structural decision on this desk traces to an article: the six kjördæmi, the 54 + 9 split and each kjördæmi’s leveling quota, d’Hondt with no threshold inside a constituency, and the 5% national bar with the landstala and hlutfallstala interleave that decides both which party takes each leveling seat and which kjördæmi it is seated in. 98. gr. forbids any count before 22:00, which is the one real thing about the night — all six kjördæmi start together; the declaration curve after that is modelled, because neither landskjörstjórn nor Hagstofa publishes per-kjördæmi completion times (dhondt(), leveling() and DROPS in build-is.mjs).

Boundaries / shapefiles (2)

Alþingi, published through Landmælingar Íslands

Kjördæmamörk á Íslandi · WFS · the 2024-11-30 and 2021-08-25 layers

The six kjördæmi, one map per election. The layer names are parliamentary terms rather than polling days, so which layer belongs to which cycle is settled by the landskjörstjórn advertisement in Stjórnartíðindi that each layer cites as the source of its Reykjavík line — and only that Reykjavík line moved between the two (buildGeo() in build-is.mjs).

Hagstofa Íslands (Statistics Iceland)

Þéttbýlisstaðir 2020–2024 · 97 urban localities with their 2020 population

The reference dots on the basemap, taken as each locality’s area-weighted centroid. The capital is one point, Stór-Reykjavík, because that is how the authority draws it — its urban-locality file treats the whole continuous built-up area as a single locality, and splitting it into municipal labels would mean inventing points the source does not carry (cities() in build-is.mjs).

Austria6 sources

Results and vote data (1)

Bundesministerium für Inneres (Federal Ministry of the Interior)

Nationalratswahl 2019 + 2024 · endgültiges Gesamtergebnis · per Regionalwahlkreis, Landeswahlkreis and Gemeinde

Every vote on this desk, from the ministry’s own final-result workbook. Its rows are a hierarchy rather than a list — postal-vote rows and every Gemeinde sit alongside the 39 Regionalwahlkreise and 9 Landeswahlkreise — so the build reconciles instead of counting them: the 39 Regionalwahlkreise must sum to Austria exactly, per party and in total (buildCycle() and readCsv() in scripts/sim-intl/build-at.mjs).

Seats and seat allocation (2)

Bundeswahlbehörde (Federal Electoral Authority)

endgültiger Mandatsspiegel 2019 + 2024 · all three Ermittlungsverfahren

The official record of who was seated and in which round, and the golden the whole desk is validated against: all 39 Regionalwahlkreise of the first procedure, all nine Länder of the second, the federal third procedure and the totals, seat for seat in both cycles (checkMandatsspiegel() in build-at.mjs).

BGBl. II Nr. 53/2017 and BGBl. II Nr. 180/2023, via RIS

Kundmachungen des BMI gemäß § 5 NRWO · seats per Wahlkreis

How many of the 183 seats fall to each Landeswahlkreis and Regionalwahlkreis. The apportionment is a Kundmachung, not a constant, and it moved between the two cycles — Kärnten 13 to 12, Tirol 15 to 16 — so each cycle carries its own, and the build asserts both sets sum to 183 rather than trusting the transcription (APPORTION in build-at.mjs).

The model (1)

Nationalrats-Wahlordnung 1992, consolidated text via RIS

§§ 96, 97, 100(1), 101, 107 · three Ermittlungsverfahren

The three-round allocation is implemented from the statute: the Wahlzahl of each Landeswahlkreis, the Regionalwahlkreis round it divides out, the admission test a party passes on one Regionalwahlkreis seat or 4% nationwide — an alternative route past the bar, not a supplement to it — the Land top-up, and the federal d’Hondt that fixes each party’s total. Two readings the data does not settle are stated rather than buried: § 96(7) is ambiguous for an exact integer and is read as a ceiling, and the Act fixes no national closing hour at all — § 59 leaves the hours to each Gemeinde — so the desk’s 17:00 start is editorial and carries no seat consequence. The declaration curve is sampled, since the ministry publishes no per-Regionalwahlkreis completion times and the postal ballots are counted over the following days (wahlzahl(), dhondt(), allocate() and DROPS in build-at.mjs).

Boundaries / shapefiles (2)

Statistik Austria

OGD layer STATISTIK_AUSTRIA_RWK · 2019-01-01 and 2024-01-01 vintages · 39 polygons · EPSG:31287

The 39 Regionalwahlkreise the map draws, one vintage per cycle, reprojected from MGI/Austria Lambert to WGS84. The source EPSG is named outright in the build so a future change to the shapefile’s projection file cannot silently move the country (buildGeo() in build-at.mjs).

Natural Earth

10m populated places · Austrian rows · public domain

The nine reference cities on the basemap, with Vienna shown under its own name (cities() in build-at.mjs).

Czechia5 sources

Results and vote data (2)

Český statistický úřad (Czech Statistical Office)

Poslanecká sněmovna 2021 and 2025 · national and per-kraj result documents · XML

Every vote on the desk: each list’s vote in all fourteen volební kraje, the valid vote and turnout each kraj recorded, and the national totals the 5/8/11 per cent bar is measured against. The party rows are reconciled against the office’s own published valid vote, and the fourteen kraje against the country, before anything is modelled — a bookkeeping row slipping into that denominator would move a coalition a whole rung (readXml() and buildCycle() in scripts/sim-intl/build-cz.mjs).

Český statistický úřad (Czech Statistical Office)

registered lists + elected members · psrkl, psrk · both cycles · with the psvolkr and cnumnuts codebooks

The registers published beside each result. POCSTRVKO — how many parties stand in a list — is what sets each list’s rung on the coalition ladder, so the desk never infers a coalition from a name, and VSTRANA is the office’s own stable party code, which is what lets 2021 and 2025 share one party key. The elected-member register flags which scrutinium seated each deputy, and that is the record the first scrutinium is checked against kraj by kraj; the two codebooks carry the volební kraj to NUTS 3 mapping that names the regions and joins the map (buildCycle() and check() in scripts/sim-intl/build-cz.mjs).

The seat formula (1)

Zákon č. 247/1995 Sb., o volbách do Parlamentu České republiky

consolidated text · §§ 48–51 · the two scrutinia and the 5/8/11 coalition ladder

The allocation is implemented from the statute rather than from a secondary description, because a kraj’s seat count here is an output of the night: § 48 derives each kraj’s magnitude from its own turnout, § 50 fills it on a Hagenbach-Bischoff quota, and § 51 sweeps every seat that quota could not place into a single national second scrutinium — one seat of 200 in 2021, twelve in 2025 (allocate() in scripts/sim-intl/build-cz.mjs, mirrored by the composer in assets/simulator/sim-desk-cz.js).

Boundaries / shapefiles (2)

Český úřad zeměměřický a katastrální (ČÚZK)

RÚIAN · hranice územních jednotek · VUSC_P · 14 polygons · EPSG:5514

The fourteen kraje the map draws, reprojected from S-JTSK/Krovák to WGS84 and joined to the result on the NUTS 3 code the layer itself carries, so no name matching is involved (buildGeo() in scripts/sim-intl/build-cz.mjs).

Natural Earth

10m populated places · 12 Czech rows · public domain

The reference cities on the basemap layer, renamed to the endonyms the statistical office’s own kraj table uses — Natural Earth prints English exonyms and one corrupted spelling.

Slovakia6 sources

Results and vote data (2)

Štatistický úrad Slovenskej republiky (Statistical Office of the Slovak Republic)

Národná rada 2020 and 2023 · national, per-okres and per-subject tables · open data CSV

Every vote on the desk: each registered subject’s vote in all 79 okresy and nationally, with the electorate and turnout each unit recorded. The eightieth reporting unit is Cudzina, the ballots cast abroad — 57,856 of them in 2023 — a real unit with real votes and no drawable ground, so it stays inside the national denominator the bar is measured against and appears as an off-map chip rather than on the map itself. The build asserts that the 79 okresy plus that row sum to the office’s own national total before anything is modelled (buildCycle() in scripts/sim-intl/build-sk.mjs).

Štatistický úrad SR — Metodický pokyn for NR SR 2023

polling stations open at 7.00 and stay open until 22.00

The 22:00 close the desk clock starts the night on; nothing may be published before it.

Seats and seat allocation (1)

Štatistický úrad Slovenskej republiky

Pridelenie mandátov politickým subjektom · the advancing subjects, the republikové volebné číslo and every party’s seats · both cycles

The office’s own seat-allocation worksheet — what the desk’s goldens are pinned to, and the check its one reading rests on. Slovakia publishes no register of which lists are coalitions: the note column is empty for every subject and the Ministry of the Interior’s list of registered kandidátne listiny is flat. So the member count is read off the registered name, which the authority does publish, and the advancing set that reading produces is then asserted against this worksheet in both cycles. It decides one thing and it is not a formality: a two-party list polling 6.9679 per cent in 2020 faced 7 per cent and took no seats at all (coalitionSize() and buildCycle() in scripts/sim-intl/build-sk.mjs).

The seat formula (1)

Zákon č. 180/2014 Z. z. o podmienkach výkonu volebného práva

consolidated to 2023-06-04 · §§ 66–68 · the copy the Štatistický úrad published with the 2023 result

Implemented from the statute itself: the bar of 5 per cent for a party, 7 for a coalition of two or three and 10 for a larger one, and § 68’s republikové volebné číslo — the advancing lists’ votes divided by 151 and rounded, which is neither a Hare nor a Droop quota and is written out longhand for exactly that reason (allocate() in scripts/sim-intl/build-sk.mjs, mirrored by the composer in assets/simulator/sim-desk-sk.js). Slovakia is one constituency, so all 150 seats are shared out once and no okres has a seat of its own to give.

Boundaries / shapefiles (2)

Úrad geodézie, kartografie a katastra SR / Geodetický a kartografický ústav Bratislava

ZBGIS · Územné a správne usporiadanie SR · okres_0 · 79 polygons · EPSG:5514

The 79 okresy the map draws, reprojected from S-JTSK/Krovák to WGS84. The layer’s IDN3 is the statistical office’s own district code, so the map joins to the result on a number rather than on a name and no diacritic can break it (buildGeo() in scripts/sim-intl/build-sk.mjs).

Natural Earth

10m populated places · 7 Slovak rows · public domain

The reference cities on the basemap layer.

Hungary8 sources

Results and vote data (4)

Nemzeti Választási Iroda (National Election Office)

Országgyűlés 2022 and 2026 · all 106 constituency protocols · per candidate, with the candidate and constituency registers

Every constituency vote on the desk: each candidate, the organisation that nominated them, the votes they took and the valid vote and turnout each seat recorded. The build asserts that the candidate rows sum to the office’s own valid vote in all 106 seats before anything is modelled (buildCycle() in scripts/sim-intl/build-hu.mjs).

Nemzeti Választási Iroda (National Election Office)

national list protocol + list register · party and nationality lists · the bar in per cent the office applied to each list

The 93-seat list tier: every list’s national vote, split into the party-list and nationality-list totals the office publishes separately, and the 5/10/15 rung it applied to each list — read off the authority rather than inferred from a list’s name. Per-constituency list votes are not published anywhere in this feed — only this one national table — so the desk’s constituency-level list vote is modelled rather than recorded: it is authored nationally from these certified totals and moved by the drawn swing in the constituency ballot (listVote() in assets/simulator/sim-desk-hu.js). At a full count with the dials at zero it is exactly this table, which is what the golden pins; everything else on the desk — the fragments, the quota, the allocation — is computed.

Nemzeti Választási Iroda (National Election Office)

2018 result per constituency · 2022 cycle only

The previous winner the 2022 board measures each gain and hold against, from the office’s own 2018 figures on the same 106 constituencies. The 2026 cycle deliberately carries none: the map was redrawn, only 69 of the 106 codes cover the same ground, and the office’s previous-result field is keyed by constituency number — so carrying it would silently transplant 37 results across a boundary change, and that board says WIN instead (scripts/sim-intl/build-hu.mjs).

2013. évi XXXVI. törvény a választási eljárásról

§ 169 · polls open at 6.00 and close at 19.00

The 19:00 close the desk clock starts the night on.

Seats and seat allocation (1)

Nemzeti Választási Iroda (National Election Office)

the d’Hondt worksheet, the threshold sheet and the final seat distribution · both cycles

The office’s own allocation worksheets, and what every golden on this desk is pinned to: the d’Hondt input row party by party — list votes plus töredékszavazat, which is the check that proves the fragment arithmetic including the winner’s surplus over the runner-up — the kedvezményes quota, the list seats left after any preferential seat, and the final 199-member chamber. All four are asserted line by line at build time (buildCycle() in scripts/sim-intl/build-hu.mjs).

The seat formula (1)

2011. évi CCIII. törvény az országgyűlési képviselők választásáról

consolidated text · §§ 14–18 · the fragment vote and the list allocation

Implemented from the statute rather than from a secondary description, because the töredékszavazat is what makes this system its own shape: § 15 carries every losing candidate’s votes into the list tier and the winner’s votes minus the runner-up’s plus one with them, § 14 sets the bar on all valid list votes at 5, 10 or 15 per cent, § 16 builds the kedvezményes quota and runs d’Hondt over the qualifying lists, and § 18 makes a nationality spokesperson not a member — so the chamber is 199 either way (allocate() in scripts/sim-intl/build-hu.mjs, mirrored by the composer in assets/simulator/sim-desk-hu.js).

Boundaries / shapefiles (2)

Nemzeti Választási Iroda (National Election Office)

106 constituency outlines · one set per boundary vintage · 2022 and 2026

The constituency outlines both maps draw, published by the office with the results themselves, which is why each cycle plays on the boundaries it was actually fought on. The feed is not GeoJSON — each constituency is one flat lat-lon string with no ring delimiter and, in 70 of 106 cases, no closing point — so the parse is checked by area: the 106 polygons cover 92,995 km² against Hungary’s 93,030 (buildGeo() in scripts/sim-intl/build-hu.mjs).

Natural Earth

10m populated places · 20 Hungarian rows · public domain

The reference cities on the basemap layer.

Greece5 sources

Results and vote data (2)

Υπουργείο Εσωτερικών (Ministry of Interior)

Parliamentary elections 2019, May 2023 and June 2023 · per constituency and per party

Every party’s vote in each of the 59 constituencies and in the overseas unit, with the ministry’s own official seat columns — constituency seats and State Deputies — which the desk reconciles its allocation against rather than recalling it (read by scripts/sim-intl/build-gr.mjs lines 287, 294–295).

Υπουργείο Εσωτερικών — English results application

Party and constituency names, short names and colours

The ministry publishes its own English-language party and constituency names, and its own party colours; both are taken verbatim rather than transliterated by us (read by scripts/sim-intl/build-gr.mjs lines 153, 288, 384–387).

Boundaries / shapefiles (2)

Υπουργείο Εσωτερικών

59 electoral constituencies · the 1 January 1985 administrative boundaries

Greece publishes no separate constituency shapefile, so the desk uses the ministry’s own constituency map, shipped with its results application and recovered to WGS84 (read by scripts/sim-intl/build-gr.mjs line 79). Athens A′ is the municipality of Athens alone and Piraeus A′ reaches to Antikythera, so no administrative layer dissolves to these units.

Eurostat — GISCO

NUTS 2010 level 3 · validation only, not shipped

The European Commission’s geographic service, whose NUTS 2010 level-3 geometry is the 51 Greek nomoi. Used once to fit and check the transform that recovers the ministry’s map to WGS84 — median centroid residual 0.05° over the 49 constituencies that are whole nomoi — and not distributed with the desk.

The seat formula (1)

Εθνικό Τυπογραφείο (National Printing House)

ΦΕΚ Α΄ 57/2012 · 133/2016 · 133/2018 · 225/2018 · 205/2019 · 15/2020 · 16/2023

The Government Gazette, from which the desk takes the majority premium’s schedule, the 3% threshold and its denominator, the split between constituency seats and State Deputies, and the seats of each constituency. These three elections ran under three different laws, because Article 54 of the Constitution delays an electoral law to the election after next.

Romania7 sources

Results and vote data (5)

Biroul Electoral Central (Central Electoral Bureau)

Camera Deputaților 2024 and 2020 · Anexa 22, the final protocols

The official record of each election: the centralisation of votes, the two-stage allocation constituency by constituency, the list of elected deputies, and the determination of the national-minority seats. Every seat total the desk claims is read from these documents — including the finding that NINETEEN organisations took a reserved seat in 2024, not the eighteen usually quoted, and eighteen in 2020, when lower turnout put the bar at 797 votes rather than 1,269 (read at scripts/sim-intl/build-ro.mjs:180).

Biroul Electoral Central (Central Electoral Bureau)

Camera Deputaților 2024 and 2020 · Anexa 13, the electoral threshold

The bureau’s own determination of the 5 / 8 / 9 / 10 per cent thresholds and of the valid vote in each of the 43 constituencies. The desk reproduces all four published figures for both elections exactly rather than recomputing a bar of its own — and it is where the 2020 record shows the USR–PLUS list standing as an alliance of two, which faced 8 per cent rather than 5 (read at scripts/sim-intl/build-ro.mjs:181).

Autoritatea Electorală Permanentă (Permanent Electoral Authority)

Per-constituency ballot accounting, per-list votes and the registers

The vote tables behind every candidate row on the board, the valid-vote totals that weight each constituency in the national vote, and the registers of constituencies, host countries and polling stations abroad — which are what establish that the last stations closed on the American Pacific coast. The 2024 tables are the authority’s JSON feed; 2020 is published only as a national per-constituency CSV, and that is what the desk reads (read at scripts/sim-intl/build-ro.mjs:278 and :329).

Autoritatea Electorală Permanentă (Permanent Electoral Authority)

Presidential elections · 24 November 2024 and 4 + 18 May 2025

The centralised counts for the first round that was later annulled and for both rounds of the re-run, each reconciled at build time against that round’s own national ballot accounting — 9,242,186 valid votes in November 2024, then 9,430,274 and 11,507,695 in May 2025. This feed publishes no party affiliation for a presidential candidate, so the desk asserts none: each candidate is their own entry, and the colours are editorial (read at scripts/sim-intl/build-ro.mjs:728).

Curtea Constituţională a României (Constitutional Court)

Hotărârea nr. 32 of 6 December 2024 · the annulment

Two days before the scheduled runoff, the Court annulled the whole presidential election and ordered it re-run from the start. The desk replays the first round as what it was and states the outcome; it does not model a second round that was never held, and its board never reports anyone elected on that night.

Boundaries / shapefiles (1)

European Commission — Eurostat/GISCO

NUTS 2024 · level 3 (the 41 județe and Municipiul București), level 2 for the regions

GISCO is the Commission’s own geospatial service and its NUTS layer is assembled from member-state submissions, so this geometry originates with the Romanian mapping authority but was fetched from Eurostat — it is not an ANCPI download, and ANCPI’s own geoportal did not resolve at all. Romania’s NUTS 3 units ARE its 42 territorial constituencies, so nothing is dissolved, and the județe have not changed since 1998, so one boundary era covers every night here; the 43rd constituency, for citizens abroad, has no territory to draw (read at scripts/sim-intl/build-ro.mjs:527 and projected at :974).

Imagery (1)

Natural Earth

10m populated places · the board’s basemap reference points

Decoration rather than election data: the twenty-two reference cities, with their coordinates and populations. Four names carry Natural Earth’s anglicised or unaccented form and are replaced with the spelling the Permanent Electoral Authority itself uses in its register of administrative-territorial units (staged as geo/ro_places.json, authored into the bundle by scripts/sim-intl/build-ro.mjs).

Bulgaria3 sources

Results and vote data (2)

Централна избирателна комисия (Central Election Commission)

Narodno sabranie, 19 April 2026 + 27 October 2024 + 2 April 2023 · per section, per list

The machine-readable export adopted by ЦИК decision — every list’s vote in each of the 12,900-odd section protocols, aggregated to the 31 constituencies, plus the protocol turnout the night is paced against (consumed by readCycle() in scripts/sim-intl/build-bg.mjs). The 19 April 2026 election — the eighth in five years — is read the same way from the export’s «Актуализирана база данни», with the 2026 section register asserted at build time to compose every МИР as 2024’s did.

Централна избирателна комисия — published results tables

National and per-constituency mandate tables

The official seat allocation the build script reconciles its own computation against, cell by cell, before writing the bundle — 31 constituencies in both cycles, zero differences (consumed by buildCycle() in scripts/sim-intl/build-bg.mjs).

The model (1)

Изборен кодекс, Приложение № 1 към чл. 248, ал. 1

Методика за определяне на резултатите от гласуването

The statutory three-step methodology this desk implements: a national Hare-Niemeyer allocation over a 4% bar measured on the votes cast for candidate lists, a preliminary allocation inside each constituency, and the redistribution that reconciles the two (consumed by districtSeats() in scripts/sim-intl/build-bg.mjs and in sim-desk-bg.js).

Croatia9 sources

Results and vote data (3)

Državno izborno povjerenstvo Republike Hrvatske (State Electoral Commission)

Hrvatski sabor 2016, 2020 and 2024 · per constituency, per list and per candidate

Every list’s vote in each of the twelve constituencies, from the commission’s own election archive. ⚠️ Two formats, because the archive’s JSON API only goes back to 2020: 2015 and 2016 are read from its CSV, 2020 and 2024 from its JSON (consumed by listContest() and minorityContest() in scripts/sim-intl/build-hr.mjs).

Državno izborno povjerenstvo Republike Hrvatske — final-result decisions

KONAČNI REZULTATI · one signed decision per constituency, per cycle

The official seat allocation and the members elected, read out of the commission’s own published decisions rather than a secondary report — section IV for the territorial and out-of-country constituencies, section III for the six national-minority contests. Sixty-eight decisions across four elections: 2015’s are read too, because that is the parliament the 2016 night’s GAIN/HOLD chips and prevSeats are measured against (consumed by leadersOnOwnMap() and buildCycle() in scripts/sim-intl/build-hr.mjs, via extract_official.py).

Državno izborno povjerenstvo Republike Hrvatske — polling-station open data

Hrvatski sabor 2015, 2016, 2020 and 2024 · every polling station, with its county, municipality and — in Zagreb — its mjesni odbor

Which grad, općina or Zagreb mjesni odbor sits in which constituency is derived from the commission’s own polling-station results, so the map cannot drift from the votes — and the 2024 notional the GAIN/HOLD chips read is re-added from the 2020 stations over the 2024 composition (consumed by membership.py and by notionalFor() in scripts/sim-intl/build-hr.mjs).

Boundaries / shapefiles (3)

Državna geodetska uprava (State Geodetic Administration)

Registar prostornih jedinica · 556 gradovi and općine · INSPIRE Administrative Units

Croatia publishes no constituency geometry of its own — a constituency is defined as a set of municipalities — so the ten are dissolved from the national register (consumed by buildGeometry() in scripts/sim-intl/build-hr.mjs).

Grad Zagreb (City of Zagreb)

Registar prostornih jedinica · the 17 gradske četvrti

The City of Zagreb is a single unit in the national register, but the constituency law splits it three ways by city district, so constituencies I, II and VI cannot be drawn without the city’s own layer (consumed by buildGeometry() in scripts/sim-intl/build-hr.mjs).

Grad Zagreb (City of Zagreb)

Registar prostornih jedinica · the 218 mjesni odbori

The constituency law of 1999 splits the City of Zagreb by mjesni odbor rather than by city district — it lists them by name — so the map the 2016 and 2020 elections were fought on cannot be drawn from the city-district layer at all. The commission’s own polling-station results name the mjesni odbor for every Zagreb station, and no mjesni odbor has ever spanned two constituencies (consumed by buildGeometry() in scripts/sim-intl/build-hr.mjs).

The seat formula (3)

Narodne novine — Zakon o izborima zastupnika u Hrvatski sabor

NN 66/15 (consolidated text), 104/15, 48/18, 98/19

The fourteen members per constituency (čl. 38), d’Hondt (čl. 40), the 5% threshold measured separately in each constituency rather than nationally (čl. 41), the three seats elected by Croatians living abroad (čl. 43–44), and the eight national-minority members elected by individual plurality (čl. 16, 17, 46).

Narodne novine — Zakon o izbornim jedinicama za izbor zastupnika u Hrvatski sabor

NN 114/23, amended NN 125/23

The constituencies redrawn for 2024 after the Constitutional Court struck down boundaries unrevised since 1999 — county by county, and for the City of Zagreb city district by city district.

Narodne novine — Zakon o izbornim jedinicama za izbor zastupnika u Zastupnički dom Hrvatskoga državnog sabora

NN 116/99 (repealed 2023)

The constituencies the 2016 and 2020 elections were fought on, unrevised for twenty-four years — county by county, and for the City of Zagreb by mjesni odbor.

Slovenia4 sources

Results and vote data (2)

Državna volilna komisija (State Election Commission)

Državni zbor 2018 + 2022 · every list, per volilna enota and per volilni okraj

The machine-readable results export DVK publishes for each election, plus its own final per-polling-station workbook. The two are reconciled against each other before the desk is built — 21 lists at national, volilna-enota and okraj level, 2,040 checks, no mismatches (consumed by scripts/sim-intl/build-si.mjs).

Uradni list Republike Slovenije (Official Gazette)

Državni zbor 2026 · Uradni list RS 197/2026, 7 April 2026

The Commission’s formal record of the 22 March 2026 count: the national vote for all seventeen lists, the votes per volilna enota for the seven that cleared the threshold, and the two national-community seats with their separate registers of voters.

The seat formula (1)

Zakon o volitvah v državni zbor (National Assembly Elections Act)

ZVDZ arts. 90, 91, 92 and 93 · as applied in Uradni list RS 197/2026

Slovenia settles every list’s national seat total first — d’Hondt over the whole chamber among lists on at least 4% of every valid vote — and the eight volilne enote only decide where those seats sit, by a Droop quota and then by relative remainder. The 2026 record states each step together with the article it applies, so the desk implements the statute as the authority itself applied it rather than as a reconstruction.

Boundaries / shapefiles (1)

Geodetska uprava Republike Slovenije (Surveying and Mapping Authority)

Register prostorskih enot · volilne enote layer · CC BY 4.0

The eight electoral districts are published by the authority directly, as their own layer in the Register of Spatial Units — no dissolving from municipalities and no approximation anywhere. That matters here: the City of Ljubljana votes in two different districts, so no union of whole municipal boundaries could have produced them. Fetched through GURS’s free-data service (JGP) and reprojected from the Slovene National Grid; catalogue record 25e80f41-8348-4759-bac1-ec56c7223509.

Cyprus8 sources

Territory on this map

This desk draws the Republic's six electoral districts at their full legal extent, which is how the Republic delimits them: Law 72/1979 gives each constituency the extent and boundaries of the administrative district of the same name. It draws where a Cypriot ballot counted, not who governs the ground.

Keryneia and most of Ammochostos. Both are under Turkish Cypriot administration and no ballot is cast on that ground. Their electors are displaced, remain registered, and vote at polling stations in the government-controlled area — Keryneia cast 18,883 valid ballots, declared first on the night, and returns 3 of the 56 members. The Ministry of Interior's own results service flags Keryneia as occupied and flags no other district, which is why the district is drawn whole and its votes are counted in full.

The board and the world map differ here on purpose. The globe and the European Parliament desk draw the island on the line of administration instead. A country desk draws its country as that country's own electoral authority delimits it; one shared sphere can carry only a single line, and it carries the recognised one. The Security Council, in resolutions 541 (1983) and 550 (1984), declared the 1983 declaration of independence legally invalid and called on states not to recognise it — that is the Security Council's position, given as such.

Two further parts of the island under neither administration. The UN Buffer Zone, and the British Sovereign Base Areas of Akrotiri and Dhekelia.

Results and vote data (5)

Republic of Cyprus, Ministry of Interior — Central Elections Service

Parliamentary election, 24 May 2026 · per district, per list, with the Service’s own seat allocation

The whole 2026 night: every list’s vote in each of the six districts, the registered electorate and turnout that pace the count, each district’s own declaration time, the 2021 comparison the board’s gains are read from — and the Service’s own allocation of all 56 seats, which is what the desk’s statutory model is checked against rather than trusted to reproduce (read at scripts/sim-intl/build-cy.mjs:55 and :456).

Republic of Cyprus, Ministry of Interior — Central Elections Service

Ballot-box results, 24 May 2026 · all 1,283 boxes, each with the time its count was published

The count curve on this desk is the published record, not a plausible shape. Cyprus counts at the ballot box, and the Service publishes every box with its own timestamp, so a district’s reporting curve is simply its boxes in the order they were declared with their valid ballots accumulated — which is why Larnaka sits at five per cent of its vote two-fifths of the way through the night and then lands three-quarters of it in one stretch. Checked on every build: no box untimed, each district’s last box equal to that district’s published declaration time, and each district’s boxes summing to its published valid ballots (read at scripts/sim-intl/build-cy.mjs:299, curve built at :321).

Republic of Cyprus, Ministry of Interior — Central Elections Service

Archive results portal · parliamentary elections of 30 May 2021 and 22 May 2016 · per district, per list

Every vote behind the two older nights, with each district’s turnout, its declaration time in 2021, and each list’s official colour. This portal publishes votes only — it has no concept of a seat anywhere in it — which is why the seat allocations for these two elections are credited to the House of Representatives below and not here. The two publications are independent and were reconciled before either was used: the portal’s district valid-ballot totals are 357,712 for 2021 and 351,389 for 2016, exactly the figures the House prints (read at scripts/sim-intl/build-cy.mjs:485).

House of Representatives of the Republic of Cyprus (Βουλή των Αντιπροσώπων)

Seat allocations, 2021 and 2016 · per party and per electoral district, with each election’s apportionment

The House keeps a page for each election setting out, in its own words, “the final consolidated results and the distribution of seats on the basis of data from the Central Elections Service” — the apportionment of the fifty-six seats district by district, the national allocation in prose, the full vote table, and every member it seated listed by party under the district that returned them. Those member lists are where this desk’s per-district seat totals for 2021 and 2016 are counted from, and they are what the golden test pins. The pages answer only to a browser, so they were taken from the Internet Archive (pinned by hand at scripts/sim-intl/build-cy.mjs:413).

Republic of Cyprus, Ministry of Interior — Central Elections Service

The lists that stood in 2026, 2021 and 2016 · names, abbreviations and official colours

Every party name on this desk is the Service’s own romanisation of the Greek rather than a translation of ours, and every party colour is the one the Service published beside that list — not an editorial palette. One exception, stated rather than hidden: the 2016 feed’s palette is a washed display set that gives EDEK and the Citizens’ Alliance the same colour, so the desk takes its colours from the 2021 and 2026 feeds wherever a list stood in those years, and the Citizens’ Alliance — which took three seats and has to read clearly next to EDEK — carries the single editorial colour on this desk (read at scripts/sim-intl/build-cy.mjs:56).

The seat formula (2)

Law 72/1979 on the Election of Members of the House of Representatives

Articles 3, 4, 28 and 32-33 and the First Schedule, as amended by Law 181(I)/2015

The seat arithmetic is the statute, not an approximation of it: article 32 shares seats out against a district quota, article 33 pools every remainder nationally behind a 3.6 per cent bar and hands what is still unplaced to lists on 7.2 per cent or more. That two-tier count was introduced by the November 2015 amendment and is the system all three elections on this desk were held under — 2016 being the first. The First Schedule fixes the fifty-six seats district by district under the heading “Number of Representatives of the Greek Community”; that apportionment moved one seat from Lefkosia to Pafos between 2021 and 2026, so each cycle carries its own. Consolidated text as published by the Pancyprian Bar Association, which is where it was actually fetched — the House of Representatives’ own site serves a browser security check (implemented at scripts/sim-intl/build-cy.mjs:169, and shipped in assets/simulator/sim-desk-cy.js).

Constitution of the Republic of Cyprus

Articles 62, 77 and 78

Article 62 fixes the number of Representatives and reserves 70 per cent to the Greek Community and 30 per cent to the Turkish Community, which is what makes this a chamber of 80 that elects 56. Articles 77 and 78 set quorum at one third and pass laws by a simple majority of those present and voting — there is no absolute-majority threshold in the Constitution at all, which is why this desk’s majority line is an editorial choice it states rather than an arithmetic one it hides.

Imagery (1)

European Commission — Eurostat/GISCO

LAU 2021 · the six districts, dissolved · and the basemap’s reference places

GISCO is the Commission’s own geospatial service and its LAU layer is assembled from member-state submissions, so this geometry originates with the Cypriot authorities but was fetched from Eurostat — it is not a Department of Lands and Surveys download. The desk’s district geometry AND its reference places: the six constituencies are dissolved from this layer on the leading digit of LAU_ID, and the basemap’s places come from the same download, joined to the Elections Service’s own community register so that every name is the Service’s spelling. The six district capitals lead that list, because a ranking by population put every point in the south — not one community in the Keryneia constituency records any 2021 population, its electors being displaced and voting in the government-controlled area — which left the district that returns three members and declared first on the night with no label anywhere inside it; Keryneia and Ammochostos are placed from this same layer’s own geometry (staged as geo/cities.json, authored into the bundle at scripts/sim-intl/build-cy.mjs:769-836).

Belgium5 sources

Results and vote data (2)

IBZ — FOD Binnenlandse Zaken / SPF Intérieur (Federal Public Service Home Affairs)

Chamber of Representatives 2024 and 2019 · every ballot list in all eleven constituencies · votes, seats, registered electors and blank ballots

Every vote and every seat on this desk, read from the authority’s own Chamber result files (consumed by readYear() in scripts/sim-intl/build-be.mjs). IBZ publishes no count or declaration times — a census of the whole 2024 file returns one temporal field, the election’s date — so the desk’s declaration curve is sampled rather than recorded.

IBZ — FOD Binnenlandse Zaken / SPF Intérieur

published polling hours for 9 June 2024 · open 08:00, close 14:00 on paper and 16:00 electronic

The close the desk clock starts from. It is taken from the authority’s own statement for that election rather than from the Electoral Code, whose 13:00 baseline the King may move when a Chamber election coincides with other assemblies — which 2024 did.

The seat formula (1)

Kieswetboek / Code électoral (the Belgian Electoral Code)

Art. 87, 165bis, 167 and 89ter · the law of 12 April 1894 · consolidated by IBZ

The rules the desk implements from the statute rather than from a secondary description: each province and the administrative arrondissement of Brussels-Capital as one constituency (Art. 87), admission to the seat distribution at 5% or more of that constituency’s own valid votes (Art. 165bis), and plain d’Hondt inside each constituency with no national tier and no leveling seat (Art. 167), so 150 is the sum of eleven independent allocations. Art. 89ter is why the canton of Sint-Genesius-Rode appears twice in the record, once on each ballot it may take.

Boundaries / shapefiles (2)

Eurostat GISCO

NUTS 2024 level 2 · 11 units · EPSG:4326 · © EuroGeographics for the administrative boundaries

The eleven constituencies. Belgium’s NUTS-2 units are exactly the ten provinces plus the Brussels-Capital Region, a one-to-one match with the constituencies Art. 87 defines, so the map joins on the NUTS id and there is nothing to dissolve (consumed by scripts/sim-intl/build-be.mjs). It describes the map only from 2014: before the Brussels-Halle-Vilvoorde split neither that constituency nor Leuven was a NUTS unit, which is why the 2010 election is not offered here.

Natural Earth

10m populated places · Belgian rows

The reference cities on the basemap layer. Public domain.

Estonia5 sources

Results and vote data (2)

Riigi Valimisteenistus / Vabariigi Valimiskomisjon (State Electoral Office and National Electoral Committee)

Riigikogu 2023 · rk2023.valimised.ee results application · election result and detailed voting result per district, and the mandate-by-mandate record

The 2023 election in full — every list and candidate in all twelve districts, and the acquired-mandates file that names each of the 101 seats as personal, district or compensation, which is what makes the model checkable rather than merely plausible (load2023() in scripts/sim-intl/build-ee.mjs). The party colours are the authority’s own, as its results application publishes them. The night opens on each district’s real i-vote share — just over half the valid vote in 2023, cast in advance and opened at the 20:00 close — and the paper count after it is sampled, because no per-district completion times are published.

Riigi Valimisteenistus / Vabariigi Valimiskomisjon

Riigikogu 2019 · rk2019.valimised.ee per-district voting-result pages · party and candidate tables, the i-vote column, and the printed quota line

The 2019 election, from that year’s static results site. Its printed quota line states each district’s seat count outright, which matters because the twelve are not the same in both cycles — a seat moved from Ida-Virumaa to Harju and Rapla between them, and a hand-written table would have been wrong for one year (load2019() in scripts/sim-intl/build-ee.mjs).

The seat formula (1)

Riigi Valimisteenistus — Ascertaining the election results at Riigikogu elections

personal, district and compensation mandates · the 0.75-quota district top-up · divisors 1, 2^0.9, 3^0.9 …

All three rounds are implemented from the authority’s own published description of the count: the simple quota that elects a candidate outright whether or not a party stands behind them, the district mandates shared among the parties over 5% of every valid vote cast nationally, and the national compensation round on a d’Hondt series whose divisors are raised to the power 0.9. Plain d’Hondt is not a substitute — on the real 2023 vote it returns four parties wrong and a different government (districtRound() and compensation() in scripts/sim-intl/build-ee.mjs).

Boundaries / shapefiles (2)

Maa-amet (Estonian Land Board)

EHAK · omavalitsus and asustusüksus layers · L-EST97 / EPSG:3301

The twelve electoral districts, and the positions of the reference cities. No single administrative layer expresses this map — three of the districts are groups of Tallinn’s own city districts and one is the city of Tartu — so the municipality layer and the settlement layer are merged and dissolved together (consumed by scripts/sim-intl/build-ee.mjs).

Statistikaamet (Statistics Estonia)

PxWeb table RV0291U · population by place of residence, 1 January 2023

The population figures beside the reference cities; they size a label only (cities() in scripts/sim-intl/build-ee.mjs).

Latvia5 sources

Results and vote data (2)

Centrālā vēlēšanu komisija (Central Election Commission)

14. Saeima 2022 · per constituency and per list · ballots, elected members, registered voters and valid envelopes · via data.gov.lv, CC0 1.0

The 2022 election: every list’s ballots in each of the five constituencies, the members each returned, and the valid-envelope count the 5% bar is measured against — a different and slightly larger number than the ballots cast for lists (read2022() in scripts/sim-intl/build-lv.mjs). The Commission publishes no per-constituency count times, so the desk’s declaration curve is sampled rather than recorded.

Centrālā vēlēšanu komisija (Central Election Commission)

13. Saeima 2018 · the same record in the earlier export schema · plus the roll of the 100 elected members · via data.gov.lv, CC0 1.0

The 2018 election. That export publishes no elected-member counts, so the seats come from its separate roll of the hundred members, each with their constituency and their list, which is what the model is verified against (read2018() in scripts/sim-intl/build-lv.mjs).

The seat formula (1)

Saeimas vēlēšanu likums (the Saeima Election Law)

Art. 7, 8, 17, 38 and 44 · the texts in force on 6 October 2018 and on 1 October 2022 · likumi.lv

The five constituencies and the re-apportionment of the hundred seats between them before every election (Art. 7 and 8); the 5% national bar, whose denominator the statute defines as the total of valid election envelopes rather than the ballots cast for lists (Art. 38(1)); pure Sainte-Laguë on divisors 1, 3, 5, 7 and so on, with no modified first divisor anywhere in the article (Art. 38(2)(2)); the 07:00 to 20:00 poll the desk clock closes at (Art. 17); and overseas ballots counted into Rīga (Art. 44). Each election is read against the text in force on its own polling day, because the current consolidated text differs on both the opening hour and the candidate cap (sainteLague() in scripts/sim-intl/build-lv.mjs).

Boundaries / shapefiles (2)

Centrālā statistikas pārvalde (Central Statistical Bureau of Latvia)

territorial units of Latvia · 1:1,200,000 · EPSG:3059 · the 2018-01-01 and 2022-07-01 vintages · via data.gov.lv

The five constituencies, dissolved from the municipal layer at two vintages: the 2021 administrative-territorial reform replaced 119 municipalities with 43, and while the constituency names did not change their contents did, so each election plays on its own map. The dissolve follows the Commission’s own department tree rather than the statute’s municipality list, which as it stood in 2022 omits Varakļānu novads (buildGeo() in scripts/sim-intl/build-lv.mjs). Rīga’s shape is the city: the constituency also contains Ārzemes, the overseas department, which holds more than a quarter of its roll and has no ground to draw.

Natural Earth

10m populated places · Latvian rows

The reference cities on the basemap layer. Public domain.

Lithuania5 sources

Results and vote data (1)

Lietuvos Respublikos vyriausioji rinkimų komisija (Central Electoral Commission of the Republic of Lithuania)

Seimas 2020 and 2024 · both rounds · per polling station, per candidate and per list

Every vote on this desk: the single-member returns for each round, and the nationwide list ballot that fills the other seventy seats, station by station (readSingle() and readList() in scripts/sim-intl/build-lt.mjs). The Commission publishes no per-district count times, so the declaration curve is sampled rather than recorded, while the fortnight between the two rounds is real and carried by each round’s own date. The board’s regional grouping is derived from the same files: neither the results nor the district geometry carries Lithuania’s ten counties, so districts are grouped by their plurality municipality, which is coarser than the country’s own regional division and is not it.

The seat formula (2)

Lietuvos Respublikos Seimo rinkimų įstatymas (Law on Elections to the Seimas)

Art. 62, 88 and 89 · consolidated text in force 1 July 2020 · the Seimas legal act register

The 2020 count as the statute then had it: a district was won outright only where turnout reached 40% and the leader took more than half the votes cast, or, below that turnout, where a plurality was worth at least a fifth of the registered roll (Art. 88). Art. 89 carries the list tier — a 5% barrier for a single list and 7% for a coalition, both measured against the voters who participated rather than the valid ballots, the top-up that admits further lists until the qualifying ones hold 60% of that vote, and a Hare quota rounded up rather than to nearest (listSeats() in scripts/sim-intl/build-lt.mjs).

Lietuvos Respublikos rinkimų kodeksas (the Electoral Code)

Art. 139, 167, 168, 169 and 170 · consolidated text in force 14 May 2024 · the Seimas legal act register

The Code that replaced it, and it is not a restatement: the majority test and the turnout condition were abolished, so from 2024 a plurality wins a district outright provided it reaches a fifth of the registered roll (Art. 167). Six of that year’s eight first-round winners took less than half the votes cast and would have gone to a runoff under the older law, which is why the desk carries both rules and picks by cycle instead of defaulting to one. The list tier is Art. 168 to 170, and Art. 139 is the 07:00 to 20:00 poll the desk clock closes at.

Boundaries / shapefiles (2)

Lietuvos Respublikos vyriausioji rinkimų komisija (Central Electoral Commission of the Republic of Lithuania)

single-member constituency polygons · the 2020 and 2024 vintages · CRS84, source EPSG:3346 · via the VRK ArcGIS open-data hub

The districts the desk draws, at both vintages — the 71 constituencies were redrawn between the two elections and renumbered as well, so each cycle plays on its own map (buildGeo() in scripts/sim-intl/build-lt.mjs). Naming the Commission as the original source is a condition of the data’s own terms of use, not a courtesy. Pasaulio lietuvių, the worldwide-diaspora district, ships in the file as a polygon spanning the globe; it is dropped from the map and rendered as a seat with no ground, which is what it is.

Natural Earth

10m populated places · Lithuanian rows

The reference cities on the basemap layer. Public domain.

Malta4 sources

Results and vote data (2)

Electoral Commission of Malta

general elections 2022 and 2017 · 13 divisions · per candidate, per count

The distribution-of-votes sheet each division publishes — every candidate’s running total and the signed transfer applied at every count — with the seats, quota, registered voters and valid poll beside it, and the elected-member returns that record how each member took their seat. Consumed by scripts/sim-intl/build-mt.mjs (loadCycle, parseCounts, parseStats, realHouse), which solves each division’s transfer matrix off those sheets rather than reimplementing the count.

Electoral Commission of Malta — Rapport dwar l-Elezzjoni Ġenerali 2022

2022 · division composition (table 1) · members of the under-represented sex

Table 1 lists the localities making up each of the thirteen divisions under the 2021 revision the election was actually fought on, and is the table the map is dissolved by (DIVISION_COUNCILS in scripts/sim-intl/build-mt.mjs). The report is also the source of this desk’s one authored figure — that only ten of the sixty-seven members then elected were of the under-represented sex — which is what article 52A is computed from, because candidate sex is published nowhere.

The seat formula (1)

Laws of Malta (legislation.mt)

Constitution arts. 52(1), 52A and 61 · General Elections Act, Cap. 354 art. 17 and the Thirteenth Schedule, Part IV

Malta’s House is not the statutory sixty-five and was not the same size twice — 2017 returned 67 members and 2022 returned 79 — so both corrections are implemented from the statute itself rather than from a secondary description: the proportionality top-up of regulation 23 with its Annex, and the gender top-up of article 52A. Implemented in scripts/sim-intl/build-mt.mjs and assets/simulator/sim-desk-mt.js (reg23, compose), which is what lets them run on the drawn night instead of being hard-coded to what happened.

Boundaries / shapefiles (1)

Planning Authority (Malta)

INSPIRE AdministrativeUnit · 68 local councils · EPSG:4258

No polygon dataset of the thirteen electoral divisions exists anywhere, so the divisions are dissolved from the Authority’s local-council polygons using the composition table above — whole councils only, because the five councils the 2021 revision splits are divided on a line published solely in a scanned Gazette notice. Read by scripts/sim-intl/build-mt.mjs (gmlToGeoJson), which converts the GML itself because mapshaper cannot read it. The 2017 cycle is drawn on this same map: nothing publishes the composition of the March 2017 revision.

Liechtenstein10 sources

Results and vote data (4)

Regierung des Fürstentums Liechtenstein (Government of the Principality of Liechtenstein)

Landtagswahlen 2013, 2017, 2021 and 2025 · national, per Wahlkreis and per Gemeinde

The Parteistimmen — the Kandidaten- und Zusatzstimmen the law actually allocates on — for every list at all three levels, the mandate matrix the Government awarded, the ballot accounting behind each turnout figure, and the party colours, which are read off the results markup rather than chosen. Consumed by scripts/sim-intl/build-li.mjs (readUnit, readCycle, readCycleFromGemeinden).

Amtliche Kundmachung — Amtliches Ergebnis der Landtagswahl 2025

2025 · Wahlzahl, Grundmandate, Reststimmen and the Restmandat, per Wahlkreis

The certified working and not merely the outcome, which is the strongest check available on this desk: a model that lands the seats by luck will not also land the intermediate arithmetic. Transcribed into CERTIFIED_2025 in scripts/sim-intl/build-li.mjs and asserted against the desk’s own count.

Wahlprotokolle of the Oberland and Unterland Wahlkreise, 2025

2025 · the davon gültige Stimmen row

The count of valid ballot papers — the only direct confirmation that the ballot figure recovered by dividing the Parteistimmen by the seats is the real thing rather than an arithmetic coincidence. Read by scripts/sim-intl/build-li.mjs (protokollBallots).

Amtliche Kundmachung — Festsetzung der Landtagswahl 2025

Amtsblatt 18410/2024 · polling stations open 10.30 to 12.00

Liechtenstein’s election night is a lunchtime, and this decree is why the desk clock starts at noon rather than at an evening hour. The hours are set per election by the Government under VRG art. 25(1), so they are a fact about 2025 and not a standing rule.

The seat formula (1)

Liechtensteinische Landesverwaltung (gesetze.li)

Verfassung, LGBl. 1921 Nr. 15, art. 46 · Volksrechtegesetz, LGBl. 1973 Nr. 50, arts. 8, 8a, 51, 55 and 56

The Constitution fixes the Landtag at 25 members, 15 for the Oberland and 10 for the Unterland, and sets the 8% bar that is measured over the whole country rather than per constituency. The count is implemented from the statute itself: art. 55’s Wahlzahl and Grundmandate, then art. 56’s remainder round, which divides the Reststimmen rather than the whole vote — on Oberland 2013 those two give different answers, and the statute gives the one the Government published (wahlzahl() and allocate() in scripts/sim-intl/build-li.mjs).

Boundaries / shapefiles (5)

Amt für Tiefbau und Geoinformation

Hoheitsgrenzen · Ge_Gemeindegrenze_A and PL_OrtschaftsName_Pos · EPSG:2056 (LV95)

The eleven Gemeinden — thirty separate parts, because Vaduz, Planken, Schaan, Balzers, Eschen, Gamprin and Triesenberg all hold exclaves — dissolved into the two Wahlkreise, plus the office’s own place-name anchor points, which put each reference dot on its village rather than on the mountainside a centroid would find. Read by scripts/sim-intl/build-li.mjs (geometry, cities). Attribution is a condition of the dataset’s licence, not optional.

Amt für Statistik (Statistik Liechtenstein) — Statistisches Jahrbuch 2024, table 2.1_01

population by Gemeinde · 31 December 2022

The populations beside the eleven reference cities, checked against the table’s own Liechtenstein column so that no Gemeinde can be silently lost. Read by scripts/sim-intl/build-li.mjs (population2022).

Amt für Bau und Infrastruktur, Amtliche Vermessung — Statistisches Jahrbuch 2024, table 1.1_02

cadastral area by Gemeinde · Stand 2020

The boundary shapefile carries no .prj, so its coordinate system has to be asserted rather than read — and this table is what makes the assertion provable: every Gemeinde’s measured area agrees with the cadastre to under 0.001 km², and the country to 160.477 km². Read by scripts/sim-intl/build-li.mjs (officialAreas), which refuses to write geometry that fails it.

Internet Archive

Wayback Machine · the two Jahrbuch workbooks

The route by which both statistical tables above were obtained: statistikportal.li answers a script with a Cloudflare challenge served as HTTP 200, so a status check passes while the bytes are not the file. The figures are the Liechtenstein offices’ own; the archive is only the transport.

Natural Earth

10m admin-0 countries · public domain

The independent cross-check on the reprojected extent, which is what puts the EPSG:2056 assertion beyond doubt. Read by scripts/sim-intl/build-li.mjs (geometry); none of its geometry ships on this desk.

Switzerland8 sources

Results and vote data (6)

Bundesamt für Statistik (Federal Statistical Office)

National Council 2015, 2019 and 2023 · lists and apparentements

Every list submitted in every canton, with its Listenverbindung and Unterlistenverbindung, its party suffrages, its list strength and the seats it won. The apparentements are not decoration — without them the statute reproduces ten of the twenty-six cantons. Published as open data on opendata.swiss (consumed by scripts/sim-intl/build-ch.mjs).

Bundesamt für Statistik — Kandidierende

Every candidate and the suffrages they took

Used to separate the candidate suffrages from the Zusatzstimmen — the blank lines a voter leaves on a party’s own list, which count for the party and for nobody. The office publishes the two totals but not the difference, so the blank-line share (4.9% of every suffrage cast in 2023) is recovered from these two tables and checked never to go negative.

Bundesamt für Statistik — Wahlbeteiligung

Electors, voters and valid ballots · Swiss, cantonal and COMMUNE level

The cantonal table carries the turnout each canton reports. The commune table is what every canton’s reporting curve is built from — it is checked to sum exactly to that canton’s own valid-ballot count before a single drop is written.

Bundesamt für Statistik — Ergebnisse Parteien

National and cantonal party totals · fiktive Wählende

The office’s own seat counts and ballot-weighted voter totals, which every cycle of this desk is validated against to the unit, and its letzte_wahl_anzahl_gewaehlte column, which is the previous parliament each night opens on. That column is retro-attributed by the office where a party has since merged — the 2023 file books the 2019 CVP and BDP seats under The Centre — and the desk follows it.

Schweizerische Bundeskanzlei (Federal Chancellery)

The binding result

The statistical office’s own metadata — read by the build for its party and canton names — records that its figures are provisional and that only the Federal Chancellery’s published results are binding. This desk replays the machine-readable publication of that count, so the authority behind the binding one is named here.

Bundesamt für Statistik — Historisiertes Gemeindeverzeichnis

Grossregionen (REGCH)

The office’s own commune register, used to group the twenty-six cantons into the seven great regions rather than writing that grouping from memory. Every canton was checked to fall wholly inside one.

Boundaries / shapefiles (1)

Bundesamt für Landestopografie swisstopo

swissBOUNDARIES3D 2026-01 · cantonal areas (© swisstopo)

The twenty-six cantons, reprojected from CH1903+/LV95 and flattened from 3-D. Cross-checked by area against Switzerland’s real 41,285 km². The cantons are constitutionally fixed and their outlines did not move across these three rounds, so one geometry serves all of them. Attribution is required by the dataset’s licence, not optional.

The night’s clock (1)

Modelled, not recorded

Reporting times

Neither the Federal Statistical Office nor the Federal Chancellery publishes when a canton declared: the office’s own status table carries a completed / not-completed flag with no timestamp, and the election-day files the cantons archive afterwards carry one file-level time and no per-commune time at all. So each canton’s reporting curve is modelled — its communes count in parallel, each landing when its own pile is done, with counting time growing as the square root of the work and the work measured in candidate LINES (ballots × seats) rather than ballots. Every input is published: the canton’s magnitude and valid ballots, and the valid ballots of each of its communes. Only the opening delay and the counting rate are chosen rather than measured.

Luxembourg3 sources

Results and vote data (2)

Service information et presse du gouvernement luxembourgeois

Élections législatives 2023 · per circonscription and per list

The election-night result file, which states each list’s candidate suffrages and its list suffrages separately — so the party total this desk allocates on is reconstructed from its parts and checked against the published one, rather than taken as a given. Published on data.public.lu (consumed by scripts/sim-intl/build-lu.mjs).

Centre des technologies de l’information de l’État (CTIE)

Élections législatives 2018 · per circonscription and per list

The 2018 night in the same schema, which is what lets the desk carry a real previous parliament rather than inventing one.

Boundaries / shapefiles (1)

Administration du cadastre et de la topographie (ACT)

Limites administratives · LIMADM_LEGISLATIVE · CC0

The four electoral circonscriptions as their own layer, so they did not have to be dissolved from communes. Reprojected from Luxembourg 1930 / Gauss and cross-checked by area against the country’s real 2,586 km².

European Parliament7 sources

Territory on this map

The map window runs from 11° west to 35° east and 34° to 72° north, and that leaves out the outermost regions — France's Guadeloupe, Martinique, Guyane, La Réunion and Mayotte, Spain's Canary Islands, and Portugal's Azores and Madeira. All of them vote, inside their member state's single constituency, and their ballots are counted in that member state's result here. Keeping them in frame put the map's west edge at 31° west and its south edge at 27° north, and Europe rendered as a cluster in one corner. That is a choice about the frame, not a claim about the electorate.

Cyprus is drawn on the line of administration. Natural Earth carries the Republic of Cyprus and N. Cyprus as separate features sharing one arc, and only the Republic carries the country code this desk filters on, so the line falls out of the source rather than being asserted here. UN Security Council resolutions 541 (1983) and 550 (1984) declare the 1983 declaration of independence in the north legally invalid and call on states not to recognise it; that is the Security Council's position, given as such.

Belgium is one shape and three electorates. Its Dutch-, French- and German-speaking colleges are constituencies rather than territories — an elector in the Brussels-Capital Region chooses which college's ballot to take — so there is no honest way to paint them. The desk counts Belgium's 22 seats in three separate contests and draws one Belgium.

Ceuta and Melilla. They are drawn inside Spain because the bundled Natural Earth data draws them there. The desk records what the source encodes rather than adjudicating it, which is what the standing policy asks for a background-map case.

Results and vote data (2)

European Parliament — results.elections.europa.eu

2024–2029 datasheets · 30 divisions · vote share, seats, and the group each party joined

The whole election: every ballot entity and its published vote share, the seats it won, and the political group its members ultimately joined — reconciled to 720 and to all nine groups against the Parliament’s own chamber file before the build will write. The nine group colours are the institution’s too, read off the data-color attributes its results pages carry. Consumed by scripts/sim-intl/build-eu.mjs (PARTY, GROUP_LABEL, votesFor, seatsFor, GROUP_COLOR_BY_ACRONYM), with the per-member-state group files pinned in the desk’s golden test.

European Parliament — results.elections.europa.eu

turnout datasheet · per member state · 2024

The real 2024 turnout rate for each of the 27, carried on every contest. Read by scripts/sim-intl/build-eu.mjs (TURNOUT).

The seat formula (2)

Prof. Friedrich Pukelsheim — Stock-taking of the European Elections 2024

European Parliament, AFCO briefing PE 771.469 · March 2025 · apportionment methods and thresholds

Its table of the characteristics of the 2024 electoral systems is the source of every method and every threshold in this desk, and its method codes are carried through unparaphrased so the bundle can be checked against it line by line. It is also what establishes that only Belgium and Ireland allocate in separate constituencies, Italy’s five districts and Poland’s thirteen being districts inside one national count. Transcribed into the member-state table in scripts/sim-intl/build-eu.mjs.

Giulio Sabbati & Kristina Grosek (EPRS — European Parliamentary Research Service) — 2024 European elections: National rules

Members’ Research Service, infographic PE 754.620 · April 2024 · election days and national rules

The polling day each member state voted on, which is what the board groups its closes by, and the Union-wide embargo — no member state may publish before the polls close in the last one to vote — which is why every contest on this desk opens on the same instant. It is also the cross-check on the thresholds; where the two briefings disagree, the later and more specific Pukelsheim table is the one used. Transcribed into the member-state table in scripts/sim-intl/build-eu.mjs.

Boundaries / shapefiles (2)

Natural Earth

10m admin-0 countries · public domain

The 27 member-state outlines, filtered by country code, clipped to the map window described above, dissolved and simplified. Read by scripts/sim-intl/build-eu.mjs.

Natural Earth

10m populated places · one reference city per member state

The basemap dots: each member state’s largest place by POP_MAX, read out of the file rather than listed, so that Malta and Luxembourg carry a dot even where their outlines are a few pixels. Read by scripts/sim-intl/build-eu.mjs (cities).

The model (1)

Eurostat

demo_gind · indicator JAN · population on 1 January 2024

This desk’s one modelled number, and it is modelled rather than recorded: the Parliament publishes vote SHARES and turnout RATES and never a vote count, and no electorate figure either, so the size of each member state’s vote is taken as population × the published turnout rate. It moves the Europe-wide vote bar and the dial baselines and nothing else — every apportionment method here is scale-free within a contest, so not one seat depends on it — and it overstates, because population is not electorate, and by more in the younger member states. Read by scripts/sim-intl/build-eu.mjs (populations).

Türkiye8 sources

Results and vote data (3)

Yüksek Seçim Kurulu (Supreme Election Council)

Parliamentary elections 2018 and 2023 · presidential election 2023, both rounds · per electoral district and per list

The council’s own open-data portal: every list’s vote in each of the 87 electoral districts, the out-of-country and customs-gate totals, and the seats each district elects (read by scripts/sim-intl/build-tr.mjs, readUnits() and readNational()). ⚠️ Every vote column in that feed is POSITIONAL and the positions differ from district to district — the same column name is a different list in the next district, and a named individual in the case of an independent — so each district is decoded with the header published for that district and no other.

Yüksek Seçim Kurulu — elected members

600 members per election · each named with their district and party

The council’s own list of who was actually elected, district by district. The desk reconciles its allocation against it rather than recalling a result: the build fails unless all 87 districts and all 600 seats reproduce exactly, in both cycles (scripts/sim-intl/build-tr.mjs, buildAssembly()).

Yüksek Seçim Kurulu — party colours

AK Parti, CHP, MHP and HDP · the council’s own registry

The council publishes its own colour for four parties and for no others, so those four are taken verbatim and the map reads the way the official results read. Every other colour on this desk is editorial, and follows the party’s own identity where it has one.

Boundaries / shapefiles (3)

OpenStreetMap contributors

81 provinces + the ilçeler of İstanbul, Ankara, İzmir and Bursa · ODbL v1.0

Turkey publishes no reusable official boundary file: the national mapping agency’s own product is licensed for non-commercial use only, carries an explicit disclaimer that it has no official status, and ships as unnamed polylines rather than polygons. So the map is built from OpenStreetMap, available under the Open Database Licence. 77 electoral districts are a whole province; the other 10 are groups of whole ilçeler, and which ilçeler belong to which district is read from the Supreme Election Council’s own register rather than inferred (scripts/sim-intl/build-tr.mjs, buildGeo()). ⚠️ OSM’s provinces run out into territorial water and its ilçeler follow the coast, so the assembled layer is clipped once to Natural Earth to give the whole country one coastline.

Natural Earth

10m admin-0 · the coastline clip · public domain

The coastline every district is cut to, so a piece drawn from a province and a piece drawn from its ilçeler meet the sea on the same line.

Türkiye İstatistik Kurumu (TurkStat)

İstatistiki Bölge Birimleri Sınıflaması, Düzey 1 · 12 regions

The institute’s own statistical regions, with its own English names, which is how the board groups the districts as they close.

The seat formula (2)

Milletvekili Seçimi Kanunu (Law No. 2839) and Law No. 298

2839 art. 29, 33, 34 · 298 art. 94/B and 100 · as amended by Law No. 7102 of 2018 and Law No. 7393 of 2022

Turkey’s seats are shared out d’Hondt inside each district, but two things about that are national. The bar — 10% in 2018, 7% from 2022 — is measured on the ALLIANCE, so a party inside an ittifak clears it if the ittifak does: İYİ Parti polled 9.96% in 2018, under the bar of the day, and returned 43 members because the Millet İttifakı was on 33.9%. And until Law No. 7393 repealed it, the district count itself ran on the alliance — its votes formed one quotient series and the seats it won were divided among its parties afterwards, which is worth eleven districts on the 2018 vote. Each cycle carries the statute that governed it, as data (LAW in scripts/sim-intl/build-tr.mjs, applied by assets/simulator/sim-desk-tr.js).

Yüksek Seçim Kurulu — Genelge No. 136

The council’s own implementing circular · one per election · 2018 and 2023

The circular that says what the statute leaves implicit, with worked numerical examples: how an alliance’s common votes are shared among its member parties — largest remainder, on the ilçe consolidation record, not pro rata on the district total — and how the ballots cast abroad and at customs gates are reflected into the 87 districts before the seats are decided. Both are reconstructed at build time and both are load-bearing: without them the desk reproduces 76 of 87 districts in 2018 and 81 of 87 in 2023 rather than all of them (shareStamps() and distribute() in scripts/sim-intl/build-tr.mjs).

Serbia6 sources

Results and vote data (3)

Републичка изборна комисија (Republic Electoral Commission)

Narodna skupština, 3 April 2022 · every list, per municipality

RIK’s own final workbook for the 2022 election, filed by municipality — the votes, the ballots in the boxes, the invalid ballots and the turnout, after the repeated voting of 16 and 28 April, 27 May and 30 June 2022. ⚠️ Its rows are a hierarchy, and Grad Niš, Grad Užice, Grad Požarevac and Grad Vranje are subtotals above the eleven city municipalities that report separately; reading them as units inflates the national vote by 6.8% while every percentage stays perfect (consumed by scripts/sim-intl/build-rs.mjs via raw/export_2022.py).

Републичка изборна комисија — results service

Narodna skupština, 17 December 2023 · every list, per municipality

The Commission’s own live results service is the only machine-readable per-municipality record of the 2023 election — the downloadable workbook for that cycle is gone from the origin and the Internet Archive holds only its soft-404. Every unit is keyed by the official five-digit municipality code the service publishes alongside each name (consumed by scripts/sim-intl/build-rs.mjs via raw/fetch_2023.py).

Републички завод за статистику (Statistical Office of the Republic of Serbia)

Izbori za narodne poslanike Narodne skupštine, 17. decembar 2023

The statistical office’s edition of RIK’s final result, and the source the 2023 half of the golden test is pinned from by hand: the national vote and seats for all eighteen lists, together with the ballots in the boxes the 3% threshold is measured against (ISBN 978-86-6161-252-7).

The seat formula (1)

Закон о избору народних посланика (Law on the Election of Members of Parliament)

„Службени гласник РС“ 14/2022 · čl. 128, 129, 137 and 140

The three rules this desk implements, taken from the statute rather than reconstructed. The bar is 3% of the ballots in the boxes, not of the valid votes, so the spoilt ones count toward it. The 250 seats go by d’Hondt over divisors 1–250. And a national-minority list takes part below the bar and — if it polled under 3% — has its quotients increased by 35%, which is worth five seats in 2022 and four in 2023: without it the three largest lists take them all (consumed by scripts/sim-intl/build-rs.mjs and by sim-desk-rs.js).

Where the ballots were cast (1)

OSCE Office for Democratic Institutions and Human Rights (ODIHR)

Election observation mission final reports · 3 April 2022 and 17 December 2023

The record of where RIK’s polling stations for voters registered in Kosovo actually stood: 46 stations in Bujanovac, Kuršumlija, Raška and Tutin in 2022, and 51 in the city of Vranje and the municipalities of Kuršumlija, Raška and Tutin in 2023 — both counts matching RIK’s own data exactly, because in neither election was a station opened in Kosovo itself. That is why those 22 reporting units are counted in full and drawn nowhere. Both reports frame every reference to Kosovo by United Nations Security Council Resolution 1244 (1999); this desk takes no position on a status that remains unsettled.

Boundaries / shapefiles (1)

OpenStreetMap

Serbia · 145 opštine and gradske opštine + 23 gradovi · Overpass API

The administrative relations the map is drawn from, joined to RIK’s returns on the official municipality code both carry. ⚠️ Two layers and two keys: admin_level=8 holds the municipalities (including Belgrade’s seventeen and Niš’s five city units) under ref:RS:opstina, while admin_level=7 holds the cities RIK reports whole under ref:RS:grad — either alone leaves a fifth of the country unmapped. The reference city points are OSM place nodes filtered to the desk’s own geometry. © OpenStreetMap contributors, licensed under the Open Database Licence (ODbL) (consumed by scripts/sim-intl/build-rs.mjs).

Pakistan5 sources

Territory on this map

This desk draws the four provinces and Islamabad, and stops there, because that is the ground that returns a National Assembly member.

Azad Jammu & Kashmir and Gilgit-Baltistan. Neither returns a member of the National Assembly. Each elects its own separate legislative assembly, and no National Assembly constituency is delimited over either, so neither is painted here — nor is Indian-administered Jammu and Kashmir. That needed no clip: point-tested on both boundary eras, Muzaffarabad, Mirpur, Gilgit, Skardu, Srinagar and the Siachen Glacier all fall outside every constituency, and the map’s eastern extent is 75.4° E against Gilgit-Baltistan’s 77°.

Why that matters twice over. It is the mirror of the India desk, whose Ladakh constituency is clipped to Natural Earth’s Line of Control before it reaches the shared world map. Between the two, no ground on the globe is painted by both desks. UN Security Council resolutions 47 (1948) and 91 (1951) treat the final status of Jammu and Kashmir as unresolved pending a plebiscite; no state’s claim to the whole is generally recognised, and the Line of Control is a ceasefire line rather than an agreed border.

The 70 reserved seats — 60 for women, 10 for non-Muslims — are composed live by the constitutional formula, in proportion to each party’s directly-elected strength, rather than authored as data. Two things that follow are stated rather than hidden: the real allocation is made after independents join a party, which the Elections Act gives them three days to do, and which is a day after the night this desk replays; and the allocation following 2024 was litigated all the way and reversed — the Election Commission refused the Sunni Ittehad Council, which the largest bloc of independents had joined, for not having filed a list of candidates; the Supreme Court held in July 2024 that PTI was entitled to the seats; and on 27 June 2025 a Constitutional Bench allowed the review petitions, set that judgment aside and sent more than seventy reserved seats to the other parties. The desk models the formula, not the litigation.

Results and vote data (3)

Election Commission of Pakistan

General Elections 2024 · provisional Form-47 consolidated result

The Commission’s own published National Assembly workbook: the winning party in every constituency and its party position table. This is what the 2024 night is pinned to, seat for seat (consumed by scripts/sim-intl/build-pk.mjs).

Election Commission of Pakistan

General Elections 2018 · constituency-wise candidate result reports

Every candidate’s vote, party and rank in all 272 constituencies, with registered voters and valid votes — transcribed to tidy CSV by Colin Cookman, whose pakistan_election_results_2018 is the file the build reads (consumed by scripts/sim-intl/build-pk.mjs).

Aiwan-e-Jamhoor (Hiba Sameen)

2024 · the candidate field, and 254 official ECP Form-47 returns

The Commission publishes no machine-readable per-candidate file for 2024, so the ballot itself comes from this project’s transcription of ElectionPakistani.com together with its extraction of 254 scanned official Form-47 returns. Names and votes only: every winner is held to the Commission’s own grid, and the five seats where an election-night winner was later displaced by a recount or tribunal are restored to the Form-47 figures (consumed by scripts/sim-intl/build-pk.mjs).

Boundaries / shapefiles (2)

Aiwan-e-Jamhoor (Hiba Sameen)

2018 and 2023 delimitations · 272 and 266 constituencies

The Election Commission publishes delimitation as PDF map sheets rather than GIS, so there is no official shapefile for either era. These layers are that project’s digitisation of the Commission’s own sheets against a geoBoundaries and OCHA district base — the only complete public geometry for both (consumed by scripts/sim-intl/build-pk.mjs).

geoBoundaries and the OCHA Common Operational Dataset

Pakistan district boundaries · the base the constituencies are cut from

The district layer underneath the delimitation digitisation above.

Nigeria6 sources

Results and vote data (3)

Civic Hive and BudgIT

Nigeria Election Results · 2023 presidential and House of Representatives

The collation of INEC’s declared results — the presidency by state with all eighteen candidates, and every one of the 360 federal constituencies — as announced by INEC officials at the local government and House of Representatives collation centres. It is what the desk plays, because INEC itself publishes scanned polling-unit result sheets rather than tabulated votes (consumed by scripts/sim-intl/build-ng.mjs). ⚠️ The record enters the parties whose votes were recorded: 73 of the 360 House seats carry two parties and two carry one. Every winner is the real winner; a runner-up’s share in a thin seat is a share of a short field.

Independent National Electoral Commission (INEC)

declared national result · 1 March 2023

The constitutional authority, and the figures the collation is checked against rather than assumed to match: 93,469,008 registered voters, 24,025,940 valid votes, and Tinubu 8,794,726 / Atiku 6,984,520 / Obi 6,101,533 / Kwankwaso 1,496,687. The desk’s build fails if it cannot reproduce them to the vote, and the House cycle must reproduce the declared 360-seat composition exactly.

Stears

INEC’s final list of presidential candidates · 20 September 2022

The eighteen candidates and their parties, as INEC cleared them — the source of the names the presidential board prints. Stears’ own constituency results are staged but not used: they stop at 220 of the 360 seats.

Boundaries / shapefiles (1)

Office of the Surveyor-General of the Federation (OSGOF), via the OCHA Common Operational Dataset

the 774 Local Government Areas · Nigeria admin level 2

A Nigerian federal constituency is the union of whole Local Government Areas and is named for them, so the constituency name is the composition table: the 360 seats are dissolved from these 774 LGAs and validated as a partition of all of them. The state layer the presidency plays on is dissolved from the same file one level up, so the two cannot disagree. The file carries no offshore area, so no shoreline mask is applied. ⚠️ Five LGAs carry TWO federal constituencies each — Lagos Island, Mushin, Oshodi-Isolo and Surulere in Lagos, and Port Harcourt in Rivers. Their division is by ward and INEC publishes no ward composition, so rather than invent an internal line both halves of each pair are drawn as the whole parent LGA.

The model (2)

Constitution of the Federal Republic of Nigeria 1999, section 134

the presidential election rule

What actually elects a Nigerian president, and what the desk implements: the highest number of votes AND not less than one-quarter of the votes cast in each of at least two-thirds of all the states and the Federal Capital Territory. Fail the second condition and s.134(3) orders a further election — not against the national runner-up, but against the candidate with a majority of votes in the highest number of states.

Supreme Court of Nigeria

Atiku Abubakar v. INEC and Peter Obi v. INEC · 26 October 2023

How many units “two-thirds” is. The petitioners argued the Federal Capital Territory was a separate and mandatory requirement — Tinubu polled 19.8% there — which would have forced a second election. The Court held the FCT is treated as the 37th state and nothing more, so the floor is 25 of 37. The desk implements the holding; on the real numbers Tinubu cleared 29, which satisfies every reading anyone advanced.

Kenya5 sources

Territory on this map

On the Kenya desk. The Ilemi Triangle, between Kenya, South Sudan and Ethiopia, falls inside Turkana North — a constituency the Independent Electoral and Boundaries Commission delimits and where ballots were cast, so it is drawn. Kenya administers the area and South Sudan claims it; no international ruling has fixed the boundary, and the colonial-era survey lines that are usually cited disagree with one another. Drawing it states where a Kenyan ballot was cast, not who owns the ground.

Kenya's maritime boundary with Somalia was settled by the International Court of Justice in 2021 and does not touch this desk: the constituency geometry carries no maritime area.

Results and vote data (4)

Independent Electoral and Boundaries Commission

2017 general election · per candidate, per constituency and county

The Commission’s own “Data Report of 2017 Elections” (April 2020) — every candidate’s vote in every constituency and in every county woman representative contest, and the summary tables the desk is reconciled against (consumed by scripts/sim-intl/build-ke.mjs).

Independent Electoral and Boundaries Commission

2022 presidential election · per county

The Declaration of Results for the Election of President at the National Tallying Centre, 15 August 2022 — the county-by-county figures the presidential night replays (consumed by scripts/sim-intl/build-ke.mjs).

The Kenya Gazette

Gazette Notice 7290 of 21 June 2022 · certified register of voters

The canonical constituency codes and names the desk labels its 290 seats with, rather than the wrapped table text of a scanned report.

Parliament of Kenya

roll of the 12th National Assembly

Used to cross-check the 2017 winner in every constituency against the Commission’s tabulation; it is what identified the one row the desk corrects.

Boundaries (1)

Independent Electoral and Boundaries Commission

constituencies and counties · 2012 delimitation

The Commission’s own boundary data: 290 constituencies for the National Assembly map and 47 counties for the presidential map. 2013, 2017 and 2022 all ran on this delimitation, so one boundary era serves both cycles.

Peru16 sources

Results and vote data (9)

Oficina Nacional de Procesos Electorales (ONPE)

Elecciones Generales 2021 · mesa by mesa · congressional + both presidential rounds

Every vote total on the Peru desk. One row per mesa per ballot line, aggregated to the 27 electoral districts for shares, turnout weights and the national count (consumed by scripts/sim-intl/build-pe.mjs).

Jurado Nacional de Elecciones (JNE), Resolución N.° 0602-2021-JNE

Acta General de Proclamación · Congreso de la República 2021–2026

The proclamation itself, and the golden the build refuses to ship without: which parties passed the barrera electoral, the national congressional vote, and the seats each party won in each of the 27 districts. The desk’s seat totals are pinned from it rather than derived.

Jurado Nacional de Elecciones (JNE), Resolución N.° 0750-2021-JNE

proclamación · segunda elección presidencial, 6 de junio de 2021

The proclaimed runoff: Perú Libre 8,836,380 (50.126%) against Fuerza Popular 8,792,117 (49.874%). ONPE’s open file is the cómputo published a month earlier and is 3,966 valid votes short of it — twenty actas still in process — so the counts differ by 0.02% and the shares agree to three decimals.

Jurado Nacional de Elecciones (JNE)

registro de candidatos · Elecciones Generales 2021

Where all eighteen presidential candidates’ names come from — one inscribed fórmula per organización política, read off the JNE’s own register rather than from a secondary list.

Jurado Nacional de Elecciones (JNE) — Actas Descentralizadas de Proclamación de Resultados

Elecciones Generales 2026 · 60 Jurados Electorales Especiales × 5 contests · 300 actas

Every 2026 vote total on this desk. ONPE published no open data for 2026, so the count comes from each JEE’s own signed acta — the presidential first round and runoff, the Cámara de Diputados, and both Senate ballots — read through the JNE’s Plataforma Electoral and aggregated to the 27 electoral districts (consumed by scripts/sim-intl/build-pe.mjs).

Jurado Nacional de Elecciones (JNE), Resolución N.° 1411-2026-JNE

Acta General de Proclamación · Cámara de Diputados 2026–2031

The golden for the 2026 Cámara: the two barrera-electoral tables, the national vote of all 37 organizations, and the seats each party won in each of the 27 districts. It is also where the 2026 magnitudes come from — Lima Metropolitana 32, Madre de Dios 2. The build reproduces all of it or fails.

Jurado Nacional de Elecciones (JNE), Resolución N.° 1412-2026-JNE

Acta General de Proclamación · Senado de la República 2026–2031

The golden for the restored Senate: both ballots, the barrier measured over their sum, the senator returned by each of the 26 single-member circunscripciones, Lima Metropolitana’s four, and the thirty elected on the single national district.

Jurado Nacional de Elecciones (JNE), Resoluciones N.° 1135 y 1625-2026-JNE

proclamación · primera vuelta 12 de abril y segunda elección presidencial 7 de junio de 2026

The 2026 presidency: 35 fórmulas in the first round, and the runoff Fuerza Popular won 9,223,396 (50.135%) to Juntos por el Perú’s 9,173,755 (49.865%) — 49,641 votes in 18.4 million. Resolución 1135 is also why the Partido de los Trabajadores y Emprendedores is not on this board: its candidate died four weeks before the vote, and the JNE proclaimed the organization at zero with its 11,388 ballot marks counted as null.

Wikipedia en español — «Elecciones generales de Perú de 2026»

candidaturas y partidos · the 35 presidential fórmulas

The 2026 presidential candidates’ names only. The JNE reports the first round by organización política and names only the fórmula it proclaims, and no machine-readable candidate register for EG2026 is reachable — the same gap the Costa Rica desk documents. The president declared elected is checked against Resolución N.° 1625-2026-JNE, which names her.

Boundaries / shapefiles (1)

Instituto Geográfico Nacional (IGN), published by the UN Office for the Coordination of Humanitarian Affairs (OCHA)

Common Operational Dataset · 196 provincias · CC BY-IGO

The map: province polygons dissolved to the 27 electoral districts, with the department of Lima split into the province of Lima and the nine provinces around it, the way the electoral law splits it.

The rules (4)

Ley N.° 26859, Ley Orgánica de Elecciones

arts. 20, 21 y 30 · barrera electoral, distritos electorales, cifra repartidora

The seat arithmetic and the national bar a party must clear before it may take a seat anywhere: 5% of the valid vote nationally, or seven representatives in more than one district.

Ley N.° 31032

julio de 2020 · distrito electoral de peruanos residentes en el extranjero

The law that carved a 27th electoral district out of Lima and gave it two of Lima’s seats, so 2021 is the first Peruvian Congress with members elected by voters living abroad.

Jurado Nacional de Elecciones (JNE), Resolución N.° 015-2011-JNE

criterio de la barrera electoral · siete representantes, no seis

Article 20 says six representatives, “es decir, cinco por ciento del número legal de sus miembros” — but Ley N.° 29402 raised the Congress from 120 to 130, so five per cent is seven. The statute’s own arithmetic is stale; this is the reading applied in 2011, 2016 and 2021.

Ley N.° 31988 and Ley N.° 26859 (LOE) arts. 20, 21 and 30, as applied in 2026

bicameralidad restaurada · barrera electoral concurrente

The law that brought the Senado back and rewrote the bar with it. From 2026 a party must clear seven diputados (three senators) AND five per cent of the national valid vote — concurrently, where 2021 asked for either. That is why Partido País para Todos took no seat on 5.815%, more of the national vote than a party that took ten.

What is modelled rather than sourced (2)

The order in which districts report

a model, driven by a measured quantity

ONPE publishes no acta-processing times, so no source states when a district reported. The desk derives each district’s reporting speed from the dispersion of its own polling places — the ballot-weighted mean number of mesas at a voter’s own municipal district, 1,105 in Lima against 33 in Huancavelica. It reproduces the documented shape of 6 June 2021, with Fujimori ahead until the last percent, but it is a model of the night rather than a record of it. The same dispersion model drives the 2026 nights, and it reproduces the documented shape of 7 June 2026 — Fujimori ahead from the first coastal returns and never passed, the highland actas narrowing the gap rather than reversing it.

Party colours and the regional groupings

editorial

Five Peruvian parties have a settled broadcast colour and keep it — Perú Libre red, Fuerza Popular orange, the Partido Morado purple, Renovación Popular celeste, the Partido Popular Cristiano green. The rest have none. Peru likewise has no official grouping of its electoral districts above the district itself, so the five the board offers are editorial.

Uruguay6 sources

Territory on this map

The Instituto Nacional de Estadística's own departmental cartography ships twenty polygons for nineteen departments. The twentieth is the Rincón de Artigas, filed under Artigas's code and named, by the authority itself, límite contestado — 251 km² against Artigas's 11,939, carrying Artigas's population duplicated onto it rather than added. This desk does not draw it. That is the standing rule and not a judgement about the claim: a desk map states where ballots were cast, and no ballot counted here was cast on ground Brazil administers as part of Santana do Livramento, Rio Grande do Sul.

Stated rather than asserted: Uruguay claims the strip north of the Arroyo de la Invernada under its reading of the boundary treaties of 1851 and 1852; Brazil has occupied and administered it since 1934; and there is no international ruling either way. The much smaller Isla Brasilera, in the confluence of the Cuareim and the Uruguay, is claimed on the same basis and is likewise absent from the source. Naming a dispute is not taking a side in it.

Results and vote data (2)

Corte Electoral del Uruguay

Cámara de Representantes 2024 + 2019 · presidential 2024 + 2019, both rounds · per Comisión Receptora de Votos

Every vote total on this desk: the definitive breakdown of each hoja de votación and each voto al lema, the per-Comisión turnout figures, and the two segunda elección counts of 24 November. Published as open data by the body that runs, judges and proclaims the election (consumed by scripts/sim-intl/build-uy.mjs). These are the definitive counts, not the election-night primary ones — the two differ by the roughly 34,000 observed ballots adjudicated afterwards.

Corte Electoral del Uruguay — registro de hojas de votación

Every registered candidacy, 2024 + 2019 · presidential tickets · departmental slates

The register the presidential formulas are named from, and the check on how many Representatives each department returns: a slate may carry titulares only up to a fixed multiple of its department’s seats, so the largest registered slate verifies a table that would otherwise rest on a press report.

The allocation rule (3)

Constitución de la República, Article 88

99 members · the national proportional rule · two Representatives per department, at least

The rule that makes this desk unusual: the Cámara’s seats are shared between the lemas on “los votos emitidos a favor de cada lema en todo el país”, so a party’s total does not depend on where its votes fell. Nineteen independent departmental allocations return a different and wrong chamber.

Ley N° 7912 of 22 October 1925, arts. 2–4 and 8–10

The departmental magnitudes, the national distribution, the departmental distribution

How the seats per department are fixed before the vote, how the 99 are shared between lemas afterwards, and how each lema’s seats are then spread across departments. Article 9 C, a transfer rule whose text does not settle whether the seat or only the proclaimed candidate moves, is declared rather than modelled — the build script says so.

Óscar A. Bottinelli, «Del aterrizaje de votos a bancas»

El Observador / Portal Factum · 31 August 2019

The clearest statement of what article 88 means in practice, from the professor of the electoral system at the Universidad de la República: to know a party’s seats “lo único que importa es conocer el total de votos habidos en todo el país”. Also the source for the Halty shortcut to d’Hondt.

Boundaries / shapefiles (1)

Instituto Nacional de Estadística (INE)

Unidades Geoestadísticas, Censo 2023 · departmental polygons at 1:50,000

The 19 departments, built by the INE’s Departamento de Infraestructura Geoestadística from the 2023 census sections. Uruguay’s departments are its top administrative tier, so a department is the seat and no dissolving is needed. The INE asks only to be named as the source.

Bangladesh8 sources

Territory on this map

The lines on this map are the 2008 delimitation, and that is worth saying plainly.

The Election Commission does not publish boundaries as data. It publishes delimitation the way the law asks for it — a written schedule naming the upazilas, unions and city-corporation wards that make up each constituency. There is no official shapefile for any Bangladeshi boundary era, and no government GIS catalogue carries a parliamentary-constituency layer. The only complete public geometry of the 300 seats is the GeoReferenced Electoral Districts dataset, and its Bangladesh layer is the 2008 delimitation.

What that does and does not affect. Nothing renumbered: no district gained or lost a seat in any revision, so seat 47 is Naogaon-2 in both elections on this desk and every name is right. What the revisions moved is internal lines — 87 constituencies in 2013, 25 in the gazette of 30 April 2018 and 10 in that of 3 June 2023 — and each of those is an upazila, union or ward changing hands between two seats of the same district. Those three revisions are not in these lines.

The 50 seats reserved for women are composed live by the constitutional formula, in proportion to each list’s elected strength, rather than authored as data. One thing that follows is stated rather than hidden: the real allocation is made weeks after the night, on lists parties file with the Commission, and in 2024 the 62 independents were pooled onto the Awami League’s list — which is how that list reached 48 of the 50. This desk stops at the night, so it shows the entitlement rather than the arrangement.

Results and vote data (4)

Bangladesh Election Commission

12th Jatiya Sangsad, 2024 · constituency-wise result, by polling centre

One workbook per constituency, each a grid of every polling centre against every candidate, with valid, rejected and cast votes. The candidate columns sum to the Commission’s own valid-vote total in all 299, which is what the night is pinned to (consumed by scripts/sim-intl/build-bd.mjs).

Bangladesh Election Commission

11th Jatiya Sangsad, 2018 · constituency-wise result, by polling centre

The same centre-level grids for the 11th Sangsad, in three workbooks covering all 300 constituencies (consumed by scripts/sim-intl/build-bd.mjs).

Bangladesh Election Commission

Constituency table · names, numbers and divisions

The Commission’s own table of the 300 constituencies, which is where every English seat name and every division on this map comes from — they are its romanisations, not ours (consumed by scripts/sim-intl/build-bd.mjs).

Bangladesh Election Commission

13th Jatiya Sangsad, 2026 · online result service, by polling centre and candidate

42,648 polling centres over the 299 constituencies that polled, each centre’s candidate votes summed and reconciled to the centre’s own valid figure and to the Commission’s per-constituency totals. Postal ballots, which that service does not itemise by candidate, are added from the Commission’s own postal-ballot figures in the two seats they decided — Sirajganj-4 and Madaripur-1 (consumed by scripts/sim-intl/build-bd.mjs via stage_2026.py).

Parties and symbols (2)

Bangladesh Election Commission

Register of political parties · symbols and registration dates

The Commission’s result files name a candidate’s SYMBOL and nothing else, so the register is what turns a ballot into a party — and it has to be read as it stood before each election rather than today, because symbols move. The eagle, the truck, the kettle and the conical hat were all free symbols for independents on 7 January 2024 and are registered parties’ reserved symbols now (consumed by scripts/sim-intl/build-bd.mjs).

Bangladesh Gazette

S.R.O. 269-Law/2023 · the symbols allottable to independents

The amendment to the Conduct of Election Rules, 2008 that schedules the 44 reserved party symbols and, separately, the 25 symbols a returning officer may allot to an independent — by lottery where two want the same one, which is why two eagles in two constituencies are two unrelated people (consumed by scripts/sim-intl/build-bd.mjs).

Boundaries / shapefiles (1)

GeoReferenced Electoral Districts (GRED)

Kollman, Hicken, Caramani, Backer and Lublin · the 2008 delimitation

The Constituency-Level Elections Archive at the Center for Political Studies, University of Michigan. Its Bangladesh layer is the only complete public geometry of the 300 constituencies, and it is the 2008 delimitation — see the note above (consumed by scripts/sim-intl/build-bd.mjs).

Parties and symbols (1)

Bangladesh Election Commission

Candidate register, 13th Jatiya Sangsad · party and symbol per candidate

Records each 2026 candidate’s party or independent status and the symbol allotted — the record that turns a 2026 ballot line into a party, seat by seat (consumed by scripts/sim-intl/build-bd.mjs via stage_2026.py).

Malaysia4 sources

Results and vote data (2)

Suruhanjaya Pilihan Raya Malaysia (Election Commission of Malaysia)

Dewan Rakyat · GE15 2022 + GE14 2018 · all 222 constituencies, per candidate

The authority behind every vote on this desk: the Commission conducts Malaysia’s federal elections and declares each constituency result (Borang 14 at the polling stream, Borang 15 at the constituency). It publishes no durable open dataset and its 2018 and 2022 result portals are no longer served, so the numbers are consumed in the compiled form credited below — which logs every departure from the official record and logs none at all in these two elections.

The Malaysian Election Corpus (MECo) — Thevesh Thevananthan

Scientific Data (2025) · doi:10.1038/s41597-025-06502-7 · federal, state and by-elections since 1955

The peer-reviewed compilation of the Commission’s own records, and the file this desk actually reads (consumed by scripts/sim-intl/build-my.mjs): candidate-level votes plus each contest’s electorate, ballots issued, rejected ballots and valid votes. It reconciles exactly — ballots issued minus those not returned minus rejected equals the valid vote equals the sum of the candidates, to the vote, in both cycles — and every seat total was cross-checked against the Department of Statistics’ own ElectionData.MY dashboard.

Boundaries / shapefiles (1)

Department of Statistics Malaysia (DOSM)

Open geodata · 222 parliamentary constituencies · the 2018 delineation

The constituency polygons, one per seat. The 2018 redelineation redrew Peninsular Malaysia and Sabah weeks before GE14 and nothing has moved since, so one boundary set serves both nights on this desk. Land area sums to within a third of a percent of Malaysia’s official figure, so no water clip was needed.

The night itself (1)

Declaration times are simulated

Sampled · seeded by constituency code · no per-seat time is published

Neither the Commission nor the corpus publishes when each seat declared, so the order of the night is modelled rather than recorded: from each constituency’s land area (how far its ballot boxes travel), its electorate (how long the count runs) and a flat offset for Sabah and Sarawak, which count markedly later than the peninsula. The shape is the claim — urban Penang and Kuala Lumpur first, Sarawak’s interior last — and no individual seat’s minute is.

Sri Lanka8 sources

Results and vote data (3)

Election Commission of Sri Lanka

Presidential election of 21 September 2024 · per electoral district, all 38 candidates

Every candidate’s first preferences in each of the 22 electoral districts, with the Commission’s own valid, rejected, polled and elector counts, from its results portal (read by scripts/sim-intl/build-lk.mjs, preDistrict). The district figures sum to the Commission’s published all-island totals exactly, and the build script refuses to write the bundle if they do not.

Election Commission of Sri Lanka — the second count

The preference tables published under s.61 of the Presidential Elections Act No. 15 of 1981

The 2024 presidency was the first since the office was created in 1978 that nobody won on first preferences, so the second and third preferences were counted. The Commission publishes the transfers per district as well as nationally, which is why this desk replays the second count from the real record rather than from a solved transfer matrix (read by scripts/sim-intl/build-lk.mjs, prePref).

Election Commission of Sri Lanka

Parliamentary election of 14 November 2024 · 331 parties and groups, with its own seat columns

Every party’s and independent group’s vote in each district, and the Commission’s own district-member and National List columns, which the desk reconciles its seat arithmetic against rather than recalling it (read by scripts/sim-intl/build-lk.mjs, peDistrict and peAllIsland).

Boundaries / shapefiles (2)

Survey Department of Sri Lanka

22 electoral districts · dissolved from the 25 administrative districts

Sri Lanka’s national mapping authority, whose district geometry is published as an OCHA Common Operational Dataset. The Election Commission publishes no electoral-district shapefile, so the 22 electoral districts are dissolved from the 25 administrative ones — Jaffna absorbs Kilinochchi, and Vanni is Mannar, Vavuniya and Mullaitivu together — a merger verified against the Commission’s own polling-division lists (read by scripts/sim-intl/build-lk.mjs, buildGeo).

UN Office for the Coordination of Humanitarian Affairs (OCHA)

Common Operational Datasets · the publication route, CC BY-IGO

OCHA’s Field Information Services Section publishes the Survey Department’s boundaries as a Common Operational Dataset. The desk uses that publication rather than a re-drawn commercial layer, so the lines on the map are the ones Sri Lanka’s own surveyors drew.

The seat formula (2)

Parliamentary Elections Act No. 1 of 1981 · Constitution arts. 99 and 99A

The 5% district bar, the bonus seat, and the 29-seat National List

A district disqualifies any party under one twentieth of its valid votes, hands one seat off the top to whoever leads it, and shares the rest by a Hare quota; the other 29 seats are allocated on the island-wide vote with no threshold at all, which is how Sarvajana Balaya entered Parliament on 1.6% of the vote and no district seat anywhere. Both are verified against the Commission’s own seat columns.

Presidential Elections Act No. 15 of 1981, s.61 · Constitution art. 94

The contingent vote — three preferences on one ballot

More than one half of the valid votes elects a president outright. Only if nobody reaches it are all but the leading two candidates eliminated and their second and third preferences distributed. It is not a runoff: there is no second polling day and no second electorate, and in 2024 only 273,131 of the 3.3 million ballots for the other 36 candidates carried a usable preference at all.

Party colours (1)

ElectIndex — editorial

Colours only, not results

The Election Commission publishes each party’s approved SYMBOL, not a colour. The desk’s colours follow the parties’ own identities where they have one — the National People’s Power red, the United National green, the Pohottuwa maroon, the Federal Party’s gold — and are chosen for legibility where they do not. Four presidential party abbreviations (SLCP, SPF, RJA, NSU) nominated a candidate but did not contest the parliamentary election, so no page in the Commission’s machine-readable record expands them; the desk prints the abbreviation, as the Commission does.

Nepal6 sources

Territory on this map

This desk draws Nepal's own map, and the world map does not — the split is the same one the India desk carries, and here the two desks are the two sides of the same dispute.

On the Nepal desk. The Election Commission of Nepal delimits the Darchula 1 constituency over the boundary Nepal has claimed since May 2020, which takes in Kalapani, Lipulekh and Limpiyadhura — about 324 km² measured against Natural Earth's de facto line. That is the country's own cartography, so it is what the country's own desk shows. No Nepali ballot was cast anywhere in the claimed area.

On the globe and the world map. The same seat is clipped to Natural Earth's de facto boundary, which places that ground in India, so the shared map paints only ground Nepal administers — and the India desk's own Almora constituency, which covers the same area on India's source line, is the only place it appears there. The clip touches that one seat; the other 164 constituencies are the Commission's own geometry in both views.

Neither view is a position on sovereignty. The Sugauli treaty of 1816 fixed the border at the Kali river and the two states disagree about which headwater is the Kali; India has administered the area since 1962 and Nepal has protested since 1998, and there is no arbitration, no agreed border and no widely recognised international legal position either way. India's own desk draws the same ground inside Almora, and says so.

Twenty-two protected areas — Chitwan, Bardiya, Langtang, Makalu-Barun, Khaptad, Dhorpatan, Shuklaphanta, Koshi Tappu, Parsa and Lumbini — lie outside every local level and so inside no constituency. The Commission draws them apart from its constituency map and this desk leaves them unpainted rather than colouring ground on which no ballot was cast; they are 4.5% of the country.

Results and vote data (5)

Election Commission of Nepal (निर्वाचन आयोग)

2022 + 2017 House of Representatives · constituency-wise, per candidate

Every candidate’s vote in all 165 constituencies at both elections, with the Commission’s own elected-member flags (consumed by scripts/sim-intl/build-np.mjs).

Election Commission of Nepal — proportional ballot

2022 per constituency · 2017 per district · 110 list seats

The party-list vote that elects 110 of the 275 members, at the finest grain the Commission published in each year. Both reconcile exactly to its national totals — 10,560,082 valid votes in 2022 and 9,544,779 in 2017.

Election Commission of Nepal — elected members

2017 proportional tier · 110 members by party

The Commission’s own list of the members returned from the party lists, which is what attributes the common-symbol list’s seats to the CPN (Maoist Centre) rather than to the shared ballot line.

Election Commission of Nepal (निर्वाचन आयोग)

2026 House of Representatives · constituency-wise, per candidate

Every candidate’s vote in all 165 constituencies at the 5 March 2026 election, with the Commission’s own elected-member flags, off its Election2082 results service (consumed by scripts/sim-intl/build-np.mjs).

Election Commission of Nepal — proportional ballot

2026 per constituency · 110 list seats

Reconciled exactly to the Commission’s national total of 10,835,025 valid votes; Sainte-Laguë over the six lists that cleared 3% and hold a constituency returns the 57 · 20 · 16 · 9 · 4 · 4 the Commission allocated on 13 March 2026 (consumed by scripts/sim-intl/build-np.mjs).

Boundaries / shapefiles (1)

Election Commission of Nepal

federal constituencies · 2017 Constituency Delimitation Commission

The 165-constituency geometry the Nepal board draws. Article 286 fixes a delimitation for twenty years, so both cycles ran on this one map.

Ecuador10 sources

Results and vote data (3)

Consejo Nacional Electoral (CNE)

Elecciones Generales 2025 · parroquia by parroquia · presidential (both rounds) + Asamblea Nacional

Every vote total on the 2025 cycles. One row per ballot list per parroquia per junta, aggregated to the electoral districts for shares, vote weights and the national count (consumed by scripts/sim-intl/build-ec.mjs).

Consejo Nacional Electoral (CNE)

Elecciones Anticipadas 2023 · parroquia by parroquia · presidential (both rounds) + Asamblea Nacional

The snap election called by muerte cruzada. Ecuadoreans abroad are in the second-round database only: their first-round vote did not count, and the National Assembly ballot they cast was held on 15 October 2023, the day of the runoff.

Consejo Nacional Electoral (CNE)

registro de candidatos · 2023 and 2025 · the ESCAÑO column

The proclamation itself, and the golden the build refuses to ship without: the register records the seat number every elected member took, district by district and list by list. The desk’s seat totals are pinned from it rather than derived — 151 members in 2025 and 137 in 2023.

Boundaries / shapefiles (1)

Instituto Nacional de Estadística y Censos (INEC), published by the UN Office for the Coordination of Humanitarian Affairs (OCHA)

Common Operational Dataset · 24 provincias · CC BY-IGO

The map: the 24 provinces, drawn as the CNE reports them. Galápagos stays at its true position a thousand kilometres out — it is a province and it elects two members.

The rules (3)

Constitución de la República del Ecuador, art. 143

elección presidencial · 50%, o 40% con diez puntos de diferencia

Ecuador elects a president in the first round on an absolute majority, or on at least 40% of the valid vote with a lead of at least ten points. In 2025 Daniel Noboa cleared the forty and missed the ten by 9.8 points, which is why the country voted again in April.

Constitución de la República del Ecuador, art. 148

muerte cruzada · the 2023 cycles exist because of this clause

The clause that lets a president dissolve the Asamblea Nacional at the price of his own mandate. Guillermo Lasso invoked it on 17 May 2023 and both were elected again for the eighteen months left of the term.

Código de la Democracia, art. 164 (reformado en 2020)

método Webster · y la votación de la lista

Two rules in one article. Seats go by the método Webster — divisors 1, 3, 5, 7 — not d’Hondt, which misallocates 13 of 35 districts in 2025 against the CNE’s own proclamation. And a list’s votación is its candidates’ votes divided by the number of seats at stake, which is the number the CNE publishes and the number every share on this desk is taken from.

What is modelled rather than sourced (3)

The order in which provinces report

a model, driven by a measured quantity

The CNE publishes no acta-processing times, so no source states when a province reported. The desk derives each province’s reporting speed from the size of its own polling places, measured from the CNE’s file: dispersed rural provinces report last. Galápagos closing an hour after the mainland is not modelled — it keeps UTC−6.

The circunscripciones of Guayas, Manabí and Pichincha

allocated inside them · drawn as provinces

Those three provinces elect their members in circunscripciones, and this desk allocates inside them. It draws provinces because the boundaries of Guayas 1–3 and Pichincha 1–3 run along the urban parish lines of Guayaquil and Quito, and no open boundary file publishes them — drawing those districts would mean inventing a line nobody published.

Party colours and the regional groupings

editorial

Colours follow Ecuadorean broadcast convention where an organisation has a settled one and are chosen for legibility otherwise. Ecuadorean ballot lists are mostly alliances registered for one province and one election, so each list is keyed to the organisation that leads it — Revolución Ciudadana contested 2025 under five different list codes. The Costa / Sierra / Amazonía / Insular grouping is Ecuador’s four natural regions; Ecuador has no official grouping of electoral districts above the province.

Costa Rica8 sources

Territory on this map

Isla del Coco is a distrito of the cantón of Puntarenas and a real electoral district: one junta receptora de votos, 21 electors and three votes cast in 2022, 25 electors and one vote in 2018. Those ballots are counted on this desk, inside Puntarenas, which is the unit contested here. What is not drawn is the island itself — 550 km out in the Pacific, it multiplies the map's frame by two and a half to show a dot two pixels wide. That is a framing choice about a map, not a statement about territory, and Costa Rica's sovereignty over the island is not in dispute.

Checked and nothing contested is drawn: the International Court of Justice held in 2015 that the northern beach of Isla Portillos, on the Río San Juan delta, is Costa Rican territory and that Nicaragua had violated Costa Rica's sovereignty there, and delimited the maritime boundary in 2018. The line this desk draws is the Instituto Geográfico Nacional's, which follows that ruling. The Río San Juan itself is Nicaraguan under the Cañas–Jerez treaty of 1858 and the Cleveland Award of 1888, with Costa Rican navigation rights confirmed by the Court in 2009; the border runs on the Costa Rican bank, and that is what is drawn.

Results and vote data (4)

Tribunal Supremo de Elecciones de Costa Rica

Presidency + Asamblea Legislativa, 2018 · 2022 · 2026 · by province

Every vote total on this desk: the definitive escrutinio of the general elections of 4 February 2018, 6 February 2022 and 1 February 2026 and of the second votes of 1 April 2018 and 3 April 2022, from the Tribunal’s own Cómputo de Votos workbooks — juntas, electorate, ballots received, valid vote, every party’s vote, and the null and blank papers, province by province. Published by the branch of the Costa Rican state that organises, counts, calificates and proclaims the election (consumed by scripts/sim-intl/build-cr.mjs). The 2026 workbook’s own table of deputies elected by province (C3.8) is checked against the declaratoria (consumed by scripts/sim-intl/build-cr.mjs).

Tribunal Supremo de Elecciones — declaratorias de elección

Resolutions 1230-E11-2018, 1555-E11-2022 and 2363-E11-2026 · 1,308 cells checked

The proclamations, which print the whole allocation working for every province: the cociente, the subcociente, each party’s vote, its seats por cociente, its residuo, its seats por residuo mayor and its total. This desk reproduces every one of those cells rather than merely arriving at the same 57 seats, and the build fails on the first disagreement. 2026 fixes a new apportionment (18 · 12 · 6 · 5 · 5 · 6 · 5) on the 2022 census, read from the resolution, never assumed (build-cr.mjs).

Tribunal Supremo de Elecciones — presidential resolutions

970-E11-2018 · 1265-E11-2018 · 2241-E11-2018 · 1221-E11-2022 · 2424-E11-2022 · 1876-E11-2026

The resolutions that order each second vote, fix the first round’s definitive figures and declare the president elected. Two of them are read directly by the build: the finding that “ninguna de las nóminas superó el cuarenta por ciento”, which is the rule this desk models, and the names the Tribunal itself declares elected, which check the desk’s own candidate table against the authority. 1876-E11-2026 records the other outcome of art. 138 — Pueblo Soberano “excedió así el cuarenta por ciento” — and declares Laura Fernández elected on the first count; the build reads both findings (build-cr.mjs).

Tribunal Supremo de Elecciones — cortes de la transmisión de datos

24 numbered cortes on 6 February 2022 · 12 on 3 April · per province, per timestamp

The declaration curve on this desk is the Tribunal’s own election-night bulletins, not a model of them: each corte is stamped with a time and carries every province’s juntas procesadas and votes. It is why the two rounds of 2022 count so differently here — the first published nothing for two and a half hours after the close and then landed a fifth of the country at 20:40, while the second had nine-tenths of it in by 19:59. No corte record is published for 2018, so those two cycles borrow the 2022 shape and say so. The 2018 and 2026 cycles borrow the 2022 curve: the Tribunal publishes no timed record for 2018, and its 2026 record was not reachable when that cycle was built.

The allocation rule (2)

Constitución Política de Costa Rica, Article 138

A president is elected on more than FORTY per cent of the valid vote

The rule that makes a Costa Rican presidential night unlike its neighbours’: the ticket with “un número de votos que exceda del cuarenta por ciento del total de sufragios válidamente emitidos” is elected outright, and only below that do the two leading nóminas meet again. It is why 2006 had no second round on 40.92% and 2014 had one on 30.64%. This desk models forty, not fifty.

Código Electoral, Ley N° 8765, arts. 201–205

The provincial cociente, the subcociente, and the residuos

Each province divides its valid vote by its seats to get a cociente; half of one is the subcociente, and a party that did not reach it takes no part at all; seats go first to whole cocientes and then to the largest residuos among the parties that did. The cociente is taken over EVERY valid vote, the excluded parties’ included — recomputing it over the survivors returns a different and wrong chamber — and where more seats are left than parties in the field, the remainder round goes round again, which is how the Frente Amplio took two of San José’s seven in 2022 on a single residuo.

Boundaries / shapefiles (1)

Instituto Geográfico Nacional (IGN)

División Territorial Administrativa at 1:5,000 · 494 distritos dissolved to 7 provincias

The administrative division as the Tribunal Supremo de Elecciones republishes it in the cartography behind its Visor de datos División Territorial Electoral. Costa Rica’s provinces are the constituencies for the Assembly and the reporting units for the presidency, so the 494 distritos are dissolved to the seven of them and nothing else is needed.

Candidate names (1)

Wikipedia en español — Elecciones generales de Costa Rica de 2018 / de 2022 / de 2026

The presidential nómina each party registered

The one source on this desk that is not the Tribunal, and it is here because Costa Rica registers a nómina — a president and two vice-presidents — under a PARTY, and every Tribunal publication that carries numbers carries them by party. There is no machine-readable candidate register. The two presidents the Tribunal itself declares elected are checked against these names at build time, and the build fails if a party polls with no name at all. Used for 2018, 2022 and 2026 alike. The three presidents declared elected are checked against the Tribunal’s own declaratorias.

Dominican Republic8 sources

Results and vote data (2)

Junta Central Electoral (JCE)

Cámara de Diputados + presidency, 2024 and 2020 · per colegio electoral

Every vote total on this desk: the Relación General Definitiva del Cómputo Electoral for each level of both elections, and the per-polling-station files published beside it. The JCE organises, judges and proclaims Dominican elections under article 212 of the Constitution, so these are the definitive counts and not an election-night tally (consumed by scripts/sim-intl/build-do.mjs).

Junta Central Electoral — Resultados Escaños Congresual

The d’Hondt working for all 45 circunscripciones and the three overseas ones, 2024

The seat allocation itself, printed quotient by quotient with a total for each alliance. It is what this desk’s replay is tested against, unit by unit — the seats are read from the JCE’s own table rather than recomputed and then checked against a recomputation.

The law, and who was on the ballot (2)

Junta Central Electoral — declaratory resolutions

Resolución 44-2024 · Resolución 068-2020

The proclamations of the five diputados nacionales por acumulación de votos, which quote Ley No. 20-23 arts. 296–298 in full. That is the whole rule for the third tier of the Cámara, including the paragraph that reads an alliance as a single entity and the finding that a party’s votes are counted in its own boxes whatever alliances it joined in the provinces.

Junta Central Electoral — admission of candidacies

Resolución 23-2024 and 39-2020 (national deputies) · 20-2024 and 36-2020 (presidency)

Which parties filed their own national list and which allies each one carried — the only published statement of those pacts, and the reason the Partido Cívico Renovador’s national list is scored together with the Partido Liberal Reformista. The presidential resolutions give each ticket’s alliance and its candidate’s full name.

Precincts and boundaries (1)

Oficina Nacional de Estadística (ONE)

Municipal boundaries · 155 municipios · WGS84 · vintage 2021

The municipal cartography every constituency on this map is dissolved from, distributed as the OCHA common operational dataset for the Dominican Republic. Which municipios make up a circunscripción is not published as a table anywhere; it is read off the JCE’s own polling-station file, which records the circunscripción each station reported into.

The model (3)

Party colours are editorial

Not the parties’ own, and not anyone else’s

Blue for the Partido Revolucionario Moderno, purple for the Partido de la Liberación Dominicana, green for the Fuerza del Pueblo and red for the Reformista follow Dominican broadcast convention. The Partido Revolucionario Dominicano’s own colour is white, which a map cannot use, so it takes an ivory grey; the rest are chosen to be told apart at the size a circunscripción is drawn.

Three cities are drawn whole and counted in parts

Distrito Nacional · Santiago de los Caballeros · Santo Domingo Este

Each of these elects across three circunscripciones, split by barrio, and no public boundary file resolves a Dominican barrio. Rather than invent three lines through three cities, this map draws them whole and allocates their seats circunscripción by circunscripción exactly as the law does — so the Distrito Nacional’s eighteen deputies are still shared out as six, five and seven, which is a different result from one eighteen-seat district.

Declaration times are sampled

The count window only — every vote total is the JCE’s

The JCE publishes the definitive count but no per-constituency declaration times. Each constituency’s count window here is scaled by its own published number of polling stations, with the overseas circunscripciones last because their stations close later in local time. Nothing in it is a published time.

Botswana5 sources

Results and vote data (3)

Independent Electoral Commission of Botswana

2024 general election · report to the Minister for State President

The Commission’s own report on the 2024 General Elections (2025) — the published constituency and national figures every 2024 number on this desk is reconciled against, to the vote (consumed by ~/ElectIndex/sim-intl-data/bw/normalize.py for scripts/sim-intl/build-bw.mjs).

Independent Electoral Commission of Botswana

2019 general election · per candidate, per constituency

The Commission’s 2019 General Elections Report, Annexure 1 — every candidate’s name, party and vote in all 57 constituencies, with the registered, valid and rejected totals. Parsed directly (~/ElectIndex/sim-intl-data/bw/parse2019.py) and the source of the 2019 night in full.

Government of Botswana, Geographic Information Management System (GIMS)

IEC constituency results as data · 2024 and 2019

The Commission’s results re-keyed for GIS, which is where the desk takes its candidate names and its per-party breakdown; three transcription faults in it are corrected against the Commission’s own published totals before anything ships (consumed by scripts/sim-intl/build-bw.mjs).

Boundaries (2)

Government of Botswana, Geographic Information Management System (GIMS)

constituency boundaries · 61 seats (2024) and 57 seats (2019)

Both boundary eras, so each night plays on its own map: the 2022 Delimitation Commission took the National Assembly from 57 constituencies to 61 (consumed by scripts/sim-intl/build-bw.mjs).

OpenStreetMap contributors

district boundaries · ODbL

Botswana’s ten districts and six town authorities, used only to group constituencies into regions for the start menu. No seat or vote depends on it.

Singapore5 sources

Results and vote data (2)

Elections Department Singapore (ELD), Prime Minister’s Office

Parliament · GE2025 + GE2020 · every division, per candidate or GRC team · final figures incl. overseas votes

The authority behind every vote on this desk (consumed by scripts/sim-intl/build-sg.mjs): the ELD’s final-results pages for 2025 and 2020 — the only record that carries Marine Parade–Braddell Heights’ 2025 walkover — cross-checked row for row against its data.gov.sg dataset “Parliamentary General Election Results by Candidate”, with electors and rejected votes from its companion “Registered Electors, Rejected Votes and Spoilt Ballots”. The national identity — every candidate vote plus every rejected vote equals the total cast — is asserted at build time against the ELD’s media releases of 15 May 2025 and 15 July 2020. Datasets under the Singapore Open Data Licence v1.0.

ELD sample counts

GE2025 + GE2020 · one per division · 100 ballots from every polling station, weighted by station size

The beat that makes a Singapore night: about two hours after the close the ELD publishes a sample count for each division, and the build authors it as each contest’s first drop. The published sample counts are read only to verify that claim — in both years every one of them named the eventual winner.

Boundaries / shapefiles (2)

Elections Department Singapore — Electoral Boundary 2025 and 2020 (data.gov.sg)

GeoJSON · 33 divisions (2025) · 31 divisions (2020) · each election on its own boundaries · Singapore Open Data Licence v1.0

The ELD’s own division polygons, consumed by scripts/sim-intl/build-sg.mjs. They are land cartography — the offshore islands drawn as their own parts, no territorial sea — so nothing was clipped. The 2020 night plays on the 2020 file; the 2025 boundary review moved 22 of 31 divisions, so neither cycle claims a notional previous winner.

People’s Association — Community Development Council districts

Five CDC districts · realigned before each election · the desk’s regions

The board’s regional grouping (“Or start from a region”, the POLLS CLOSE feed) is the five CDC districts — Central Singapore, North East, South East, North West and South West — typed into the build from their published compositions and asserted to partition every division in both eras.

The night itself (1)

Declaration times are simulated between the real first and last

Sampled · seeded by division code · the ELD publishes no per-division time

The envelope is pinned from the press record — 2025: sample counts from 21:50, Radin Mas declared first at 23:10 and Tampines last at 01:46; 2020: polls held open to 22:00, Bukit Panjang first at 01:22, Aljunied and Nee Soon last at 03:44 — and every other minute is modelled from electorate size and margin. The shape is the claim; no individual division’s minute is.

Albania5 sources

Results and vote data (2)

Komisioni Qendror i Zgjedhjeve (KQZ)

Kuvendi, 11 May 2025 · every list, per qark

Regulatory Commission Decision No. 34 of 28 August 2025 proclaiming the final result — Lidhja 1 (votes and mandates per list in each of the 12 zonat zgjedhore) and Lidhja 2 (national). An 18-page scan with no text layer, transcribed and re-read page by page (consumed by scripts/sim-intl/build-al.mjs via 2025/kqz_final_2025_by_qark.csv).

Komisioni Qendror i Zgjedhjeve (KQZ)

Kuvendi, 25 April 2021 · every list, per qark

Regulatory Commission Decision No. 21 of 13 July 2021 proclaiming the final result — Lidhja 4 and 5, parsed from the decision’s own text and reconciled list by list (consumed by scripts/sim-intl/build-al.mjs via 2021/kqz_final_2021_by_qark.csv).

The seat formula (1)

Kodi Zgjedhor i Republikës së Shqipërisë

law 10019/2008 as amended · art. 162–163

d’Hondt inside each qark among the lists that took at least 1% of the valid vote nationally (law 118/2020, one bar for parties and coalitions alike); a voter-proposed candidate divides by 1 only and, since Constitutional Court decision 31/2021, is not bar-tested; and the clause rounding each quotient to the nearest whole number, which the build checks never changes a seat (consumed by scripts/sim-intl/build-al.mjs and sim-desk-al.js).

Boundaries / shapefiles (2)

OpenStreetMap contributors

12 qark relations (admin_level 6, ISO 3166-2) · ODbL

The qark boundaries, fetched by relation id through Overpass and assembled with osmtogeojson; used because ASIG’s geoportal puts its boundary services behind a login and the KQZ publishes no geometry (consumed by scripts/sim-intl/build-al.mjs via geo/fetch.sh → geo/qarqe_clean.geojson).

Natural Earth

10m lakes · public domain

The Albanian parts of Lake Shkodër, Ohrid, Prespa and Little Prespa, erased from the qark polygons (consumed by scripts/sim-intl/build-al.mjs via geo/lakes_al.geojson).

Thailand4 sources

Territory on this map

The 400 constituencies are drawn on Thailand’s own administrative line — the map is cut from GISTDA’s 1:50,000 tambon polygons. Measured on the source, that line runs to within about 80 metres of the walls of Preah Vihear (Prasat Phra Wihan) in Si Sa Ket 4 and of Ta Muen Thom in Surin 8, and takes in the Ta Kwai temple site, 1.4 km inside Surin 8, and the Chong Bok tri-border in Ubon Ratchathani 10. Cambodia claims that ground; the International Court of Justice found the temple Cambodian in 1962 and, in its 2013 interpretation of that judgment, the whole promontory around it; the two armies fought over these sites in 2025. It is a few square kilometres in three seats — no constituency is the contested ground.

The simulator’s shared world map, which follows Natural Earth, draws the Preah Vihear promontory outside Thailand, so the desk map and the globe differ there on purpose. The desk map states where the Election Commission counted ballots, not who owns the ground. Cambodia has no desk.

Results and vote data (2)

สำนักงานคณะกรรมการการเลือกตั้ง (Election Commission of Thailand)

ECT Report 2566 · per-constituency results for both ballots · JSON of 24 May 2023, processed by the Government Big Data Institute · via the Internet Archive

Every constituency candidate’s vote, every party’s list vote in every constituency, the list-candidate rosters the seat capacity derives from, the party table (colours included) and the province table (consumed by scripts/sim-intl/build-th.mjs).

สำนักงานคณะกรรมการการเลือกตั้ง via กรมประชาสัมพันธ์ (ECT via the Public Relations Department)

Official results statement · 25 May 2023 · 400 constituency winners, the 17-party list allocation, national totals

The figures the desk’s golden test is pinned to (tests/th-desk-data.test.mjs).

Boundaries / shapefiles (1)

กฤตพัฒน์ รัตนภูผา (Kittapat Ratanaphupha), สถาบันข้อมูลขนาดใหญ่ (Big Data Institute)

Thai-ECT-election-map · the 400 constituencies of the ECT’s 2023 delineation · shapefile · MIT

The constituency map the board draws, built from GISTDA 1:50,000 tambon polygons, DLA municipal boundaries and Bangkok GIS to the ECT’s gazetted delineation (ราชกิจจานุเบกษา เล่ม 140 ตอนที่ 23 ก); its author notes it is an approximation, not a legal reference (scripts/sim-intl/build-th.mjs).

The model (1)

ราชกิจจานุเบกษา (Royal Thai Government Gazette)

พ.ร.ป. ว่าด้วยการเลือกตั้ง ส.ส. (ฉบับที่ 2) พ.ศ. 2566, มาตรา 128 · รัฐธรรมนูญ มาตรา 83 วรรคสี่ (2564 amendment)

The list-seat formula the composer applies: Hare quota over every valid list vote, largest remainders, no threshold, a party capped at its nominated list with the shortfall left vacant (sim-desk-th.js).

North Macedonia5 sources

Results and vote data (3)

Државна изборна комисија (State Election Commission)

Sobranie, 8 May 2024 · preliminary results of 9 May (every list, per unit) and the conclusions of 18, 27 and 30 May 2024 (final results and mandates per unit)

The Commission’s own announcement and conclusions. The conclusions print only the lists that won a seat, so those carry their final figure and the eleven lists that won nothing keep the preliminary one; the 22 May re-vote at seven polling stations moved unit 6 from 9–7 to 8–8 between the European Front and VLEN, which is why the desk reads 18 and 14 rather than the 19 and 13 reported on the night (consumed by scripts/sim-intl/build-mk.mjs).

Државна изборна комисија (State Election Commission)

Sobranie, 15 July 2020 · results from the polling-board records, per polling station; conclusion on final results and mandates of 25 July 2020

The Commission’s per-polling-station record of the early election, summed to the six units; the sum reproduces the conclusion’s national vote and every unit’s mandate table exactly, and the build asserts it (consumed by scripts/sim-intl/build-mk.mjs).

Државна изборна комисија — results portal (ep.sec.mk)

Sobranie, 11 December 2016 · every list, per electoral unit

The Commission’s portal is where its own ‘results of previous elections’ page sends readers for 2016; the desk reads each unit’s plurality list there so 2020’s GAIN/HOLD compares against a real prior result rather than a reconstruction (consumed by scripts/sim-intl/build-mk.mjs).

The seat formula (1)

Изборен законик (Electoral Code)

consolidated text of March 2024 · чл. 127 and 175

The two rules this desk implements: 120 members from six 20-seat units by d’Hondt with no threshold, and the units themselves — defined as ranges of polling-station numbers per municipality, so six municipalities straddle a unit line (consumed by scripts/sim-intl/build-mk.mjs and ~/ElectIndex/sim-intl-data/mk/geo/build-units.mjs).

Boundaries / shapefiles (1)

OpenStreetMap contributors

municipality (admin_level 7) and settlement (admin_level 8) boundaries · Lakes Ohrid, Prespa and Dojran · ODbL

No authority publishes the electoral units as geometry, so they are assembled from OSM’s 80 municipalities under the Code’s assignment, with the five rural split municipalities resolved settlement by settlement from the Commission’s polling-station register and the three border lakes erased. Čair in Skopje is split street by street with no public catchment layer and is drawn whole in unit 1, where 52 of its 88 stations sit (consumed by ~/ElectIndex/sim-intl-data/mk/geo/build-units.mjs → scripts/sim-intl/build-mk.mjs).

Moldova8 sources

Territory on this map

This desk draws the 32 raions, the municipalities of Chișinău and Bălți and UTA Găgăuzia — the ground on which the Comisia Electorală Centrală opens polling stations — and it draws where a Moldovan ballot was cast, not who governs the ground.

The left bank of the Dniester and Bender. Both have been administered from Tiraspol since the 1992 ceasefire, and the CEC opens no polling station there. Residents who vote cross to stations the CEC opens for them on ground the constitutional authorities administer — 41 in July 2021, 30 in October–November 2024, 12 in September 2025 (in Chișinău, Anenii Noi, Gura Bîcului, Copanca, Căușeni, Sănătăuca, Rezina and Răscăieți; the CEC’s 2025 totalisation report records that the four highest-risk sites at Cocieri, Doroțcaia, Varnița and Hagimus were relocated by Hotărârea nr. 4098 of 25 September, after the police and the security service asked for sites 20–30 km from the Security Zone). The CEC files those ballots as its own constituency 37, and the desk carries them as the off-map unit ‘Left-bank residents’: 28,173 valid votes in 2021, 16,014 and 26,136 in the two presidential rounds, 12,017 in 2025 — every one of them in the national count. Nothing is painted on the left bank, because no ballot was cast there.

The raions are drawn at their legal extent. That is the CEC’s own delimitation of a constituency, and it cuts both ways across the line of administration. Dubăsari raion keeps the villages on the left bank that Chișinău administers — Cocieri, Coșnița, Doroțcaia, Molovata Nouă, Pîrîta — where the CEC opens ordinary stations, so they are ground where ballots were cast. Căușeni raion’s polygon takes in Chițcani, Cremenciug and Gîsca on the right bank, which Tiraspol administers and where no station opens; they are drawn because the raion is, and the desk claims nothing about them beyond that.

The desk takes no position on the status of the territory. The Republic of Moldova’s Law 764/2001 lists the left-bank localities and Bender as its own administrative-territorial units, and no state recognises the Tiraspol authorities; the OSCE-led 5+2 negotiations remain the format for the settlement. The background world map draws the internationally recognised position, which is the same line this desk’s undrawn ground follows. Full sources in the data credits below.

Results and vote data (6)

Comisia Electorală Centrală (CEC)

Parliament, 28 September 2025 · per-station workbook · 2,274 stations

The Commission’s own per-station results, reconciled column for column to its national row (1,578,722 valid, except one stray Tokyo ballot for a withdrawn list that the CEC’s own row prints as RETRAS with none) — consumed by scripts/sim-intl/build-md.mjs.

Comisia Electorală Centrală (CEC)

Parliament, 11 July 2021 · Totalizator workbook · 2,150 stations

The Commission’s per-station results for the 2021 early election, 1,467,216 valid votes reconciled to its national row (consumed by scripts/sim-intl/build-md.mjs).

Comisia Electorală Centrală (CEC)

President, 20 October and 3 November 2024 · both rounds · 2,219 stations each

The Commission’s per-station returns for both rounds — 1,546,031 and 1,680,569 valid votes. Candidates carry no published party affiliation on the ballot, so their colours here are editorial (consumed by scripts/sim-intl/build-md.mjs).

Comisia Electorală Centrală (CEC)

Hotărârea nr. 4151 of 5 October 2025 · the mandate decision

The decision allocating the 101 mandates — PAS 55, the Patriotic Bloc 26, Alternativa 8, Partidul Nostru 6, Democrația Acasă 6 — which prints the d’Hondt series itself; it is what the 2025 golden test is pinned to.

Curtea Constituțională a Republicii Moldova

Hotărârea nr. 20 of 2021 and nr. 25 of 2024 · confirmations of the results

The Court’s confirmations, quoting CEC decision 5180/2021 (PAS 63 · BECS 32 · Șor 6) and CEC decision 3208/2024 (Sandu 930,139 · Stoianoglo 750,430 of 1,680,569) — the figures the 2021 and 2024 goldens are pinned to.

Comisia Electorală Centrală (CEC) — Ghidul candidatului 2025

The law as the CEC states it · thresholds and the d’Hondt series

The rules the composer applies: a bar of 7% for any electoral bloc, 5% for a party and 2% for an independent, each over every valid vote; d’Hondt with divisors 1…101, an independent entering the series once. The same rules held in 2021 under the 1997 Electoral Code as amended by Law 113/2019 (sim-desk-md.js).

Boundaries / shapefiles (1)

OpenStreetMap contributors

admin_level 4 relations · 35 of the 37 de jure units, at legal extent · ODbL

The raions, the two municipalities and UTA Găgăuzia as OSM draws them; the left bank and Bender are not drawn because the CEC opens no station there. Landlocked, so no coastline clip; simplified to 55 KB (consumed by scripts/sim-intl/build-md.mjs).

Imagery (1)

OpenStreetMap contributors — place nodes

the 20 largest places inside the drawn units · ODbL

The reference cities on the desk map (consumed by scripts/sim-intl/build-md.mjs).

Guatemala5 sources

Territory on this map

The 23 districts are drawn from the OCHA/HDX boundary file, which excludes Belize. Guatemala claims part of Belize’s territory; both countries referred the claim to the International Court of Justice in 2019 and the case is pending. No electoral district exists on that ground and no ballot is cast there, so the map draws nothing — the absence is where the ballots were cast, not a position on the claim. Belize has no desk.

Results and vote data (3)

Tribunal Supremo Electoral (TSE)

Memoria de Elecciones Generales 2023 and 2019 · per-district vote by list + adjudicated deputies · Acuerdos 1361–1387 (2023), 377–400 (2019); presidential declarations 1328-2023, 1659-2023, 362-2019, 533-2019

Every district’s and the national list’s vote and adjudications, which the golden test is pinned to (scripts/sim-intl/build-gt.mjs via parse_memoria*.py; tests/gt-desk-data.test.mjs).

TSE — TREP 2023

Preliminary count, final cut · presidential and national-list vote by district and for Guatemalans in the US · 98.8% / 99.96% of actas

The by-district geography of the 2023 presidential rounds and the national-list ballot, scaled per party to the Acuerdo totals (scripts/sim-intl/build-gt.mjs). Second round at segundaeleccion.trep.gt.

CADEP, Universidad Francisco Marroquín

Elecciones 2019 parte III · 2019 runoff by the 23 districts, transcribed from the TSE preliminary panel

The by-district geography of the 2019 runoff, scaled to Acuerdo 533-2019 (scripts/sim-intl/build-gt.mjs).

Boundaries / shapefiles (1)

OCHA / HDX — COD-AB Guatemala, source CONRED

admin-2 municipalities · WGS84 · CC BY-IGO · excludes Belize

Dissolved to the 23 electoral districts, the municipality of Guatemala standing alone as the Distrito Central (scripts/sim-intl/build-gt.mjs –geo).

The model (1)

Ley Electoral y de Partidos Políticos (Decreto 1-85, reformed by Decreto 26-2016)

arts. 203–205 · 128 district + 32 national-list deputies · d’Hondt, no threshold

The allocation the engine applies per district and the composer applies to the national list (sim-desk-gt.js).

Armenia3 sources

Territory on this map

The eleven units are OpenStreetMap’s marz relations, drawn as Armenia administers them. Tigranashen, inside Ararat marz, is the Karki exclave — Azerbaijani under the Soviet-era line, run by Armenia since 1992, inhabited, and polling in these elections — so it is drawn: ballots were cast there. Two uninhabited Azerbaijani exclaves that Armenia holds in Tavush (Barkhudarli and Sofulu) have no precinct and are not drawn. Artsvashen, Armenia’s exclave in Gegharkunik marz, has been held by Azerbaijan since 1992, casts no ballot and is not drawn; it is the gap between the marz’s drawn and official area. The four Tavush border villages handed to Azerbaijan in the 2024 delimitation had no Armenian precinct. None of this is a position on the border, which the two states are still delimiting. The Azerbaijan desk draws none of this ground either: it does not draw the two Tavush exclaves, and Artsvashen is a hole in both maps.

Results and vote data (2)

Central Electoral Commission of the Republic of Armenia (ԿԸՀ)

National Assembly 2026 + 2021 · per precinct, per list · invalid ballots + inaccuracies

The precinct-level tabulation of every list’s vote, the precinct-commission directory that places each precinct in its marz, and the CEC’s summary tab with the national totals and the seat allocation the desk is checked against; the 2018 tabulation is read only for the 2021 map’s previous toppers (consumed by scripts/sim-intl/build-am.mjs after the staged stage.py).

Electoral Code of the Republic of Armenia

Constitutional law · 2020 text (2021 election) and the text as amended 7 May 2021 (2026 election)

The seat arithmetic the composer implements: the bar over votes plus inaccuracies, the three-list minimum, Hare over 101, the four national-minority seats, the two-thirds and stable-majority clauses — each in the vintage that governed the night (arlis.am consolidated text; Venice Commission CDL-REF(2021)020; ODIHR reports 2021 and 2026).

Boundaries / shapefiles (1)

OpenStreetMap contributors

Marz relations (admin_level 4) + the Lake Sevan outline · ODbL

Armenia publishes no downloadable marz geometry, so the eleven units are OSM’s administrative relations, checked against ArmStat’s marz areas, with Lake Sevan erased from Gegharkunik. Tigranashen (Armenian-administered, Azerbaijani de jure, polling) is drawn; the empty Tavush exclaves and Azerbaijani-held Artsvashen cast no ballot and are not.

Bolivia7 sources

Territory on this map

The map is the Tribunal Supremo Electoral’s own circunscripciones uninominales, drawn inside Bolivia’s recognised borders; Lake Titicaca, Lake Poopó and the Uyuni and Coipasa salt flats are blank because the TSE draws them blank. The seven circunscripciones especiales indígena originario campesinas are sets of rural polling places with no contiguous ground, so the desk shows them as chips under the map rather than as shapes. The 2025 party colours are the TSE’s own SIREPRE palette; 2020’s and the indigenous organisations’ are editorial.

Results and vote data (3)

Órgano Electoral Plurinacional / Tribunal Supremo Electoral

Elecciones Generales 2025 · cómputo oficial per mesa · first round (export 24 Aug 2025) and runoff (26 Oct 2025)

Every mesa’s presidential, uninominal and special-circunscripción ballot, with the circunscripción each mesa belongs to; the presidential vote per circunscripción is the list vote the 60 plurinominal seats are allocated from (consumed by scripts/sim-intl/build-bo.mjs).

Órgano Electoral Plurinacional

Publicación de Resultados – Elecciones Generales 2025 (separata) · the proclaimed members per department

The figures the 2025 golden is pinned to — every department’s list, circunscripción and special-seat titulares (tests/bo-desk-data.test.mjs).

Órgano Electoral Plurinacional — Atlas Electoral

Elecciones Generales 2020 · per-mesa results: presidential (domestic and abroad), uninominal with circunscripción, special circunscripciones

The 2020 cycles, mesa by mesa; the sums equal the Acta de Cómputo Nacional of 23 October 2020 exactly and the build asserts it (consumed by scripts/sim-intl/build-bo.mjs).

Boundaries / shapefiles (1)

Tribunal Supremo Electoral — Unidad de Geografía Electoral

Circunscripciones uninominales 2025 (EG_2025) and 2014–2020 (Circunscripciones_2014_para_elec2020) · ArcGIS REST · WGS84

The 63 circunscripciones of each era, one polygon each, lakes and salt flats already cut out; the 2025 layer also carries the TSE’s own per-circunscripción results, which match the cómputo cell for cell (consumed by scripts/sim-intl/build-bo.mjs –geo).

The model (3)

Estado Plurinacional de Bolivia — Ley N° 026 del Régimen Electoral

arts 52–61 · presidential rule, the three deputy tiers, art. 59 allocation

The composition the desk applies: per-department d’Hondt over the presidential vote among parties on 3% nationally, uninominal wins subtracted, and art. 59(d)’s removal from the lowest quotients when a party out-wins its entitlement (sim-desk-bo.js).

Ley N° 1614 de Distribución de Escaños entre Departamentos (15 January 2025) · Ley N° 421 (7 October 2013)

apportionment per era · Santa Cruz 29 / Chuquisaca 9 from 2025; 28 / 10 before

The seat table per department each cycle composes to (scripts/sim-intl/build-bo.mjs).

Correo del Sur · ABI · Opinión · La República

SIREPRE presentation times, 17 August and 19 October 2025

The count’s pace: 91.25% of actas presented after 21:00, 92.6% by 22:29, the runoff 97.68% by about 20:30; 2020 had no preliminary count and is sampled from this curve (scripts/sim-intl/build-bo.mjs).

Paraguay8 sources

Results and vote data (5)

Tribunal Superior de Justicia Electoral (TSJE)

Elecciones Generales 2023 · mesa by mesa · all five candidaturas

Every 2023 vote total: one row per mesa, one column per list, aggregated to the 18 colegios and the vote abroad (consumed by scripts/sim-intl/build-py.mjs through the staged stage.py).

Tribunal Superior de Justicia Electoral (TSJE)

Elecciones Generales 2018 · Cómputo Definitivo · per mesa and per department

Every 2018 vote total, checked against the definitive per-department table (consumed by scripts/sim-intl/build-py.mjs).

Tribunal Superior de Justicia Electoral (TSJE)

Candidatos Electos – D’Hondt 1996–2025

The members proclaimed in each department; the record the seat goldens are pinned from (consumed by scripts/sim-intl/build-py.mjs).

Tribunal Superior de Justicia Electoral (TSJE)

Resultados 1996–2023 por Distrito

The file both years’ mesa counts reconcile against to the vote, and the source of 2018’s list siglas (consumed by scripts/sim-intl/build-py.mjs).

Tribunal Superior de Justicia Electoral (TSJE)

Candidaturas oficializadas 2023 · candidate register 2018 · Resoluciones N° 259/2017 and N° 16/2022

List names and presidential fórmulas, and the convocatorias fixing the 80 seats by department for 2018 and 2023 — Paraguarí 4→3 and Canindeyú 2→3 the only changes (hand-transcribed into scripts/sim-intl/build-py.mjs).

Precincts and boundaries (1)

Instituto Nacional de Estadística (INE)

Cartografía Censal 2022 · departments · GeoJSON

The 17 departments and Asunción, dissolved to the 18 colegios and joined by name — the INE’s department numbers for Boquerón and Alto Paraguay are the reverse of the TSJE’s (consumed by scripts/sim-intl/build-py.mjs –geo).

The model (2)

Reporting order is a model, not a record

TREP milestones · ABC Color (2023) · Última Hora and Infobae (2018)

The TSJE publishes no transmission times; the curve is authored from each night’s reported TREP milestones — 2023: 28% at +1h43, 55% at 18:30, 79% at 19:00, 98.5% at 20:35; 2018: 40% by about 19:00, 96.8% by about 21:20 — with a ±15% regional lag, Asunción and Central first, the Chaco and the consulates last (scripts/sim-intl/build-py.mjs).

How seats are credited

Lists as the TSJE proclaims them · coloured by the party that owns the ballot number

The Concertación took list 3 for president and Senate but registered no Diputados number, so its 2023 slates ran on the PLRA’s list 2 in 17 of 18 colegios and read here as PLRA (23); Alianza GANAR ran on its own number 5 in 2018 and stands beside the PLRA (13). Party colours are editorial beyond Colorado red and Liberal blue (sim-desk-py.js).

Andorra4 sources

Results and vote data (1)

Govern d’Andorra / Junta Electoral — Eleccions Generals 2023 and 2019

2023 and 2019 · the national constituency and all seven parish constituencies

The official election dossiers: every candidature, the turnout hour by hour from 09:00 to 19:00, the escrutini of the national ballot and of each of the seven parish ballots separately, the two cross-tabs that break the national ballot down by parròquia, and the proclaimed composition of the Consell General with every member named. ⚠️ Every table in both dossiers is a raster image, so the figures are transcribed and then re-proved against the authority’s own published totals on every build — the ballot ledger at fifteen places, the parish rollup, and each list’s seven parish figures against its national total. Consumed by scripts/sim-intl/build-ad.mjs (readCycle, reconcile).

The seat formula (1)

Portal Jurídic d’Andorra — Llei 44/2022, del 12 de desembre, de text consolidat qualificada del règim electoral i del referèndum

arts. 61–62 · the parish tier and the national tier

Twenty-eight members on two ballots. Art. 61.1 gives each parròquia’s two seats to “els candidats de la candidatura més votada” — the most-voted list takes both, at any margin. Art. 62 shares the fourteen national seats by “resta més elevada” on a quotient of “el nombre total de vots vàlids per catorze”, and 62.2 hands the leftovers only to “aquella o aquelles candidatures que ja tinguessin representació”. That restriction is the desk: on the real 2023 vote, an open remainder round seats Liberals d’Andorra (893 votes) and Acció (805) — both leftovers are larger than the Demòcrates’ own — out of the Demòcrates’ fifth seat and Andorra Endavant’s third. d’Hondt, Sainte-Laguë, Hare and Droop each return a chamber that never existed, so the statute is implemented from its own text (national() in assets/simulator/sim-desk-ad.js, art62() in scripts/sim-intl/build-ad.mjs) and checked against the proclamation for both cycles.

Boundaries / shapefiles (2)

OpenStreetMap contributors

the seven parròquies · admin_level=7 relations 2804753–2804759 · ODbL

The parish boundaries and the reference places, fetched by relation id through the Overpass API so a retagging cannot silently change which polygons ship; each relation carries its own ISO 3166-2 code, which is what the desk’s contests join on. The Govern publishes no open cadastral boundary and Natural Earth’s 10m parishes are 17 to 32 points apiece on a border that is entirely Pyrenean ridgeline. Andorra is landlocked with no significant standing water, so nothing is clipped; instead the build proves the seven tile the country, at 467.30 km² against the published 467.63. Attribution is a condition of the ODbL, not optional. Read by scripts/sim-intl/build-ad.mjs (geometry, cities).

Natural Earth

10m admin-0 countries · public domain

The independent check that the parish polygons are Andorra and only Andorra — the extent agrees to 0.0216°, which is Natural Earth generalising a Pyrenean border at 1:10m. Read by scripts/sim-intl/build-ad.mjs (geometry); none of its geometry ships on this desk.

San Marino4 sources

Territory on this map

San Marino elects all sixty members of the Consiglio Grande e Generale from one nationwide constituency, so the nine Castelli on this map report the vote and elect nobody — every seat is allocated once, nationally. Three further reporting units have no territory at all: the sections for citizens resident abroad, who are 14,979 of the 38,338 on the 2024 roll. They are counted and not drawn.

The count curve through the evening is a sampled shape, not a record: the Segreteria publishes no per-section declaration times. Preference votes, which order candidates inside a list and never move a seat between lists, are published separately and are not modelled here.

Results and vote data (3)

Segreteria di Stato per gli Affari Interni — Sito Elezioni

Official results by Castello and by overseas section · turnout, list votes and cifre di coalizione · 2024, 2016

Every vote total on the San Marino desk: the per-unit returns the map and the national count are built from.

Segretario di Stato per gli Affari Interni — manifesto of 28 June 2024

Proclamation under art. 42 c.2, Legge 31 gennaio 1996 n. 6 · 1° turno of 9 June 2024

The official 2024 figures the golden test pins: turnout, the 909-vote admission threshold, each list’s cifra elettorale, both cifre di coalizione and the sixty-seat table.

Raccolta coordinata delle norme in materia elettorale

Art. 40, Legge 31 gennaio 1996 n. 6, as rewritten by Legge Qualificata 16 settembre 2019 n. 3 and Legge Qualificata 5 agosto 2008 n. 1

The law the desk runs: the 5% threshold (3.5% in 2016), d’Hondt over the admitted lists, the premio di stabilità that tops a winner up to 35 seats, the negotiation phase that cancels it, and the ballottaggio.

Boundaries / shapefiles (1)

OpenStreetMap contributors

Administrative relations, admin_level 8 · the nine Castelli, keyed by ISO 3166-2 · ODbL

The Castello polygons the San Marino map is drawn from. No Sammarinese authority publishes them in an open format.

Azerbaijan8 sources

Territory on this map

The map draws the constituencies in which the Mərkəzi Seçki Komissiyası opened polling stations and counted votes, and only those. That includes the eight Karabakh constituencies: 2024 was the first Azerbaijani election held across the whole of the territory Azerbaijan controls, the OSCE/ODIHR mission records 55 precinct commissions established in the areas Azerbaijan took control of in 2023, and Xankəndi voted on its own ground for the first time since 1994. Seven of those eight nevertheless poll an electorate that is still overwhelmingly displaced and votes elsewhere in Azerbaijan: constituencies 118–121 and 123–125 carry 53,740 to 61,587 registered voters each against the Commission’s own norm of 50,470, while Xankəndi carries 6,693 over sixteen precincts. ODIHR’s observers were not present in those territories on election day. The status of the region was addressed by the United Nations Security Council in Resolutions 822, 853, 874 and 884 (1993) and remains the subject of negotiations between Azerbaijan and Armenia; this desk takes no position on it. Two uninhabited Azerbaijani exclaves that Armenia holds in Qazax rayonu — Yuxarı Əskipara/Barxudarlı and Sofulu/Qızılhacılı — cast no Azerbaijani ballot and are not drawn, and neither does the Armenia desk draw them. Artsvashen/Başkənd, Armenia’s exclave that Azerbaijan has held since 1992, casts no ballot and is left as a hole in both maps. Kərki/Tigranashen polls in Armenia and is drawn by the Armenia desk alone. None of this is a position on the border.

Separately, and it is not a territorial question: the Central Election Commission publishes NO constituency boundaries. Its legal definition of a constituency is a list of street addresses, polling station by polling station, and its own published map is a layer of 125 commission-office points; OpenStreetMap carries no electoral boundary for Azerbaijan at all. Each constituency is therefore assembled from the administrative units its official name is built out of, and where several constituencies share a unit — Bakı’s twelve rayons carry thirty-one of them — that unit is divided into strips of its own area sized by the constituencies’ registered electorates. Every outer line is an administrative boundary. Every line inside a shared rayon is ElectIndex’s, and is a schematic rather than the Commission’s delimitation.

Results and vote data (4)

Azərbaycan Respublikası Mərkəzi Seçki Komissiyası (MSK)

Milli Məclis, 1 September 2024 · the Commission’s own protocol on the general results, signed 16.09.2024

The proclamation itself: the 125 constituencies in the Commission’s own naming, the 125 members declared elected, the national electorate and turnout, and the annex naming the 46 precincts whose results were invalidated. Every other figure in this desk is checked against it (scripts/sim-intl/build-az.mjs, via the staged parse_protocol.py).

MSK İnformasiya Mərkəzi

125 constituencies · 990 candidates · 6,478 precinct protocols · party membership + nominator

The Commission’s own results archive: every registered candidate’s vote total, every candidate’s party membership and who nominated them, and the full precinct protocols. ⚠️ Its published district totals EXCLUDE the 46 invalidated precincts, so they sit about 0.7 per cent below the aggregate ODIHR published from the same commissions’ protocols; this desk ships the Commission’s final cut (scripts/sim-intl/build-az.mjs).

Mərkəzi Seçki Komissiyası — register of political parties

26 parties registered in the Republic of Azerbaijan · names and abbreviations

The registered Azerbaijani name behind every abbreviation the results service prints, and the reason no party in this desk is bucketed into an “Others” row (the PARTY table in scripts/sim-intl/build-az.mjs).

OSCE/ODIHR Election Observation Mission

Early Parliamentary Elections, 1 September 2024 — Final Report, 27 February 2025

The independent account of the election that the night’s note quotes, the aggregate the desk’s reconciliation is run against, the Commission’s 50,470-voter apportionment norm, and the count of precinct commissions established in the regained territories.

Precincts and boundaries (3)

OpenStreetMap contributors

89 administrative units · rayonlar, Bakı rayons, republic-level şəhərlər · ODbL 1.0

The only boundaries this desk has. ⚠️ Constituency outlines are BUILT from them and are approximate — see the note above (scripts/sim-intl/build-az.mjs buildGeo()).

Natural Earth 10m admin-0

coastline · applied east of 48.6°E only

Takes the Caspian off the OpenStreetMap rayon polygons, which run out to sea — Pirallahı is 4,098 km² of polygon against about 24 km² of land. Applied on the seaward side only: Natural Earth’s Araz-river line is coarser than OpenStreetMap’s, and a whole-country clip also shaves 217 km² of land off Ordubad (scripts/sim-intl/build-az.mjs).

Azərbaycan Respublikası Prezidentinin Fərmanı, 7 July 2021

“Azərbaycan Respublikasında iqtisadi rayonların yeni bölgüsü haqqında” · 14 economic regions

The regions the constituencies are grouped into on the board and in the start menu’s region picker (the REGION table in scripts/sim-intl/build-az.mjs).

The model (1)

Azərbaycan Respublikasının Seçki Məcəlləsi

125 single-mandate constituencies · simple plurality · one round

The system the engine replays, as ODIHR’s final report states it: members are elected by a simple majority in 125 single-mandate constituencies for a five-year term. Party colours are editorial — no Azerbaijani party has a legally fixed colour and the Commission publishes none.

Montenegro6 sources

Results and vote data (3)

Državna izborna komisija (State Election Commission)

Skupština, 11 June 2023 · final results, broj 910 of 14 July 2023, and final results by polling station (1,154 stations × 15 lists)

The Commission’s own act and its per-polling-station file, summed to the 25 opštine and the prison-service unit. The sum reproduces every one of the act’s fifteen list totals and its 302,436 valid votes exactly, and the build refuses to run otherwise — which matters, because the file interleaves per-opština and national TOTAL rows that a naive read counts as data, trebling the tally while leaving every seat and every threshold outcome perfect (consumed by scripts/sim-intl/build-me.mjs).

Državna izborna komisija (State Election Commission)

Skupština, 30 August 2020 · final results, broj 756/2 of 14 September 2020, and the full results workbook published under čl. 32 and čl. 99

The workbook gives register, ballots cast, valid and invalid votes and all eleven lists for each of the 24 opštine of the day plus the prison-service unit; its own national row is dropped and used as a check. It reconciles to the act exactly (consumed by scripts/sim-intl/build-me.mjs).

Državna izborna komisija (State Election Commission)

the electoral register per opština, closed 31 May 2023, published under čl. 19 Zakona o biračkom spisku

Where the 2023 turnout comes from. DIK publishes ballots cast only nationally for that night, so the desk shows valid votes as a share of the register — exact for every unit on both nights, and 0.5 points under the headline turnout because the headline counts invalid ballots too (consumed by scripts/sim-intl/build-me.mjs).

The seat formula (1)

Zakon o izboru odbornika i poslanika

the Commission’s published consolidation · čl. 12, 94 and 95

The three rules this desk implements: Montenegro votes as one electoral unit; the 3% threshold is scored on every valid vote, but the lists of a minority nation none of whose lists cleared it may pool as one aggregate list on 0.7% each for up to three mandates, and the strongest Croat list takes one on 0.35% where that pooling wins it nothing; and the whole 81 is then shared out by d’Hondt, with an aggregate’s mandates split among its members by d’Hondt inside it (consumed by scripts/sim-intl/build-me.mjs and assets/simulator/sim-desk-me.js).

Boundaries / shapefiles (2)

OpenStreetMap contributors

opština boundaries (admin_level 6, ISO 3166-2:ME) and reference city points · ODbL

DIK publishes no geometry. The 25 opštine come from OSM keyed by ISO code, which is also how the Commission’s reporting units are keyed here; the 2020 map folds Zeta back into Podgorica, because it was not carved out until 2022 (consumed by ~/ElectIndex/sim-intl-data/me/geo/fetch.sh → scripts/sim-intl/build-me.mjs).

Natural Earth

10m physical lakes · public domain

Lake Skadar is erased from the opština outlines, which paint part of it as land. The Albania desk erases the same polygon from its qarks, so the two halves of one lake agree across the border (consumed by scripts/sim-intl/build-me.mjs).

Faroe Islands5 sources

Results and vote data (2)

Kringvarp Føroya

Løgtingsval 2026 returning application · 57 valstøð · “Fíntalt” final returns, with the 2022 comparison column

Every vote on this desk. Each of the 57 polling stations publishes a signed return: the parties’ totals, every candidate’s personal vote, the electorate, the blank and invalid ballots — and the same station’s 2022 result, which is what the 2022 night is built from. Its 58 timestamped cumulative snapshots are also the real count curve the night is paced against (build-fo.mjs).

Hagstova Føroya (Statistics Faroe Islands)

IB10010 Løgtingsval skift á flokkar, atkvøður og tingfólk · 1978–2026 · source: Løgtingið

The official national vote and seat table both shipped nights are reconciled against before anything is built — and the six one-constituency cycles the allocation method is verified on, which is what rules d’Hondt out (OFFICIAL in build-fo.mjs).

Precincts and boundaries (2)

OpenStreetMap contributors

kommunur (admin_level 7) and sýslur (admin_level 6) · ODbL

The 29 municipalities the map draws and the six sýslur it groups them by. The authority counts finer — 57 polling stations — but a Faroese polling station is a set of villages under § 20 rather than an area anyone draws, so the kommuna is the finest unit that can be both drawn and joined (build-fo.mjs).

Hagstova Føroya (Statistics Faroe Islands)

IB01070 kommuna/bygd hierarchy · IB01031 population by village, March 2026

Which kommuna each polling station belongs to, checked against the boundary layer — 57 of 57 agreed — and the settlement populations behind the map’s reference places (station-kommuna.json and cities in build-fo.mjs).

The model (1)

Løgtingslóg nr. 49 frá 20. juli 1978 um val til Løgtingið, via logir.fo

§ 20, § 22, § 28, § 30 and § 32 · as last amended

The whole shape of this desk traces to § 32: a list takes part in the share-out only if it has polled at least 1/33 of the votes, the quota is the qualifying lists’ combined votes over 33, what is left goes by largest remainder, and ties are drawn by lot. Seats inside a list go to candidates by personal vote (§ 32 stk. 2), which is what names the 33 members. § 22 closes every polling station at 20:00 and § 28 starts the count there and then — the one exact thing about the night; the per-kommuna declaration times are modelled and calibrated to the authority’s own published count curve, because it records when the country had counted a given share but not which station arrived when (deskFO.allocate in sim-desk-fo.js, paragraph32() and NIGHT_END in build-fo.mjs).

Greenland7 sources

Territory on this map

This map draws Greenland’s municipalities — the units the returns are published by — on the boundaries of the night being replayed: five since Qaasuitsup was split into Avannaata and Qeqertalik on 1 January 2018, four before it. Nobody disputes any of this ground; what needs saying is where the two areas OUTSIDE the municipal division go.

The National Park and Pituffik are drawn inside Kommuneqarfik Sermersooq. The Northeast Greenland National Park and the Pituffik defence area are outside the municipal division altogether — ISO 3166-2:GL lists five subdivisions and neither is one of them. Valgnævnet files the polling places in BOTH under Kommuneqarfik Sermersooq, Pituffik although it sits physically inside Avannaata, which is what shows the municipality filter to be an administrative attribution rather than a map. The desk follows the authority, so the park — about 45% of Greenland’s area and the whole north-east — is drawn as part of Sermersooq rather than left as a hole. Neither cast an Inatsisartut ballot in 2025; the 2025 station list has 72 stations and no Danmarkshavn.

2005 is reported on boundaries that did not exist yet. The 2005 election was fought under eighteen kommuner, four years before the municipal reform. The authority itself publishes that night under the four post-2009 municipalities, having back-mapped its own polling stations, and this desk follows it rather than inventing an eighteen-unit map the returns are not keyed to.

The ice sheet is land and is drawn. Nothing on this map is a claim about sovereignty over anything.

Results and vote data (2)

Valgnævnet / Grønlands Selvstyre

Inatsisartutvalg · 2005, 2009, 2013, 2014, 2018, 2021, 2025 · valg.gl · qinersineq.gl (KIMIK iT)

Every vote this desk counts: the party total in each municipality, read from the site’s own “Show in list → Party” view, and every candidate’s personal vote from its Party/Candidate view. ⚠️ The Party/Candidate view is a trap — its bare party row is the list vote cast WITHOUT a personal preference, not the party total, and read as a total it undercounts the 2025 poll by 93%. The build reconciles both views against each other, municipality by municipality, before it writes a line (buildCycle() in scripts/sim-intl/build-gl.mjs).

Valgnævnet / Grønlands Selvstyre

Overview · ballots cast and electors on the roll, 2005–2025

The electorate, the ballots cast and — by subtraction from the valid vote — the blank and invalid ones each night’s copy quotes. It is also the fourth independent check on the count: 28,620 cast against 28,298 valid in 2025 leaves 322 spoiled ballots, which is the figure the authority publishes separately (poll() in build-gl.mjs).

Seats, members and the allocation (2)

Valgnævnet / Grønlands Selvstyre

Seats and Substitutes · List of Seats and List of Substitutes, 2009–2025

The record this build is checked against, member by member — and the desk’s CANDIDATE RANKING as well. Greenland votes for a person, so a party’s seats go to its own candidates in order of personal votes, and the authority publishes both halves of that order. ⚠️ It has to be the authority’s two lists and not a sort by votes, because Greenland breaks ties BY LOT: three Inuit Ataqatigiit candidates finished 2025 on exactly 80 votes and only Mimi Karlsen sits (rankPeople() in build-gl.mjs). No list is published for 2005, so that night’s members are ranked on personal votes alone and its seat totals are its own published count.

Inatsisartutlov nr. 9 af 19. maj 2010 om valg til Inatsisartut

as amended · one nationwide constituency, 31 seats, d’Hondt, no threshold

The whole rule, and the absence of a threshold is the interesting half: in 2018 Nunatta Qitornai took a seat on 1,002 votes and Samarbejdspartiet on 1,193. The divisor is not interchangeable either — Sainte-Laguë returns a different Inatsisartut from the same votes in 2025, 2021, 2014 and 2013 (EISIM.deskGL.allocate in assets/simulator/sim-desk-gl.js, through EISIM.prAlloc.divisor).

Boundaries and basemap (3)

OpenStreetMap contributors

ODbL · municipality relations 8514493, 8512366, 8514395, 8515166, 8514368 and the Northeast Greenland National Park 8515283

The municipal division itself. ⚠️ geoBoundaries’ Greenland ADM1 was tried first and rejected: eleven of twenty-four real settlements — Aasiaat, Tasiilaq, Uummannaq, Qaanaaq, Nanortalik among them — fall in NO polygon of it, because its outline follows the mainland coast and drops the islands and outer fjord shores, which in Greenland is where the people are. The OSM relations place all twenty-four correctly (build-gl.mjs).

Natural Earth

10m admin 0 countries · public domain

The land mask. The OSM relations are LEGAL boundaries and carry water — Qeqertalik is one envelope spanning Disko Bay — so each is clipped to Natural Earth’s Greenland before it is drawn; an erase test leaves 15 km² of the country unassigned, out of 2.16 million. The ice sheet is kept, because it is land.

OpenStreetMap contributors · Grønlands Statistik

ODbL place nodes; 1 January 2025 town populations

The twenty settlements on the basemap: OSM for position, Statistics Greenland for the population that sizes the dot. ⚠️ Tasiilaq, the largest town on the east coast, is mapped in OSM as an AREA rather than a place node and has to be added by hand or the east coast loses its only label.

Ukraine5 sources

Territory on this map

This desk draws all 225 of Ukraine's single-member districts on their 2019 boundaries, and 26 of them held no election. That is not a disagreement about where a border runs — it is what the Central Election Commission itself recorded.

The twenty-six. No district commission was formed and no polling station opened in the ten districts covering the Autonomous Republic of Crimea (№ 1–10), the two covering Sevastopol (№ 224–225), nine in Donetsk oblast (№ 41–44, 53–56, 61) or five in Luhansk oblast (№ 104, 108–111). The Commission's own results file carries a protocol for 199 districts and for none of these, and its record of elected members returns 225 from the nationwide list and 199 from the districts — 424 of the 450 seats. The other 26 are drawn on this map, are named on it as districts that held no election, and return nobody.

The international position. United Nations General Assembly Resolution 68/262 of 27 March 2014 affirms Ukraine's territorial integrity within its internationally recognised borders and declares the Crimean referendum of 16 March 2014 to have no validity. The simulator's world map draws Crimea, Donetsk and Zaporizhzhia inside Ukraine, so this desk's board and the globe agree and there is no split to explain.

The desk states where ballots were cast, and takes no position on sovereignty beyond reporting that resolution as what it is.

Results and vote data (3)

Центральна виборча комісія України (Central Election Commission)

2019 Verkhovna Rada · nationwide list + all 199 districts, per candidate

The Commission’s own protocols for the snap election of 21 July 2019, published as open data (od_result, od_district), together with «Обрані народними депутатами України», «Підсумки голосування по округах» and the per-district candidate registers «Кандидати в депутати в ОВО» — 3,084 candidates with their nomination subject (consumed by scripts/sim-intl/build-ua.mjs).

Закон України «Про вибори народних депутатів України» № 4061-VI

Arts 1, 85, 98 · the 5% bar, the electoral quota, the remainder round

The seat formula the desk’s allocator implements: 225 list seats shared out by a Hare quota computed over the votes of the lists that cleared 5%, with the remainder going to the largest fractions.

Конституція України

Arts 76, 91 · 450 members, 226 votes

The chamber’s constitutional size, and the 226-vote majority of its constitutional composition that the board’s majority line draws — a legal threshold, not a majority of the 424 seats this election filled.

Precincts and boundaries (2)

Державний реєстр виборців (State Voter Register)

all 225 single-member districts · the 2012 delimitation, unchanged at the 2019 election

The Register’s own cartography of the districts created by CEC Постанова № 82 of 28 April 2012, released on Wikimedia Commons under CC0-1.0 as Data:Ukrainian electoral district .map and dissolved into one layer by scripts/sim-intl/build-ua.mjs.

Постанова Кабінету Міністрів України № 55 від 27.01.2010

Ukrainian national transliteration

The rule by which every district centre on this desk is romanised. Party and candidate names stay in Ukrainian.

Russia10 sources

Territory on this map

Three things about this desk need saying at length: the constituencies it draws in territory annexed from Ukraine, the reason a night that begins in Kamchatka shows nothing for ten hours, and the half of Moscow's vote that did not arrive until the following morning.

Crimea and Sevastopol. The State Duma fills seats in territory annexed from Ukraine in 2014, and this map draws those four constituencies — № 19 Симферопольский, № 20 Керченский and № 21 Евпаторийский in Crimea, and № 219 Севастопольский — in their winner's colour, exactly as it draws every other seat. The United Nations General Assembly has not recognised the annexation: Resolution 68/262 of 27 March 2014 affirmed Ukraine's territorial integrity and declared the Crimean referendum to have no validity, and Resolution ES-11/4 of 12 October 2022 did the same for Donetsk, Luhansk, Zaporizhzhia and Kherson — none of which returned a member in 2021 and none of which appears anywhere on this map. Drawing a seat here records where ballots were counted; it is not a statement about who holds the ground.

Where the boundaries come from. Федеральный закон № 300-ФЗ от 3 ноября 2015 г. schedules each of the 225 districts as a list of named municipalities rather than as coordinates, and the Central Election Commission publishes no shapefile. Every map of these districts is therefore a tracing of a legal text. This one is the GIS-Lab and OpenStreetMap community's, which matched each municipality the law names to an OpenStreetMap relation and hand-drew what OSM lacked; it records three places where the law and the ground disagree, and one of them — Земля Франца-Иосифа, which the law assigns to no district at all — is accordingly drawn in none.

The night, and the embargo. Polls close at 20:00 local across eleven time zones, so the statutory closes are spread over ten hours — but no result may be published anywhere in Russia until voting ends across the whole country, at 21:00 Moscow time, when the last stations close in Kaliningrad. The Far East had therefore been counted for nine hours before anyone was permitted to say so, which is why it lands in a single flood the moment the embargo lifts. The three days of voting do not divide the count: the boxes were sealed overnight and nothing was counted until the polls closed on 19 September.

Remote electronic voting. Seven regions voted online. Six used the federal platform and published within the hour; Moscow used its own and did not publish until about ten the next morning — roughly half the city's vote in a single tranche, after which eight of its fifteen districts had a different winner than the paper count had given. Those votes are inside the certified district totals, because the district commission's protocol sums every precinct including the electronic one, so this desk paces Moscow to arrive that way rather than pretending it arrived with everyone else. The replay does not re-enact the change of lead: the figures the commission certified are single totals, and inventing a paper-only field for fifteen districts would publish a result that was never certified.

Russia is hidden by default on the globe under the simulator's regime filter, which follows V-Dem's Regimes of the World classification and is not a judgement of this site's own. The per-night description records what independent observers reported: the OSCE/ODIHR was not invited to observe, the movement Голос logged thousands of reported violations, and statistical analyses of the published precinct returns — the same precinct file this desk is built from — identified a large anomalous component. The replay shows the result as the Central Election Commission certified it.

Results and vote data (4)

Центральная избирательная комиссия Российской Федерации (Central Election Commission of the Russian Federation)

Государственная Дума, 17–19 September 2021 · the federal district protocol

The Commission’s own protocol on the results in the federal electoral district, signed 24 September 2021 at 13:02, together with постановление ЦИК № 61/467-8 of the same day establishing the general results. All fourteen federal lists sum to exactly the protocol’s 55,158,109 valid ballots, and the build refuses to emit if they do not. ⚠️ Retrieved through the Internet Archive: cikrf.ru resolves but never completes a connection, vybory.izbirkom.ru no longer resolves at all, and the live results portal interleaves hidden decoy digits inside every published number, so a reachable portal would still need a browser rather than a parser (consumed by scripts/sim-intl/build-ru.mjs via raw/parse_cec_federal.py).

ГАС «Выборы» — precinct protocols, scraped by Sergey Shpilkin, published by Dmitry Kobak

Государственная Дума 2021 · 96,325 precinct protocols · federal district

The Commission publishes no per-district breakdown of the federal list vote, but it publishes every precinct protocol, and each carries the single-member district it belongs to. Aggregated by that field, the 96,325 precincts reconcile to the Commission’s signed national protocol exactly — every protocol line and every one of the fourteen lists, with no residual — which is what lets this desk carry each district’s real federal vote instead of an apportionment. It is also what separates the electronic votes cleanly (consumed by scripts/sim-intl/build-ru.mjs via raw/agg_federal_by_oik.py).

ЦИК России — district protocols, via Wikipedia

225 single-member districts · 2,013 candidates · party, votes, %, invalid ballots, turnout

The Commission’s signed district protocols as transcribed by ru.wikipedia, cross-checked candidate by candidate against the 225 English Wikipedia constituency articles — 2,011 of 2,013 vote figures identical — and against an independent digitisation with the results joined, which agrees on all 225 winning parties. ⚠️ Three traps in the transcription: the winner is unbolded in Moscow’s districts 201–203, which is exactly the gap against the Commission’s published 198 single-member seats, so the plurality decides and the bold is only checked against it; district 150 prints one candidate’s vote twice; and three printed percentages are wrong where the votes are not (consumed by scripts/sim-intl/build-ru.mjs via raw/parse_smd_2021.py).

The 2016 result, by constituency

Государственная Дума, 18 September 2016 · the winner of each district

The previous holder of each seat, which is what the map’s Gains mode reads. A real notional rather than a transposition: 2016 and 2021 were fought on the same district scheme, so district N is district N on the same ground. Reconciles to the published 2016 single-member split exactly (consumed by scripts/sim-intl/build-ru.mjs via raw/parse_smd_2016.py).

Boundaries (3)

GIS-Lab and the OpenStreetMap community — «Схема одномандатных округов для проведения выборов в Госдуму» (Михаил Каленков and contributors)

225 single-member districts · the ФЗ № 300-ФЗ scheme, used in 2016 and 2021

Федеральный закон № 300-ФЗ от 3 ноября 2015 г. schedules each district as a list of named municipalities rather than as coordinates, and the Central Election Commission publishes no shapefile — so this layer was built by matching every municipality the law names to an OpenStreetMap relation and hand-drawing, from general plans and regional statutes, the boundaries OSM did not carry. Retrieved from the project’s own NextGIS Web instance; the build reads the rendition simplified to 30% of the original vertices. ⚠️ Neither the project page nor the service that serves it states any licence — we looked at both, and at the parent sites, and there is none — but the geometry is an OpenStreetMap derivative, so ODbL 1.0 attaches by virtue of OpenStreetMap’s own licence and attribution is owed to © OpenStreetMap contributors. The terms of the project’s own hand-drawn additions are genuinely unstated. ⚠️ Its three recorded problem areas are Сургутский район (districts 222–223), where the law omits the inter-settlement land, Хабаровский район (districts 69–70), where OSM predates a boundary reform — both drawn instead from the Commission’s own graphical scheme — and Земля Франца-Иосифа, which the law assigns to no district at all and which is therefore drawn in none (consumed by scripts/sim-intl/build-ru.mjs).

OpenStreetMap contributors

Municipal and settlement boundaries · ODbL 1.0

The district boundaries above are assembled from OpenStreetMap relations, so the layer is an OpenStreetMap derivative and carries ODbL 1.0 whatever the intermediate publisher states.

Mapdev — «Схема одномандатных избирательных округов»

An independent digitisation of the same law, with the 2021 results joined

Used only to validate the results extraction, which it confirms on all 225 winning parties. Its geometry is not shipped. ⚠️ Its page stated no licence when it was read on 22 September 2026, and the host has since stopped answering; the Internet Archive holds no snapshot of it.

The seat formula (2)

Федеральный закон № 20-ФЗ от 22 февраля 2014 г. «О выборах депутатов Государственной Думы Федерального Собрания Российской Федерации»

Статьи 88–89 · admission, the barrier and the quota

The 450 seats are filled from two ballots counted in parallel — 225 districts on a plurality with no second round, and 225 from one national list. ⚠️ Two denominators, and they are not interchangeable: статья 88 часть 7 measures the 5% barrier over «голосов избирателей, принявших участие в голосовании», which часть 6 defines as the ballots found in the boxes, invalid ones included, while часть 10 strikes the quota over the admitted lists’ votes alone. ⚠️ And the barrier floats: части 7–9 admit the 5% lists only if there are at least two of them holding more than half the ballots cast, and bring the bar down list by list when they do not. The 2021 result triggers neither provision, which is why the desk pins them with constructed cases instead (implemented in assets/simulator/sim-desk-ru.js).

Федеральный закон № 67-ФЗ от 12 июня 2002 г. «Об основных гарантиях избирательных прав»

Статья 45 часть 3 · the publication embargo

No result may be published anywhere in Russia until voting has ended across the whole country. That is why this desk’s clock starts at 11:00 Moscow time — the first statutory close, in Kamchatka and Chukotka — and why nothing reports for ten hours after it (consumed by scripts/sim-intl/build-ru.mjs).

Imagery and colour (1)

ru.wikipedia «Цвет партии» templates

Party colours for the fourteen federal lists

The Central Election Commission assigns no colours, so the nearest thing to a convention is Wikipedia’s own party-colour templates. Five are used verbatim; the rest are lightened, because those templates were drawn for a white page and one of them is pure black. Three are re-hued for legibility and each records why on its own line: the ballot carries three reds, three greens and three blues, and in two of those families the templates give hexes within a few degrees of one another (assets/simulator/sim-desk-ru.js).

Kosovo3 sources

Territory on this map

This desk’s map draws the thirty-eight komuna where ballots were cast, the four Serb-majority municipalities of the north among them: the Komisioni Qendror i Zgjedhjeve opened polling stations in Leposaviq, Zubin Potok, Zveçan and Mitrovicë e Veriut on both of the nights shipped here and certified their ballots. Turnout in the first three ran above the national figure.

Ballots cast outside Kosovo — in person at a diplomatic mission the day before polling day, or by post — are counted here in full and are not drawn, because they were not cast on any of this ground. They are 6.5% of the December 2025 poll and 12.9% of the June 2026 one, and they are the thirty-ninth reporting unit on both nights.

The status of Kosovo is unsettled. The United Nations Security Council addressed it in Resolution 1244 (1999). This desk takes no position on it, and it does not overlap the Serbia desk: that map counts the ballots RIK files for twenty-two Kosovo municipalities and draws none of them, because RIK opened no polling station in Kosovo. Same rule, opposite result, and no square metre drawn twice.

Results and vote data (2)

Komisioni Qendror i Zgjedhjeve

Kosovo · certified results by municipality, voting station and polling station · elections of 28 December 2025 and 7 June 2026

Every vote on the Kosovo desk, and the Commission’s own classification of each certified list by community, which is what the twenty reserved seats are allocated on.

Ligji Nr. 08/L-228 për Zgjedhjet e Përgjithshme në Republikën e Kosovës

Kosovo · Gazeta Zyrtare, 3 July 2023 · Neni 110–111

The seat allocation: one electoral zone, 100 general seats by d’Hondt among the lists on at least 5% of all valid votes, and 20 reserved for the communities that are not in the majority.

Precincts and boundaries (1)

OpenStreetMap contributors

Kosovo · 38 komuna (admin_level 6) and 7 rajone (admin_level 5) · Open Database Licence

The desk’s map units and the district grouping the start menu offers. The Commission has no regional tier of its own.

Bosnia and Herzegovina5 sources

Results and vote data (2)

Centralna izborna komisija Bosne i Hercegovine (Central Election Commission of BiH)

Predstavnički dom PSBiH 2022 and 2018 · per constituency, per list · potvrđeni rezultati

Every list’s vote in each of the eight izborne jedinice, and the commission’s own constituency and compensatory mandate columns, read from the CIK results service rather than a secondary report. The 2022 rows are the confirmed results of 2 November 2022, not the election-night preliminary — BiH’s postal and out-of-country counts have moved seats after the night (consumed by loadYear() and buildCycle() in scripts/sim-intl/build-ba.mjs).

Centralna izborna komisija BiH — municipality composition of the electoral units

144 reporting units across eight constituencies · includes Brčko twice, once per entity option

Which municipality votes in which constituency, stated by the commission itself rather than read off the statute by hand — and with it the fact that Brčko District reports as two units, OPCIJA FBIH inside the Federation’s fifth constituency and OPCIJA RS inside Republika Srpska’s second, because a Brčko voter chooses an entity when registering (consumed by buildGeo() in scripts/sim-intl/build-ba.mjs).

The model (2)

Izborni zakon Bosne i Hercegovine (Election Law of BiH), consolidated text

Poglavlje 9, čl. 9.1–9.8 · čl. 5.9

The whole desk. Čl. 9.1 splits the 42 members by entity, 9.2 and 9.3 name the eight constituencies, 9.5 sets Sainte-Laguë and the 3% bar within a constituency, and 9.6 sets the separate 3% bar within an entity and the compensatory top-up — including 9.6(c), the reduction that decides the Federation’s 2022 result. Čl. 5.9 is the 19:00 close (consumed by sim-desk-ba.js and scripts/sim-intl/build-ba.mjs).

Centralna izborna komisija BiH — Izvještaj o provođenju Općih izbora 2022. godine

the commission’s own 164-page report on running the 2022 election

How the count was actually run, and the reason this desk’s reporting times are modelled rather than recorded: results are entered centrally through the JIIS application and no per-constituency arrival times are published, so each constituency’s duration is anchored on its own share of out-of-country, postal and mobile-team ballots, which are counted last (consumed by nightShape() in scripts/sim-intl/build-ba.mjs).

Precincts and boundaries (1)

OpenStreetMap contributors

entity (admin_level 4) and municipality (6 ∪ 7) relations via the Overpass API · Open Database Licence (ODbL)

The eight constituencies are dissolved from 142 municipality polygons using the CIK’s own membership table. Brčko District is drawn but dissolved into neither: it belongs to no entity and the statute writes it into both the Federation’s fifth constituency and Republika Srpska’s second (consumed by buildGeo() in scripts/sim-intl/build-ba.mjs).

Georgia6 sources

Territory on this map

This desk draws the 73 electoral districts in which ballots were cast on 26 October 2024, and nothing else. No Georgian ballot is cast in Abkhazia or in the Tskhinvali Region, which is also known as South Ossetia: Article 110(2) of the Election Code provides that electoral districts "shall not be established in the occupied territories defined under the Law of Georgia on Occupied Territories", the Central Election Commission opens no polling station in either, no district exists there and none files a protocol. The ground is therefore absent from the official return as well as from the map, and the 73 districts that voted are the whole of it.

The Commission's own district numbering is the record of that. The 2024 return runs 01–30, 32, 33, 35–41, 43–70, 79–84 and 87. Set it beside the Commission's May 2008 return — the last parliamentary election before the August 2008 war — and three of the missing numbers have names: district 31, ახალგორი (Akhalgori), which had 6,366 registered voters in 2008; district 85, ლიახვი (Liakhvi), the Georgian-administered villages of the Greater Liakhvi valley north of Gori, which had 10,196; and district 86, ზემო აფხაზეთი (Upper Abkhazia), the Kodori Gorge, which had 2,685. All three voted in May 2008 and none has voted since. Numbers 71 to 78 sit between Poti and Batumi — the Abkhaz coast — and appear in neither return.

Nothing is counted here from ground the map leaves out. Georgia keeps no displaced-voter reporting unit, because the Election Code enters internally displaced people from the occupied territories on the unified list of voters "according to their actual place of residence": a displaced voter is on the roll of the precinct where they now live, and their ballot is counted in one of the 73 districts drawn. The only reporting unit with no polygon is district 87, the 67 polling stations the Commission establishes in other states, which carried 34,296 valid votes — 1.65% of the poll. It is counted in full and is a category of voter rather than a place.

Where the world map differs. The simulator's shared world map draws both Abkhazia and the Tskhinvali Region inside Georgia. The desk draws neither, because the desk shows where ballots were cast. The two views differ on purpose.

The status of both territories is unsettled and this desk takes no position on it. Georgia, the United Nations General Assembly and most states regard them as part of Georgia; Russia, Nicaragua, Venezuela, Nauru and Syria recognise them as independent states. Where the text above uses Georgia's statutory phrase "occupied territories" it is quoting the Election Code, not adopting it, and both names in common use are given for the second territory.

Results and vote data (3)

საქართველოს ცენტრალური საარჩევნო კომისია (Central Election Commission of Georgia)

Parliament of Georgia, 26 October 2024 · all 18 lists, per precinct · 3,111 precincts

The Commission’s own published precinct-level return, “2024.26.10 – პარლამენტი.xlsx”: the votes for every registered list, the unified and special voter lists, turnout at noon and 17:00, the participants and the invalid ballots, for each of the 3,111 polling stations across 73 electoral districts plus the stations established abroad. ⚠️ The Commission’s own figures do not close by 81 votes — 2,111,834 people are recorded as taking part and 2,111,753 ballots were found in the boxes — and the build pins that gap rather than papering over it. ⚠️ Two electorates, not interchangeable: the 3,508,294 registered voters is the unified list alone, and adding the special lists nationally double-counts 133,580 people, though per district the special list is the right denominator (consumed by scripts/sim-intl/build-ge.mjs via raw/export_cec.py).

OSCE Office for Democratic Institutions and Human Rights

Georgia, Parliamentary Elections, 26 October 2024: Final Report · Annex I

The source the golden test is pinned from by hand: Annex I reproduces the CEC Summary Protocol of the Results adopted on 16 November 2024 — the registered voters, the turnout, the valid and invalid ballots, and the votes and seats for all eighteen lists. Every one of those figures is reproduced exactly by the extraction from the Commission’s workbook before the build will write a bundle. The same report is the source for what the observation mission found on election day, which the desk’s own note reports (consumed by scripts/sim-intl/build-ge.mjs).

Georgia Elections Data Archive (electionsdata.ge)

David Sichinava · CC BY 4.0 · the CEC workbook, mirrored

The Commission’s own hosts — cesko.ge and results.cec.gov.ge — cannot be read by a script: both sit behind a browser challenge, and the 2024 results portal is a single-page application whose data files the Internet Archive never captured. David Sichinava’s archive mirrors the Commission’s workbook byte for byte, and that mirrored copy is what this desk reads; it is the reconciliation against the Commission’s own published totals, not the download path, that makes it the authority’s data. Part of the archive’s results and spatial data was granted by the National Democratic Institute.

The seat formula (1)

საქართველოს საარჩევნო კოდექსი (Election Code of Georgia)

Legislative Herald of Georgia, document 1557168 · Articles 110 and 125

The rules this desk implements, taken from the statute rather than reconstructed. Article 125 carries each paragraph twice — the pre-2024 text, and the text that took effect with the parliament elected in 2024 — and it is the second that governs this night. ⚠️ Two different denominators: the 5% bar is measured against every valid vote (Girchi finished on 3.00% of them, and on 3.27% of the qualifying vote alone), while the quota is the qualifying vote over 150. ⚠️ And the remainder round goes by votes received, not by fractional remainder: the undistributed seats are “successively awarded to the political parties with better results”, which is worth a seat each to Georgian Dream and the Coalition for Change against what largest remainders would return. Article 110(2) is the provision that establishes no district in the occupied territories (consumed by scripts/sim-intl/build-ge.mjs and by sim-desk-ge.js).

Boundaries and imagery (2)

Georgia Elections Data Archive (electionsdata.ge)

73 electoral districts, 2024 · CC BY 4.0 · in part from the National Democratic Institute

The electoral-district geometry, keyed by the Commission’s own district numbers. The source file carries two further outlines for Abkhazia and the Tskhinvali Region, and this desk drops both: the map draws where ballots were cast. Verified by point-in-polygon against the shipped layer — Tskhinvali, Sukhumi, Akhalgori, Java and Gali fall inside no drawn district, and Tbilisi, Gori, Batumi, Mestia and Akhmeta each fall inside exactly one (consumed by scripts/sim-intl/build-ge.mjs).

OpenStreetMap contributors

Open Database Licence · admin_level 4/6/10 · place=city/town

The region each electoral district is grouped under, derived from OpenStreetMap’s own containment relation between Georgia’s regions and its municipalities, and the reference city points on the board’s basemap. The same layer is the independent check on the unit count: 63 administered municipalities plus the ten districts of Tbilisi is 73, which is the number of district election commissions the OSCE/ODIHR mission records and the number of districts in the Commission’s own file (consumed by scripts/sim-intl/build-ge.mjs).

Guyana4 sources

Territory on this map

This desk draws all ten of Guyana's administrative regions, because Guyana administers that ground and every ballot in these elections was cast there. Two claims fall inside the map, and neither is drawn as a separate area.

Venezuela claims the territory west of the Essequibo River — about two-thirds of Guyana. Guyana relies on the Arbitral Award of 1899, which fixed the boundary; Venezuela regards that award as null and void and relies on the Geneva Agreement of 1966. In 2018 Guyana asked the International Court of Justice to confirm the award's validity; the Court found in 2020 that it has jurisdiction, and the case is pending.

Suriname claims the New River Triangle, between the New River and the Kutari in the south of Region 6 (East Berbice-Corentyne). Guyana has administered it since 1969.

Where the world map differs. The simulator's globe and world map paint Guyana without either claimed area: Regions 1, 2 and 7 and the western parts of Regions 3, 8 and 9 are left unpainted, as is the New River Triangle, using Natural Earth's own polygons for the two claims. The desk's board draws all ten regions. The two views differ on purpose.

This desk takes no position on either claim. Its board draws the regions as GECOM delimits them for the vote, because that is where the ballots counted here were cast.

Results and vote data (2)

Guyana Elections Commission (GECOM)

General Elections, 1 September 2025 · seat allocations, recount comparison, box-by-box district tabulations

The Chief Election Officer’s two allocation sheets of 5 September 2025 — the geographical constituencies, region by region, and the National Assembly as a whole — which give every list’s valid votes in every region, the Hare quotas, the whole seats, the remainders and the seats won, and which the golden test is pinned to line by line. ⚠️ They are the count AFTER the recounts in Regions 4 and 5: GECOM’s comparative sheet shows the PPP/C at 242,498 before them, the figure most press reports carry, and 242,497 after. Electors per region are summed from the box-by-box district tabulation forms; the General Elections set omits Region 6’s third sub-district, so the electors are read from the Regional Elections forms, which list the same polling stations (consumed by scripts/sim-intl/build-gy.mjs via parse/boxes.py).

Guyana Elections Commission (GECOM)

General and Regional Elections, 2 March 2020 · tabulation summary

Every list’s valid votes and the rejected ballots in each of the ten districts, as declared on 2 August 2020 after the national recount (consumed by scripts/sim-intl/build-gy.mjs).

The seat formula (1)

Representation of the People Act, Cap. 1:03

Laws of Guyana · ss. 11A, 11C, 22, 97 · Constitution art. 177(2)

The rules this desk implements. One vote counts twice (s. 11C(1)): Hare quota with largest remainder inside each region for the 25 geographical seats, and over the national vote for every list’s total of 65, the top-up being the difference (s. 11C(2)–(5)). ⚠️ A list that wins more geographical seats than its national total keeps them and the Assembly grows (the s. 11C(5) proviso). Lists may be joined for the distribution of seats but not for voting (s. 22), allocate as one list, and share their seats out on a floored quota (s. 97(4)–(5)) — 2020’s A New and United Guyana, Liberty and Justice Party and The New Movement, whose seat went to the LJP. The President is the presidential candidate of the list with the most votes (Constitution art. 177(2)), so there is no separate presidential ballot (consumed by sim-desk-gy.js).

Boundaries (1)

geoBoundaries (Runfola et al.) · OpenStreetMap contributors

Guyana ADM1 · the ten administrative regions · Open Database Licence (ODbL), from OpenStreetMap via Wambacher

The ten regions, which are the geographical constituencies by s. 11A(3). The layer is already clipped to the coastline, and it is deliberately NOT clipped again to Natural Earth: Natural Earth draws the Essequibo estuary as open water and would delete Hog Island, Wakenaam and Leguan, where people vote (consumed by buildGeo() in scripts/sim-intl/build-gy.mjs).

Suriname3 sources

Territory on this map

This desk draws the ten districts on the line Suriname administers, and the ballots counted here were all cast inside it.

Suriname also claims two areas it does not administer: the New River Triangle, between the New River and the Kutari, administered by Guyana; and the Lawa headwaters, between the Litani and the Marouini, administered by France as part of French Guiana. No Surinamese polling station opens in either, and neither is drawn. This desk takes no position on either claim.

Results and vote data (1)

Ministerie van Binnenlandse Zaken (Suriname)

De Nationale Assemblée, 25 May 2025 · votes by district and list, electors and turnout · public results dashboard

The Ministry’s public results dashboard, linked from verkiezingen.gov.sr as the results view, read through the report’s public query endpoint: every list’s votes in each of the ten districts, the electors and the turnout. Its totals are the published ones — 399,932 electors, 276,507 voters, 69.14% — and d’Hondt over its national count reproduces exactly the seats the Centraal Hoofdstembureau declared on 10 June 2025. ⚠️ It is the count as entered from the polling stations, not the CHS’s corrected totals, which are not published by district; the CHS stated that its corrections left the seats unchanged. ⚠️ In Saramacca the dashboard counts 328 more ballots than its recorded turnout; the desk reproduces that rather than smoothing it (consumed by scripts/sim-intl/build-sr.mjs via parse/pbi.py).

The seat formula (1)

Kiesregeling (Suriname)

S.B. 1987 no. 62, as amended by S.B. 2023 no. 158 · arts. 9 and 131

The rules this desk implements: 51 members elected in one national constituency (art. 9 lid 1) by “grootste gemiddelden” — d’Hondt — with preference votes and no threshold (art. 131), the system that replaced the district apportionment the Constitutional Court struck down in 2023. The same statute fixes polling at 07:00 to 19:00 (consumed by sim-desk-sr.js).

Boundaries (1)

geoBoundaries (Runfola et al.) · OpenStreetMap contributors

Suriname ADM1 · the ten districts · Open Database Licence (ODbL), from OpenStreetMap via Wambacher

The ten districts on the line of administration; measured against Natural Earth’s polygons for the two claims, the layer overlaps them by 81 km² of line mismatch and draws neither (consumed by buildGeo() in scripts/sim-intl/build-sr.mjs).

Belize2 sources

Territory on this map

This desk draws all 31 electoral divisions, where Belize administers the ground and every ballot counted here was cast.

Guatemala claims a large part of Belize. After referendums in both countries — Guatemala's in 2018, Belize's in 2019 — the claim was submitted to the International Court of Justice, where it is pending. Honduras, and Guatemala as well, also claim the Sapodilla Cayes, which Belize administers.

Where the world map differs. The simulator's globe and world map paint Belize without the area Guatemala claims and without the Sapodilla Cayes, using Natural Earth's own polygons for both. The desk's board draws all 31 divisions. The two views differ on purpose.

This desk takes no position on either claim.

Results and vote data (1)

Elections and Boundaries Commission (Belize)

General Election Official Results · 11 November 2020 and 12 March 2025 · every division and candidate

The Commission’s official result sheets: each division’s registered electors, ballots cast, rejected ballots and every candidate’s votes, which the golden test is pinned to. Every division reconciles — candidate votes plus rejected ballots equal ballots cast — before anything is staged. ⚠️ 2025’s ballot carried the United Democratic Party three ways, tagged by the Commission “UDP (S)”, “UDP (T)” and “UDP (Boots)”; they are kept as separate lists. Two of the source’s own slips are corrected and recorded: a row the PDF wraps across two lines (Belmopan) and a “UPD (S)” that is UDP (S) (Orange Walk South) (consumed by scripts/sim-intl/build-bz.mjs via parse/results.py).

Boundaries (1)

CLEA GeoReferenced Electoral Districts (GRED)

Release 20190215 · Belize 2012 · Kollman, Hicken, Caramani, Backer, Lublin, Selway and Vasselai, Center for Political Studies, University of Michigan

The 31 electoral divisions. GRED’s 2012 map carries exactly the 31 divisions, by the same names, that the Commission reports for 2020 and 2025: no redistricting has taken effect since, and the 2025 election was held on the existing boundaries (consumed by buildGeo() in scripts/sim-intl/build-bz.mjs).

Jamaica2 sources

Results and vote data (1)

Electoral Commission of Jamaica

General Election 2025 · Summary Results and Box-by-Box Results · all 63 constituencies

The Commission’s summary of every candidate’s votes, the rejected ballots and the electors in each constituency, which the golden test is pinned to; every row and column is checked against the sheet’s own totals line before anything is staged. Candidate names come from the headers of the box-by-box results, checked against the parties that polled in each constituency. ⚠️ 189 candidates were nominated and 184 stood: the ballots carry 43 Jamaica Progressive Party candidates and 8 independents, not the 47 and 9 nominated (consumed by scripts/sim-intl/build-jm.mjs via parse/summary.py and parse/names.py).

Boundaries (1)

Electoral Office of Jamaica — GIS Department

Constituency boundaries · 63 constituencies · ECJWEB_MAP, published on ArcGIS Online

The Electoral Office’s own constituency layer, numbered as the Commission numbers its results; it covers the island’s land area with no sea (consumed by buildGeo() in scripts/sim-intl/build-jm.mjs).

Trinidad and Tobago2 sources

Results and vote data (1)

Elections and Boundaries Commission (Trinidad and Tobago)

Report on the Parliamentary Elections held on Monday 28th April 2025 · Appendices I and IX

The Commission’s report of the poll: every constituency’s electors, valid votes, rejected ballots and member elected (Appendix I), and every candidate’s votes (Appendix IX). Each constituency is checked — candidate votes sum to the valid votes, and the top candidate is the member declared — before anything is staged (consumed by scripts/sim-intl/build-tt.mjs via parse/report2025.py).

Boundaries (1)

Elections and Boundaries Commission — GIS (ArcGIS Online)

Parliamentary Constituencies 2019 and Polling Divisions (2021) · Year 2024 Review of Constituency Boundaries

The 2025 election was fought on the boundaries of the Commission’s Year 2024 Review, which is published as a report rather than as a map. That review changed the 2019 constituencies by transferring seven polling divisions between them and renamed five. The map here is the Commission’s own 2019 constituency layer with each of those seven divisions moved — only the part of a division lying inside its 2019 constituency, so no constituency the review left alone is altered — and the five new names applied. ⚠️ It is a reconstruction from the Commission’s own pieces, not a map the Commission publishes (consumed by buildGeo() in scripts/sim-intl/build-tt.mjs).

Panama3 sources

Results and vote data (1)

Tribunal Electoral de Panamá — Comisión de Estadísticas

Elección General del 5 de mayo de 2024 · Cuadros 01, 02, 04, 05, 06 and 07

The presidential vote by circuit and advance vote (Cuadros 01–02), the deputies’ list votes and every candidate’s personal votes by circuit (Cuadros 04–05), the 71 deputies proclaimed (Cuadro 06) and the seats by party (Cuadro 07). The desk re-runs the allocation from the votes and elects every one of the 71 deputies the Tribunal proclaimed. ⚠️ Cuadros 04 and 05 disagree in two single-seat circuits (3-2: CD 4,911 against 4,811; 12-1: PRD 12,299 against 12,229); Cuadro 04 sums to the valid vote and is used. ⚠️ In circuit 13-4 Cuadro 06 labels both of Realizando Metas’s deputies as medio cociente; the statute gives a list one, and the desk seats the second by residuo — the same members (consumed by scripts/sim-intl/build-pa.mjs via parse/normalize.py).

The seat formula (1)

Código Electoral de Panamá · Ley 299 de 2022

Arts. 402 and 438; Reglamento art. 193 · Gaceta Oficial 29530-B, 5 May 2022

Cociente (valid votes over seats), medio cociente (one seat to each list that took no cociente seat and reached half the quota) and residuo (the remaining seats to the candidates with the most personal votes, at most one per list), with a candidate’s votes summed across every list that nominated him. Ley 299 de 2022 defines the 39 circuits by district and, in the district of Panamá, by corregimiento (consumed by sim-desk-pa.js and build-pa.mjs).

Boundaries (1)

Instituto Geográfico Nacional “Tommy Guardia”

Corregimientos de Panamá · legal limits updated to 2024 · ArcGIS Online

The 699 corregimientos, grouped into the 39 circuits of Ley 299. ⚠️ The law divides the corregimiento of Ailigandí in Guna Yala between circuits 10-1 and 10-2 village by village; no polygon exists for that line, so the whole corregimiento is drawn with 10-1, which names its villages (consumed by buildGeo() in scripts/sim-intl/build-pa.mjs).

Lesotho4 sources

Results and vote data (1)

Independent Electoral Commission of Lesotho

National Assembly Elections 7 October 2022 · Constituency Results Summary, all 80 constituencies · Total Received Votes Summary Per Party

Every candidate’s votes and each constituency’s valid, rejected and registered totals, from the Commission’s own result sheets; each sheet’s “Printed on” stamp sets the order the night declares in. The national party table sets the 40 compensatory seats. ⚠️ Stadium Area’s constituency poll was postponed to 17 December 2022 after a candidate died; the seat is that poll’s result, while its 7 October party vote — 5,701 votes in the national table and on no published sheet — counts towards the 40, as it did in law. ⚠️ The Commission’s 2017 sheet for Rothe is listed but has no file attached, and its ArcGIS layers label earlier results and boundaries as 2022, so only 2022 ships (consumed by scripts/sim-intl/build-ls.mjs via parse/parse_sheets.py and parse/normalize.py).

The seat formula (2)

National Assembly Electoral Act 2011 · Schedule 3

Section 104 and Schedule 3 (allocation of seats) · Constitution s. 57(1)

A quota of the party vote over the constituencies that went to the poll plus forty, rounded up; provisional totals by largest decimal fraction; constituency seats deducted; and parties already holding their provisional total excluded and the rest re-run (para 3(2)(b)) (consumed by sim-desk-ls.js).

Court of Appeal of Lesotho · Democratic Congress v Independent Electoral Commission

[2023] LSCA 13 · 17 November 2023 · upholding [2023] LSHC 14 (30 March 2023)

The Commission’s first allocation skipped the para 3(2)(b) exclusion and gave the Democratic Congress 11 compensatory seats and the Alliance of Democrats 3; it petitioned to correct itself, and the courts agreed. The desk reproduces the corrected allocation — DC 8, AD 2, and one each to the BNP, BPP, LPC and UFC — which the golden test is pinned to.

Boundaries (1)

Independent Electoral Commission of Lesotho — ArcGIS Online

Electoral divisions (local government, 1,013) · Village Registration Totals August 2022 (9,485 villages) · district boundaries

The 80 constituencies of the 2022 delimitation (Legal Notice No. 37 of 2022) are RECONSTRUCTED: the Commission publishes no polygon file of them. Each local-government electoral division is assigned to the 2022 constituency holding most of its registered voters among the Commission’s village registration points, which are tagged with their 2022 constituency; villages geocoded outside their own district or far from the rest of their constituency are dropped. The divisions do not nest exactly in constituencies, so the lines are approximate (consumed by buildGeo() in scripts/sim-intl/build-ls.mjs via parse/recon2022.py).

Cabo Verde2 sources

Results and vote data (1)

Governo de Cabo Verde — Central de Resultados (eleicoes.cv)

Legislativas · 18 April 2021 (official results) and 17 May 2026 (provisional count, every polling station) · all 13 círculos

Each list’s votes and seats in every círculo, which the golden test is pinned to; d’Hondt reproduces every círculo’s seats in both years, and in 2021 every círculo’s list votes sum to its voters less null and blank ballots. ⚠️ 2026 is the provisional count at 100% of polling stations: the national totals reported after it run a hundred-odd votes higher per party, with identical seats; no per-círculo final count was found (consumed by scripts/sim-intl/build-cv.mjs).

Boundaries (1)

Governo de Cabo Verde — eleicoes.cv GIS service

Electoral círculos (regions layer)

The ten island círculos, Santiago in two. The three diaspora círculos — África, Américas, Europa e Resto do Mundo — are drawn as no territory (consumed by buildGeo() in scripts/sim-intl/build-cv.mjs).

Seychelles3 sources

Results and vote data (2)

Electoral Commission of Seychelles

National Assembly elections · September 2025 and October 2020 · results by political party and electoral area · 2025 First Ballot Election Report

Every party’s votes in each of the 26 electoral areas, which the golden test is pinned to. ⚠️ The 2025 table is published only as an image; it was transcribed, and every row reconciles to its valid total and every column to the printed national totals. Candidate names are from the 2025 report’s order of the ballot and the 2020 table. One 2020 independent is printed without a capitalised surname (“Keith Hubert, Garvin”) and is kept as printed (consumed by scripts/sim-intl/build-sc.mjs).

Constitution of Seychelles · Schedule 4

Proportionally elected members

One member for each full 10% of the valid vote a party wins, at most ten — so the Assembly’s size depends on the result (consumed by sim-desk-sc.js).

Boundaries (1)

OpenStreetMap contributors

District boundaries (admin_level 6) · Open Database Licence (ODbL)

The 26 electoral areas, which are the districts: Ile Perseverance 1 and 2 are joined as the single electoral area, and La Digue stands for Inner Islands (consumed by buildGeo() in scripts/sim-intl/build-sc.mjs).

Malawi2 sources

Results and vote data (1)

Malawi Electoral Commission

2025 General Election results service · presidential election of 16 September 2025 · all 17 candidates in all 36 councils

Every presidential candidate’s votes in every council, which the golden test is pinned to (Mutharika 3,035,249, Chakwera 1,765,170). ⚠️ The National Assembly is not on this desk: its 229 constituencies, redrawn in 2022, have no public boundary file — the Commission’s demarcation portal publishes map images (consumed by scripts/sim-intl/build-mw.mjs via parse/scrape_pres.py and parse/normalize.py).

Boundaries (1)

Malawi Electoral Commission

Council boundaries published with the 2025 results service

The 36 councils — 28 districts and the cities, town and municipalities (consumed by buildGeo() in scripts/sim-intl/build-mw.mjs).

Zambia2 sources

Results and vote data (1)

Electoral Commission of Zambia

Public notices · 2021 Parliamentary Elections (24 August 2021) · 2021 Presidential Election results per constituency (25 August 2021) · by-elections of 21 October 2021

Every candidate’s votes in all 156 constituencies for both offices, which the golden tests are pinned to: every parliamentary constituency sums to its printed total, and the presidential votes are the Commission’s national figures to the vote. ⚠️ Kaumbwe’s parliamentary poll was postponed after a candidate died and held on 21 October 2021; the desk plays it last (consumed by scripts/sim-intl/build-zm.mjs via parse/parl2021.py and parse/pres2021.py).

Boundaries (1)

ArcGIS Online — “ZMB Constituencies”

156 constituencies (2016 delimitation) · keyed by the Electoral Commission’s constituency numbers

Joined to the results by the Commission’s own constituency numbers, and checked against the 156-constituency map the Commission published with its 2021 results: the same set, except that three Solwezi seats carry district names (Kalumbila, Mushindamo, Solwezi) where the Commission uses Solwezi Central, East and West (consumed by buildGeo() in scripts/sim-intl/build-zm.mjs).

Sierra Leone3 sources

Results and vote data (2)

Electoral Commission for Sierra Leone

Summary of statements of the results of the parliamentary election · each of the 16 districts · 24 June 2023

Every party’s and independent candidate’s votes in each district, which the golden test is pinned to; every district sums to its printed valid total. Six independents’ names were damaged in the PDF’s text layer and are corrected from the page images. ⚠️ Observer missions reported that the Commission did not publish polling-station results that would let these totals be verified; the desk replays the declaration and says so (consumed by scripts/sim-intl/build-sl.mjs via parse/districts.py and parse/normalize.py).

Public Elections Act 2022 · ECSL FAQ on the PR system

District-block PR · 11.9% district threshold · largest remainder

The seat rule the desk applies in every district; the district magnitudes are the 2023 allocation of 135 seats (consumed by sim-desk-sl.js).

Boundaries (1)

Government of Sierra Leone · OCHA

Administrative boundaries (COD-AB), districts · CC BY-IGO

The 16 districts, valid from 2023 (consumed by buildGeo() in scripts/sim-intl/build-sl.mjs).

Liberia2 sources

Results and vote data (1)

National Elections Commission of Liberia

Results portal · 2023 presidential election (10 October) and run-off (14 November) · all tickets, all 15 counties

Every ticket’s votes in every county for both rounds, which the golden test is pinned to; every county sums to its total valid vote. ⚠️ The House of Representatives is not on this desk: the 73 electoral districts are published only as map images (consumed by scripts/sim-intl/build-lr.mjs).

Boundaries (1)

OCHA · UNMIL

Liberia administrative boundaries (COD-AB), counties · CC BY-IGO

The 15 counties (consumed by buildGeo() in scripts/sim-intl/build-lr.mjs).

Monaco7 sources

Results and vote data (3)

Journal de Monaco (the Principality’s official gazette)

n° 8629, 10 February 2023 and n° 8369, 16 February 2018 · every candidate, his list and his suffrages

The Maire’s own proclamation, printed in full and preferred over every media tally: the 38 candidates of 2023 and the 72 of 2018, each with his list and his personal suffrages, above the registered electorate, the turnout, the blank and null papers and the total of valid suffrages. The gazette also prints the two constants the law is computed from — Limite des 5% : 4 050 and Quotient électoral : 10 125 over 81,003 suffrages in 2023 — and reproducing both from the bundle is what proves that the 5% bar and the electoral quotient are each taken over EVERY valid suffrage, the lists the bar excludes included. Transcribed cell by cell into the staged CSVs and read by scripts/sim-intl/build-mc.mjs (readCsv, summaryOf), which refuses to build unless the candidate rows sum to the printed list totals and those to the printed grand total.

Monaco-Tribune and Radio Monaco

5 February 2023 · one polling place, 08:00 to 19:00 without interruption

The hours the arrêté ministériel actually set. Loi n° 839 art. 33 requires only “une durée d’au moins neuf heures” on a Sunday and the arrêté itself is not published online, so the hours kept at the Espace Léo Ferré in Fontvieille — Monaco’s single polling place — come from the Principality’s own press. They are why the desk clock starts at 19:00.

Monaco-Matin

“Au bout de la nuit…”, 6 February 2023 · the count ran to 01:00

A Monegasque count is six hours of hand-tallying papers carrying up to 24 names each, and nothing is published until the Maire reads the whole result out on stage. That is why the 2023 contest carries a single declaration at +360 minutes rather than a count curve — a curve here would be invented — and why 2018’s declaration is sampled from the same rate over its larger count and said to be sampled.

The seat formula (2)

Legimonaco — loi n° 839 du 23 février 1968 sur les élections nationales et communales, modifiée

art. 20 and art. 20-1, in the text of loi n° 1.250 du 9 avril 2002

The whole of this desk. Art. 20 makes the ballot “plurinominal, à un tour, avec possibilité de panachage et sans vote préférentiel” over lists of at least thirteen names, so a voter has one line per seat and may strike names off a list and write in names from its rivals — which means a candidate’s personal vote and his list’s vote are different numbers. Art. 20-1 then counts a different one in each tier: “sont tout d’abord élus les seize candidats ayant obtenu le plus grand nombre de voix” on personal suffrages, and the eight sièges restants go to the lists over five per cent on “le total des suffrages valablement exprimés en faveur de l’ensemble de ses candidats”. ⚠️ The remainder rule is la plus forte moyenne and NOT the largest remainder, and on 2023 the two give different chambers — largest remainder hands Nouvelles Idées pour Monaco the eighth seat on a remainder of 8,401 against L’Union’s 1,727, where the highest average gives it to L’Union on 9,075.25 and NIM was proclaimed with nothing. Implemented from the statute in scripts/sim-intl/build-mc.mjs (majorityByStatute, proportionalByStatute) and shipped in assets/simulator/sim-desk-mc.js (EISIM.deskMC.tiers).

Conseil National — Présentation du Conseil National

the assembly’s own description of its ballot

The chamber describing its own election: a single-round mixed ballot combining “le scrutin plurinominal majoritaire, pour les deux tiers des sièges à pourvoir” with proportional representation “avec répartition à la plus forte moyenne, pour le tiers restant”, and panachage “par la suppression de noms de la liste en question, ou de l’adjonction de noms issus de listes concurrentes”. An independent confirmation of the highest-average rule and of the order of the two tiers, from the institution the seats belong to.

Boundaries / shapefiles (2)

OpenStreetMap contributors

admin_level 10 quartiers and relation 36990, Monaco’s land boundary · 2026 extract

The nine quartiers ordonnancés and secteurs réservés, clipped to Monaco’s own coastline. ⚠️ Both halves are load-bearing. The ward polygons run out over the water they front — raw they sum to 2.376 km² because La Condamine takes in the whole of Port Hercule and Fontvieille its own basin — and OSM carries TWO relations tagged Monaco at admin_level 2: 36990 is the land at 2.084 km², while 1124039 is the land plus territorial waters at 79.21 km², reaching 25 km out to 43.5165° N. Clipping to the second would draw the Principality as a rectangle of open Mediterranean, so scripts/sim-intl/build-mc.mjs (geometry) tells them apart by extent and refuses to build if they ever stop separating. Available under the Open Database Licence; attribution is a condition of that licence, not optional.

Ordonnance Souveraine n° 4.481 du 13 septembre 2013

seven quartiers ordonnancés plus the two secteurs réservés · 2,086,976 m² in all

The division the map draws, and the areas it is checked against: the clipped geometry sums to 2,084,113 m² against the ordinance’s 2,086,976, one part in 730. ⚠️ There is now a tenth unit — Le Portier, the 60,000 m² Anse du Portier reclamation delivered in 2024 as Mareterra — which OpenStreetMap still carries inside Larvotto, and that is why Larvotto alone measures a third over its own line and why only the TOTAL is asserted while the per-quartier figures are printed. The two secteurs réservés, Monaco-Ville and the Ravin de Sainte-Dévote, are governed by Ordonnance n° 674 du 3 novembre 1959; Saint-Michel and Les Révoires belong to the superseded pre-2013 scheme and are not units. Read by scripts/sim-intl/build-mc.mjs (ORDINANCE_M2, ORDINANCE_TOTAL_M2), which also supplies the label weight for each quartier, because Monaco has no cities to plot and no census figure is invented here.

Simulated nights are hypothetical, model-generated results — not real or predicted outcomes. The sources above are not affiliated with, and do not endorse, ElectIndex or this simulation.

We aim to credit every data source. See one we should attribute? Let us know.

See the forecast behind the simulation →