How consumer DNA kits turn 640,000 SNP calls into a percentage breakdown of where your genome comes from
Direct-to-consumer (DTC) ancestry tests do not sequence your genome. They genotype it — reading a fixed panel of several hundred thousand pre-selected single-nucleotide polymorphism (SNP) positions scattered across all 22 autosomes plus the X and Y chromosomes and mitochondrial DNA. This is orders of magnitude cheaper than whole-genome sequencing, and because SNPs are inherited in correlated blocks (linkage disequilibrium), a well-chosen few hundred thousand markers can still capture most population-level ancestry signal.
Whole-genome sequencing (WGS) reads every base pair and, at research-grade 30× coverage, costs on the order of $200–600 per sample even in 2024–2025 — still too expensive to run at DTC scale on tens of millions of customers. A genotyping microarray instead uses short, sequence-specific DNA probes bonded to a glass or silicon chip; each probe is complementary to the DNA flanking one known SNP position. When a customer's fragmented, fluorescently labeled DNA hybridizes to the chip, a scanner reads the color and intensity at each probe spot to call the genotype (e.g., AA, AG, or GG) at that one position.
23andMe has iterated through five chip generations since 2007 (v1 through v5), each based on Illumina's manufacturing platform but with custom content added — extra markers for traits, health-relevant variants, and ancestry-informative markers (AIMs) not on stock arrays. AncestryDNA switched from an Affymetrix chip to a custom Illumina OmniExpress-based array around 2016, settling near 700,000 markers. Both panels deliberately over-sample SNPs known to vary sharply in frequency between continental and sub-continental populations, because a SNP that is 50% frequency everywhere carries almost no ancestry information, while one that is 95% in West Africa and 2% in Northern Europe is extremely informative.
A raw microarray genotype file most customers can download contains roughly 600,000–700,000 rows of rsID, chromosome, position, and genotype — a few megabytes of text that is the entire raw input to every downstream ancestry, trait, and relative-matching feature the company offers.
Raw chip output is noisy. Before a sample enters the ancestry pipeline it passes automated QC: call rate thresholds (samples with too many no-calls are rejected and customers are asked to resubmit — historically 1000mg8-1512% of Rate samples fail), sex-chromosome concordance checks, and contamination screening (looking for genotype patterns consistent with two people's DNA mixed in one tube). Batch effects — systematic differences between chip production lots or scanning runs — are also modeled and corrected, because an uncorrected batch effect can masquerade as a genuine population signal.
Only SNPs genotyped reliably across the reference panel and the customer sample survive to the ancestry-estimation stage; markers with high missingness or that violate Hardy-Weinberg equilibrium in reference populations are dropped.
An ancestry estimate is only as good as the reference populations it is compared to. Every DTC company blends public research panels with proprietary in-house panels built from consenting customers who can document that all four grandparents were born in the same country or region — these become the labeled "ground truth" clusters that a new customer's genome is measured against.
Academic consortia built the foundational reference datasets nearly every ancestry algorithm in the industry still draws on. The 1000 Genomes Project (2008–2015) sequenced 2,504 individuals from 26 populations across Africa, East Asia, South Asia, Europe, and the Americas. The Human Genome Diversity Project (HGDP), curated by Stanford and re-sequenced at high coverage by the Sanger Institute in 2020, covers 1,043 individuals from 51 populations chosen specifically for anthropological and linguistic diversity, including small, well-documented groups like the Basque, San, and Papuan populations. The Simons Genome Diversity Project (SGDP) adds 300 individuals from 142 populations, weighted toward historically under-sampled groups.
These public panels are free, well-documented, and reusable — but they are also comparatively small and geographically uneven (heavily weighted toward populations that were easy for Western research consortia to sample in the 2000s–2010s), which is precisely why every major DTC company supplements them with a much larger proprietary panel.
Both 23andMe and AncestryDNA recruit reference samples from their own customer base: people who, through their family trees or reported grandparent birthplaces, appear to have concentrated ancestry from one region for at least a few generations. AncestryDNA's published reference panel started around 3,000 samples in 2013, grew to roughly 16,638 samples used for its major 2018-era ethnicity update, and has continued expanding past 40,000 as the company mines its >23 million-customer database (reported 2023) for well-documented family trees. 23andMe similarly grew its reference panel from a few thousand samples supporting 31 ancestry regions in 2014 to over 10,000 samples supporting 1,500+ fine-grained regions by its "Ancestry Composition 5.0" update in 2019.
Critically, "reference population" does not mean a population is genetically pure or bounded — it means a cluster of real people whose recent, documented ancestry is unusually concentrated in one place, used as a genetic proxy for that region today. Companies openly caveat that these labels describe where DNA is common in recent centuries, not a fixed ethnic category.
A reference panel is a moving target, not a fixed scientific constant: it is limited by who has taken the test, who has a well-documented family tree, and which regions company recruiting and marketing have reached — which is one reason ancestry estimates differ noticeably between companies even for the same person's DNA.
| Product | Indication | Trial Design | Key Result |
|---|---|---|---|
| 1000 Genomes Project | 26 global populations, 2,504 individuals | Public, low/high-coverage WGS, phased haplotypes released 2015 | Free, standardized, widely benchmarked |
| Human Genome Diversity Project (HGDP) | 51 populations, 1,043 individuals | High-coverage re-sequencing (Bergström et al. 2020) | Anthropologically diverse, fine substructure |
| AncestryDNA proprietary panel | ~40,000+ customers, documented ancestry | Candidate selection by grandparent birthplace + PCA filtering | Large scale, continuously refreshed |
| 23andMe proprietary panel | >10,000 customers, 1,500+ granular regions | Consented research cohort, ancestry composition pipeline | Very fine sub-regional resolution |
The number customers actually see — "48% Scandinavian, 22% English & Northwestern European..." — comes from a model-based clustering algorithm that treats an individual genome as a statistical mixture of K ancestral populations and solves for the mixture proportions that best explain the observed SNP genotypes, given the allele frequencies measured in each reference cluster.
The statistical foundation for consumer ancestry estimation traces back to STRUCTURE (Pritchard, Stephens & Donnelly 2000), a Bayesian Markov-Chain Monte Carlo model that assumes each individual's genome is drawn from K ancestral populations, each with its own allele frequency spectrum, and infers both the population allele frequencies and each individual's membership proportions simultaneously. STRUCTURE was statistically elegant but too slow for datasets beyond a few thousand markers.
ADMIXTURE (Alexander, Novembre & Lange, 2009) reformulated the same likelihood model but solved it with numerical optimization (block relaxation plus an accelerated EM/quasi-Newton algorithm) instead of MCMC sampling, cutting runtime by roughly two orders of magnitude and making it practical to run on hundreds of thousands of SNPs across tens of thousands of reference individuals — exactly the scale a DTC ancestry pipeline operates at. Consumer platforms build proprietary variants of this same core idea: given the customer's genotype vector and the reference clusters' allele frequencies at each SNP, find the mixture proportions (q₁...q_K) that maximize the likelihood of observing that genotype.
Unlike pure unsupervised ADMIXTURE runs used in academic population genetics, DTC pipelines typically run a supervised or semi-supervised variant: the reference population labels are fixed in advance (this cluster is "Iberian Peninsula," that one is "Yoruba"), and only the customer's mixture proportions are estimated. This avoids the classic ADMIXTURE problem where cluster identity and even cluster count (K) can shift arbitrarily between runs.
Increasing K — the number of ancestral regions offered — increases geographic specificity but also increases noise, because closely related reference populations (e.g., neighboring regions in Central Europe) have subtly overlapping allele frequency spectra that are genuinely hard to distinguish from a few hundred thousand SNPs. This is why companies offer adjustable confidence thresholds: 23andMe historically let users toggle between "Speculative" (~50% confidence), "Standard" (~75%), and "Conservative" (~90%) settings — the higher the confidence bar, the more of the genome collapses into broader, less specific categories or "Unassigned," but the fewer the false-specific assignments.
At the 90%-confidence "Conservative" setting, a genuinely mixed-ancestry customer may see large fractions of their genome reported only as broad continental categories or "Unassigned" — not because the DNA lacks signal, but because the algorithm is deliberately refusing to guess past its statistical confidence.
A single genome-wide percentage hides where on the genome each ancestry actually sits. Local ancestry inference (LAI) answers a sharper question — for this specific stretch of this specific chromosome, which ancestral population did it most likely come from? — by first phasing the genome into two haplotypes and then running each haplotype through a Hidden Markov Model trained on reference haplotype patterns.
A raw genotype call (e.g., "AG" at a SNP) does not say which allele came from which parent. Statistical phasing algorithms — Eagle2, SHAPEIT4, or Beagle — use patterns of linkage disequilibrium and, when available, data from close relatives, to reconstruct the two separate haplotype sequences (one per parental chromosome copy) that most plausibly produced the observed unphased genotypes. Phasing accuracy for unrelated individuals against a large reference panel is typically well above 99% per-SNP, but switch errors (where the algorithm accidentally swaps which haplotype a segment belongs to) still occur roughly every few megabases, which propagates as noise into local ancestry calls.
Once phased, each haplotype is modeled as a Hidden Markov Model (HMM) walking along the chromosome: the "hidden state" at each position is the ancestral population of origin, and the model transitions between states with a probability calibrated to the local recombination rate — because ancestry switches happen at historical recombination breakpoints, which occur roughly once per 100 centimorgans per generation, on average, per haplotype. RFMix (Maples et al. 2013) and similar tools (ELAI, Loter) compute, for each window along the chromosome, the emission probability of the observed alleles under each candidate reference population's haplotype patterns, then use the forward-backward or Viterbi algorithm to find the most probable ancestry path.
The output is visually rendered as chromosome "painting": each of the 22 autosomes (plus X) shown as a horizontal bar, colored segment by segment according to inferred ancestral origin — letting a customer see, for example, a single ~15 cM block of chromosome 9 inherited from one great-grandparent that global percentages alone would average away into an unremarkable few percent.
Local ancestry inference is what makes it possible to detect a single ancestral segment several generations back — e.g., one 8th-great-grandparent — that contributes too little to the genome-wide percentage to appear reliably in a simple ADMIXTURE-style summary, but shows up as a distinct, phaseable block on one chromosome.
Finer segment resolution (shorter minimum block length in centimorgans) captures more real, ancient admixture events but also picks up more phasing-switch noise and reference-panel overfitting — two neighboring reference populations with similar haplotype structure can cause the HMM to flicker between labels across a region that is, biologically, all one ancestry. Coarser resolution is more robust but smooths over genuine fine-scale signal, especially for populations with a documented history of recent admixture (e.g., many Latin American, Caribbean, and African American genomes, which typically show interleaved African, European, and Indigenous American segments across nearly every chromosome).
Every reported ancestry percentage is an estimate with uncertainty, not a measurement with a fixed true value — and the model producing it is periodically retrained. Both facts combine to explain the two things customers ask support teams about most: why is "22%" not exact, and why did my results change after the app updated?
Rather than running the admixture estimate once, DTC pipelines typically run it dozens of times (a form of bootstrap resampling) — each run perturbs which SNPs are included, resamples reference individuals, or adds small amounts of simulated genotyping noise, then re-solves the mixture proportions. Across, say, 40 bootstrap replicates, the range of estimated percentages for each ancestral region forms an empirical confidence interval: a region that reads "12% (range 8–17%)" is genuinely less certain than one reading "12% (range 11–13%)," even though both display the same headline number.
Regions with few distinguishing SNPs relative to their geographic neighbors, or with a thin reference panel, produce wide intervals; below the platform's confidence threshold, the segment is reassigned to a broader parent region or to "Unassigned" rather than reported as a specific but unreliable guess.
Ancestry percentages are relative to a reference panel and a clustering model, not an absolute physical measurement — so when either changes, the output changes, even though the customer's DNA is identical. The two largest DTC platforms have both run major public updates that visibly shifted millions of customers' results:
• 23andMe's 2019 "Ancestry Composition 5.0" update expanded from 31 ancestry regions (largely continental/sub-continental) to over 1,500 finer regions, built on an enlarged reference panel and a new algorithm — many customers saw broad categories like "Northwestern European" split into specific countries, and some previously reported minor percentages (e.g., a few percent "Native American" or "Scandinavian") disappeared or moved to different regions entirely. • AncestryDNA has run several ethnicity updates — 2013 (26 regions), 2018 (43 regions, ~16,638-sample reference panel), and 2022 (84 regions) — each accompanied by widely reported customer surprise at swings of 10–20 percentage points in some categories, particularly for Scandinavian, Native American, and broadly "Western European" labels, which sit on genuinely overlapping ancestral gradients that are sensitive to exactly which reference samples are included.
None of this means an earlier or later result was "wrong" in an absolute sense — both are estimates from a statistical model given the data available at that time; the model, not the customer's DNA, changed.
A widely cited practical illustration: after AncestryDNA's 2018 update, some customers who had been told they had double-digit percentages of Scandinavian or Native American ancestry saw those categories drop to 0% (or shift entirely to neighboring regions like Great Britain or broader "Indigenous Americas—North" labels) purely because the reference panel and clustering boundaries were redrawn — a pattern covered extensively in consumer tech press at the time.
DTC ancestry testing occupies a lighter regulatory tier than DTC health-risk testing: the FDA regulates genetic tests that make disease-diagnostic or treatment claims (it issued a 2013 warning letter halting 23andMe's health-risk reports, then authorized specific health reports beginning in 2015–2017), but recreational ancestry estimates are not medical claims and fall largely outside FDA premarket review, leaving accuracy and methodology disclosure mostly self-regulated by the companies.
Privacy protections are similarly uneven. The Genetic Information Nondiscrimination Act (GINA, 2008) bars health insurers and employers from using genetic data in coverage or hiring decisions, but explicitly does not cover life, disability, or long-term-care insurance. State genetic privacy laws (e.g., Illinois' Genetic Information Privacy Act, GIPA) and the EU's GDPR (which classifies genetic data as a special category requiring heightened protection) add further, jurisdiction-specific rules. Third-party platforms like GEDmatch, where users voluntarily upload raw DNA files for extended relative-matching, became central to forensic genetic genealogy after law enforcement used it to identify the Golden State Killer in 2018 — triggering ongoing debate over consent and secondary law-enforcement use of consumer genetic data.
23andMe's October 2023 breach — attackers used credential stuffing (reused passwords, not a platform hack) to access accounts, then scraped DNA Relatives profile data from roughly 6.9 million linked users — led to dozens of lawsuits and a $30 million class-action settlement announced in 2024, and was cited among the pressures behind 23andMe's Chapter 11 bankruptcy filing in March 2025, underscoring that a genetic ancestry database is a uniquely permanent, unchangeable, and re-identifiable form of personal data to secure.