---
title: "G25 vs your 23andMe ethnicity estimate: why the numbers disagree"
description: "A Global25 model and a testing company's ethnicity estimate answer different questions with different references and different time depths. What each is actually computing, and which to trust for which claim."
canonical: https://www.ancestrify.io/blog/g25-vs-23andme-ethnicity-estimate
date: 2026-08-31T09:16:00+00:00
author: "Andi Thomaj"
---

# G25 vs your 23andMe ethnicity estimate: why the numbers disagree

A person gets "62% French & German" from 23andMe, then obtains
[Global25 coordinates](/blog/what-are-global25-coordinates), runs an
[era-scoped fit](/lab/admixture), and finds nothing called French or German anywhere — instead
proportions of early farmers, steppe pastoralists and foragers, or of Iron Age and medieval
populations. The instinctive question is which one is wrong. The correct answer is that they are
not answers to the same question, and each is routinely misread as the other.

## What a testing-company estimate computes

23andMe's Ancestry Composition, AncestryDNA's ethnicity estimate and their peers work segment by
segment: each stretch of your chromosomes is assigned to the modern reference population it best
matches, out of a proprietary panel of living, recently-rooted people; the percentages are the
totals, smoothed and calibrated. Three properties follow. The references are **modern** — the
categories are shaped like today's countries and labelled accordingly. The time horizon is
**shallow** — the estimate approximates where your ancestors of the last few centuries would
plausibly be filed. And the pipeline is **closed** — panels, priors and smoothing are unpublished
and change between releases, which is why estimates jump on update days without anyone's DNA
changing.

None of that makes it bad. For its own question — *which present-day populations do the segments
of my genome file under* — a big proprietary panel is genuinely strong, and updates usually make
it stronger. The failure mode is only the label: "French & German" names a reference bucket, not
a documented ancestor.

## What a G25 model computes

A [G25 analysis](/g25) is open arithmetic over published references: your row, a stated panel of
population averages (ancient or modern, [era by era](/lab/admixture)), a
[fit distance](/blog/g25-fit-distance-explained) anyone can re-run. The time horizon is whatever
the panel is — Bronze Age sources give formation-era proportions,
[modern-era panels](/blog/ancient-vs-modern-admixture-calculators) give present-day resemblance,
and the [distance ranking](/lab/g25-distance) gives the raw neighbourhood with no model at all.

The trade is symmetrical. The G25 stack is transparent, reproducible and time-scoped — and it is
built on chip-scale markers, one fixed projection, and reference panels a fraction the size of a
testing company's, with [no test attached to any fit](/blog/how-accurate-is-g25). The corporate
estimate is opaque and shallow — and segment-level, hugely sampled, and calibrated against
customers with known ancestry at a scale nobody else has.

## Why specific disagreements happen

- **Different clock.** "62% French & German" and "48% Anatolian farmer" can both be right: one
  describes the last ~300 years, the other the last ~8,000. Most confusion is just this.
- **Different buckets.** Corporate categories follow modern borders; G25 panels follow sampled
  populations. A Balkan genome gets filed under whichever national buckets the company trained,
  while a G25 era fit reads it as
  [the layered history those buckets share](/blog/ancient-balkan-dna-roman-slavic-migrations).
- **Trace components.** Corporate estimates smooth small signals with priors (and still print
  phantom traces); coordinate fits [round noise onto available sources](/blog/g25-source-selection-overfitting).
  Different machinery, same rule: sub-few-percent figures are unconfirmed in both.
- **Update whiplash.** Your estimate changed; your row cannot. A fixed coordinate re-analysed
  against growing reference panels is the opposite failure mode of a fixed genome re-filed by a
  changing algorithm. Knowing which one moved tells you what the "change" means.

## Which to use for which claim

| The claim | The right instrument |
|---|---|
| "Where were my recent ancestors likely from?" | The testing company's estimate (and its match list — matching beats admixture here) |
| "Which populations do I resemble, today and in the past?" | [G25 distances](/lab/g25-distance), era by era |
| "What deep ancestries formed my genome, in what proportions?" | An [era-scoped G25 fit](/lab/admixture); the worked version is [Ancestry Map](/g25), our Global25 analysis |
| "Is this component real / is this source required?" | Neither — that is a test, and coordinate fits and corporate estimates both lack one. [qpAdm](/qpadm) is the method with a p-value. |

The two systems make each other more readable, not less. The corporate estimate is a well-funded
answer about the recent past; the G25 stack is an open answer about the deep past — and an
[ancient-DNA analysis](/blog/ancient-dna-test-vs-23andme-ancestrydna) is what the raw file you
already paid for is still capable of telling you.

Terms used here are defined in the [glossary](/glossary).
