Small-Area Global Elections (SAGE) Dataset

by Noah Dasanaike

SAGE collects lower-house parliamentary and presidential election returns for 131 countries at the smallest unit each electoral authority publishes, which for most countries is a polling station with fewer than a thousand voters. It geocodes the units and harmonizes party and candidate identifiers across languages. In total the data contain roughly ten billion votes cast across more than eight million units.

Now archived and citable at Harvard Dataverse: doi.org/10.7910/DVN/YGJR1L.

Formats & access

Tabular (Parquet), partitioned by country and year, with coordinates (about 1 GB); this is what most analyses use. Polygons (GeoParquet), one file per country, for choropleth mapping. Companion R and Python packages load a country-and-year slice in one line:

R:      remotes::install_github("noahdasanaike/sage", subdir = "sage_R")
        sage_load("Germany", years = 2021)

Python: pip install "git+https://github.com/noahdasanaike/sage.git#subdirectory=sage_python"
        import sage; sage.sage_load("Germany", years=2021)

The codebook documents per-country coverage, sources, and every column. R users who want polygon geometry joined to vote rows inline can load the native sf objects; see the code repository.

Releases happen periodically as countries, election years, and corrections are added. Sign up for announcements:

Download

Everything at once: the full tabular dataset (all countries and years, votes and coordinates) as a single Parquet file, sage.parquet (~830 MB), readable with Arrow, DuckDB, GeoPandas, pandas, or R arrow. Polygon boundaries are not in this file; use the per-country bundles below or the polygons/ tree for geometry.

By country: each country offers a bundle (a ZIP of the Parquet vote partitions together with the GeoParquet polygon boundaries) and the native R sf object, with geometry joined to the vote rows. The canonical, citable copy of the entire dataset is the Harvard Dataverse deposit.

[] 131 countries

Release V1.2

July 24, 2026

[] [codebook] [country-level coverage]

Release V1.1

July 7, 2026

[]

Added 2025 national elections (Germany, Vanuatu, Ecuador, Australia, Philippines, Portugal, Singapore, Poland, Kosovo, Bolivia, Norway, Moldova, Argentina, Netherlands, Kyrgyzstan) and 2026 national elections (Portugal, Japan, Thailand, Nepal, Colombia, Slovenia, Denmark, Hungary, Peru, Bulgaria, Cyprus, Armenia, Kosovo); expanded Taiwan to full legislative coverage; switched Malaysia to per-election parliamentary boundaries; refreshed the 2024 United States presidential precincts.

Earlier releases

v1.0 and before

[]

v1.0 (June 30, 2026): Public release; conditionally accepted at Nature Scientific Data
v0.895 (September 30th, 2025): Fixed Croatian vote-share aggregation
v0.89 (August 25th, 2025): Fixed party names in Chile and Slovakia; minor party name adjustments elsewhere
v0.88 (July 14th, 2025): Added 2025 South Korean presidential election; Fixed Danish eligible voter and turnout calculation
v0.875 (July 9th, 2025): Added Portugal parish boundaries back to 1976, fixed independent candidate reference
v0.87 (May 30th, 2025): Added elections for the Kyrgyz Republic, Liechtenstein, Mauritania, Uganda, making 110 total countries
v0.86 (May 6th, 2025): Added registered voter turnout in the United States for 2012 to 2020
v0.85 (April 5th, 2025): Redid all of the United States; presidential results only from 2008 to 2024
v0.81 (March 24th, 2025): Redid all of Greece from scratch, and added 2023 elections
v0.80 (March 17th, 2025): Added registered/eligible voter counts to elections in Canada, Denmark, Finland, Hungary
v0.78 (March 12th, 2025): Changed party columns corresponding to candidates in Myanmar to candidate columns
v0.75 (February 4th, 2025): Added turnout for most Russian elections
v0.7 (January 24th, 2025): Fixed Bosnia and Herzegovina Thiessen polygons
v0.6 (January 15th, 2025): Fixed bug in Thiessen generation code affecting polygon edges
v0.5 (January 9th, 2025): Added 2024 election results for multiple countries
v0.4 (January 7th, 2025): Added 2014 and 2018 Hungarian elections
v0.3 (December 20th, 2024): Added Icelandic presidential elections
v0.2 (December 8th, 2024): Fixed overseas France geometry (meridian Thiessen issues)
v0.1 (September 5th, 2024): Fixed vote count totals for Uruguay and the Solomon Islands
v0.0 (August 6th, 2024): Initial completion of the data

Citation

If you use SAGE, please cite both the dataset and the accompanying paper:

Dasanaike, Noah. The Small-Area Global Elections (SAGE) Dataset. Harvard Dataverse, https://doi.org/10.7910/DVN/YGJR1L (2026).
Dasanaike, Noah. “The Small-Area Global Elections (SAGE) Dataset.” Scientific Data (forthcoming).

Please also cite

Nearly every SAGE country was scraped from scratch from official government sources, then geocoded and harmonized here. Several, though, rest on data that other researchers gathered and released first. If your analysis uses one of these countries, please cite the underlying source alongside SAGE.

Brazil (polling-station coordinates)
As of release 1.2, SAGE uses F. Daniel Hidalgo’s geocoded Brazilian polling stations as the coordinate source for every year (2014, 2018, 2022), replacing the official TSE coordinates.
Afghanistan
Results compiled by Colin Cookman from the Independent Election Commission: 2018 parliamentary and 2019 presidential.
Pakistan
Polling-station data for the 2018 general election, transcribed from Election Commission of Pakistan scans by Colin Cookman and team: pakistan_polling_stations_2018.
Uganda
2006, 2011 and 2016 polling-station results from the Uganda Elections Data Portal, a project of the International Republican Institute, which converted the Electoral Commission’s PDFs into machine-readable form.
United States
The 2024 election is built on The New York Times’ 2024 presidential precinct map, which assembled precinct returns and boundaries from state and county sources nationwide. Earlier years draw on VEST (Voting and Election Science Team), Joshua Metcalf, and Jonathan Rodden, as well as original collection; see also Baltz et al. under related projects below.
Malaysia
As of release 1.2, SAGE uses polling-district results from ElectionData.MY (Thevesh Thevananthan), which compiled them from Form 14 returns obtained from stakeholders, and polling-district boundaries from Tindak Malaysia.
Mexico
Elections from 1991 through 2021 draw on Eric Magar’s compiled returns (Magar 2019), elecRetrns, with coordinates added by SAGE. The 2024 election was collected directly from INE.
Papua New Guinea and Solomon Islands
Constituency results compiled by Terence Wood (2019).
Russia
Polling-station returns come from the compilations of Sergey Shpilkin and Ivan Shukshin, scraped from the Central Election Commission and distributed at dkobak/elections. The Commission has never released station-level results in bulk, and has progressively closed off its results pages, so this collection is not reproducible from the official source. Station addresses used for geocoding come partly from the GIS-Lab CIK commission directory and the UIK GEO crowdsourcing project.
South Africa
Boundary files from SA-Maps.
Ghana, Zambia and Botswana
Parliamentary constituency boundaries from Brian Engelsma’s African parliamentary constituency shapefiles.
Belgium, DR Congo, Myanmar, Uruguay
Built on openly released compilations by José Parreiras (Belgium), Bernard Ng’andu (DR Congo 2023), Thomas Cunningham (Myanmar 2015), and ale-uy (Uruguay 2019).

SAGE is one of several efforts to make election returns comparable across places. These are worth knowing about, and in some cases are a better fit than SAGE for a given question:

Constituency-Level Elections Archive (CLEA)
Constituency-level lower- and upper-chamber results for 183 countries, reaching much further back in time than SAGE. SAGE uses this to validate country totals.
GERDA: The German Election Database
Local, state and federal German results at municipality and county level over three decades, harmonized across boundary changes and mail-in districts. Much deeper on Germany than SAGE with respect to multilevel elections, with its own R package.
American election results at the precinct level (Baltz et al. 2022)
Nearly all available US precinct-level results for 2016, 2018 and 2020, across offices from president down to ballot initiatives. Broader in office coverage than SAGE’s US returns.
Precinct-Level Election Data (Ansolabehere, Palmer and Lee)
US precinct-level returns by state for elections from 2002 to 2012, covering years that sit before the precinct data SAGE carries.
Adrian Frith, South African election and census maps
An interactive map of South African general election results, 2004 to 2019, drillable to voting-district level, alongside census and demarcation work.
elecRetrns (Eric Magar)
Mexican federal and state electoral returns, maintained over many years, and reaching beyond the federal races SAGE carries.
Electoral precinct-level database for Mexican municipal elections (Calderón-Hernández, Larreguy, Marshall and Pérez-Castellanos 2025)
Precinct-level returns for Mexican municipal elections, 1994 to 2019, with incumbent-coalition identifiers, registration and turnout. SAGE carries federal elections only, so this is the reference for local Mexican contests.