Skip to content
Ancestrify
All stories

qpAdm

By Andi Thomaj
12 min read

qpAdm vs ADMIXTURE and admixture calculators: what each measures, and when qpAdm is worth it

ADMIXTURE and admixture calculators describe structure and always return percentages; qpAdm tests an explicit model and can reject it. What each estimates, why papers run both, and when qpAdm is worth paying for.

qpAdmAdmixtureGuidesMethodology

  1. What each one estimates
  2. Why the numbers differ for the same samples
  3. The same genome through both lenses
  4. Why papers run both, in a fixed order
  5. Which answers your question
  6. Is qpAdm worth it?
  7. When a calculator is the right tool
  8. When qpAdm is the right tool
  9. The cost comparison, plainly
  10. When qpAdm is not worth paying for
  11. References

Population-genetics papers routinely print both: the colourful stacked bars of ADMIXTURE and tables of qpAdm weights with standard errors. Readers understandably treat them as two brands of the same thing, ancestry percentages, and then cannot make sense of why the numbers differ or why the paper needed both. They are not two brands of one thing. They are answers to different questions, and the difference is the most useful thing an interested reader can internalise about method papers.

The same confusion reaches anyone with a raw DNA file. An admixture calculator will give you a tidy list of percentages for free, in a browser, in seconds; Ancient Ancestry, our qpAdm analysis, is a paid, one-time purchase; and the obvious question is what the money buys. This page takes the methods first (what ADMIXTURE, admixture calculators and qpAdm each estimate, why their numbers differ for the same genome, and why papers run both), then the buying question: when a calculator is the right tool, when qpAdm is, and when qpAdm is not worth paying for. It is written by someone who sells the paid version, so it tries to be exact about where the free tool is the right choice, because it often is.

What each one estimates#

ADMIXTURE (Alexander, Novembre & Lange 2009; heir to STRUCTURE) is unsupervised description: given all genomes in the dataset and a chosen K, it infers K allele-frequency components and each individual's proportions of them, jointly, by maximum likelihood. The components are properties of the dataset: unlabelled, unanchored to any real population, and liable to change when the sample changes.

An admixture calculator is description of the same kind, frozen and pointed at a single genome (the full anatomy of them is here). Two families are common:

  • Cluster-based (ADMIXTURE-style, K components). The tool holds K allele-frequency profiles, learned by clustering a reference set, and finds the mixing proportions of those profiles that maximise the likelihood of your genotypes. The output is K numbers that sum to 100%.
  • Coordinate-based (Global25 nMonte and similar). Your genome is first reduced to a coordinate row in a principal-component space, and the tool finds the non-negative combination of reference rows that sits closest to yours, by Euclidean distance. The output is a set of percentages and a fit distance.

In both cases the optimiser is answering one question: given these references, what proportions come closest? It is not asked whether the references are the right ones, or whether "closest" is close enough to mean anything. A K = 6 solver will distribute every genome on Earth across its six profiles, because that is the only thing it can do; an nMonte fit always returns a best combination, and a distance of 0.02 against 0.04 measures how well the geometry closed, not whether the story is true.

None of this is a defect; it is what an optimiser is. But it means a calculator cannot say no. Give it a Yoruba genome and only European references and it returns a confident European breakdown; give it a Sardinian genome and references that lack Neolithic Anatolians and it spreads the farmer ancestry over whatever is nearest. Keep that missing failure mode in mind whenever a calculator output looks precise.

qpAdm (Haak et al. 2015) is hypothesis testing: the analyst names an explicit model (this target as a mixture of these named source populations, measured against these named outgroups) and the method solves the f4-statistic system for the proportions. Nothing is inferred from scratch; a proposed model is measured against the data and can fail. What comes back is what a calculator cannot give:

  • A p-value for the whole model. The proposed mixture is tested against a set of right populations (outgroups) using f4-statistics. If the pattern of shared drift in the target is incompatible with the mixture, the p-value falls below the chosen threshold (0.05 by convention) and the model is rejected; its weights are then not worth reading.
  • A standard error on every weight, from a block jackknife across the genome, so a weight is a range rather than a point.
  • A Z-score on every weight, so a source the data cannot distinguish from zero is visible as such, whatever its headline percentage.
  • A stated right set. The outgroups are part of the model and are published with it, because changing them changes the answer. A weight without its right set cannot be evaluated by anyone.

The method is set out in Understanding qpAdm, and the three numbers are read in How to read qpAdm results. A method that can fail is one whose passing means something, within limits: a model that passes describes the target's ancestry relative to the sampled groups and that right set, and is not proof that those groups ever met and mixed.

The one-line version: ADMIXTURE and the calculators find structure; qpAdm tests stories.

Why the numbers differ for the same samples#

A "steppe" bar in an ADMIXTURE plot and a Yamnaya-related qpAdm weight are different objects. The bar measures affinity to an inferred component that is modal in steppe samples but built from the whole dataset's variation; the weight measures the fitted contribution of an actual sampled population within an explicit model. The bar moves when you add samples or change K; the weight moves when you change sources or outgroups, and only the second comes with an SE and a test. Neither is a distortion of the other; converting between them is a category error, the same one consumer calculator comparisons run into, since a calculator's output is a frozen projection onto components or coordinates, not a tested model.

The same genome through both lenses#

The difference is easiest to see side by side. Below is an illustration, with numbers invented for the purpose, of what the two kinds of tool return for one genome. It is not a customer's result.

Calculator output (K = 6, cluster-based):

Anatolian farmer        48.2%
Steppe pastoralist      31.5%
Western hunter-gatherer 12.1%
Iranian / Caucasus       5.9%
North African            1.4%
East Asian               0.9%

Six components, a clean sum, and no way to know whether the 5.9% Iranian-related figure is a signal or a rounding of noise onto the nearest available profile. The 0.9% East Asian is almost certainly the latter, but the tool cannot say so.

qpAdm output for the same genome (illustrative):

Sources: Anatolia_N + Yamnaya_Samara + WHG
p-value: 0.184    chi-square: 11.32    dof: 8    f4 rank: 2

Anatolia_N        0.512   SE 0.031   Z 16.5   95% CI 0.451 to 0.573
Yamnaya_Samara    0.339   SE 0.034   Z  9.97  95% CI 0.272 to 0.406
WHG               0.149   SE 0.026   Z  5.73  95% CI 0.098 to 0.200

Right set (11): Mbuti.DG, Ust_Ishim.DG, Kostenki14, MA1, Han.DG,
                Papuan.DG, Onge.DG, Karitiana.DG, Iran_N, Levant_N, EHG

Three sources, not six. The model was also run with a fourth source, CHG, standing in for the calculator's Iranian-related component: its weight came back at 0.038 with SE 0.037, Z about 1.0, and the three-source nested model passed at p = 0.184 on its own. So the fourth source was not earning its place and was dropped. The North African and East Asian slivers have no counterpart at all: the three-source model already fits, so nothing in the f4 pattern, measured against this right set, called for them.

Both outputs describe the same genome, and 0.339 Yamnaya_Samara is not a corrected version of 31.5% steppe: one is the weight of a sampled population in a tested model, the other an affinity to an inferred component. The calculator's numbers are a best fit among six profiles; the qpAdm numbers are a tested claim with stated uncertainty, computed against eleven named outgroups, that a reader can reproduce. Neither is "the truth". One of them can be argued with.

Why papers run both, in a fixed order#

The division of labour is deliberate and directional. ADMIXTURE (with PCA) comes first because it is assumption-light: it shows the clusters, clines and outliers that suggest which models are worth proposing, and flags contaminated or mislabelled samples. qpAdm comes second because it is assumption-heavy and answer-strong: temporally coherent sources, a defensible right set, and in return a testable claim with uncertainties. The 2025 audit literature put a number on the pairing, for one kind of history: on simulated admixture-graph histories, corroborating distal qpAdm results with PCA and unsupervised ADMIXTURE brought the false-discovery rate of the screen to about 0%. The two methods fail differently, so their agreement is worth more than either alone, although on landscape-like histories, where ancestry varies continuously across space, agreement between them is agreement about a gradient, not proof of a discrete mixture event.

The same order, incidentally, is how a careful hobbyist should work: exploration first, testing second, with the free descriptive tools playing ADMIXTURE's role and a formal model playing qpAdm's.

Which answers your question#

Your questionThe right method
"What structure is in this dataset?"ADMIXTURE or PCA: description
"Which populations does my genome resemble?"Descriptive tools: distances, PCA
"Can my genome be explained by sources A + B?"qpAdm, and it may say no
"Is source C required, or is A + B enough?"qpAdm nested models (how they are read)
"What percent am I of component X?"ADMIXTURE-style tools answer it: read what the number is before quoting it
"A claim I would defend in an argument"qpAdm, every time: that is what the p-value is for

For your own genome, the practical translation: descriptive percentages are available free and instantly (era-scoped calculators are the modern version); the tested statement (explicit ancient sources, stated outgroups, p-value, per-source SEs and z-scores) is Ancient Ancestry, run against AADR v66. Candidate sources come from a pool curated for your declared origins and era before any model runs; our analyst tests models from that pool and re-tests the survivors; and a person reviews the candidates, then chooses and approves the one model per era that is published.

Is qpAdm worth it?#

It depends on what you want the result for, because the money buys a different kind of statement, not a better version of the same one. If you want a quick, free, enjoyable picture of what your genome resembles, use a calculator and keep your money. If you want a claim you can defend, with the numbers that let someone else check it, a formal model is the only tool that produces one; Ancient Ancestry, our qpAdm analysis, starts at 29.99 EUR one-time, and the model it publishes has been reviewed and approved by a person.

When a calculator is the right tool#

Most of the time, honestly. A calculator is the right instrument when:

  • You are exploring. You want to see which references your genome leans toward, try five different reference sets, and get a feel for the landscape. Speed matters more than rigour.
  • The question is about resemblance, not descent. "Which modern populations am I closest to" is a distance question, and a coordinate tool answers it directly and well.
  • You want it free and instant. Ancestrify's in-browser Global25 calculators run from your coordinates at no cost and with no account, and the rest of the lab is free as well (the tools that run on our servers ask for a free account). Nobody should pay for a formal model before they have played with the free version.
  • It is fun. There is nothing wrong with that. A breakdown that says 12% Western Hunter-Gatherer is a pleasant thing to look at, provided nobody mistakes it for a finding.

When qpAdm is the right tool#

qpAdm earns its cost when you want to defend a claim. Some examples of claims:

  • "My genome cannot be modelled without a steppe-related source." A calculator will happily give you 0% steppe if the references make that closest; qpAdm will tell you whether the model without a steppe-related source is rejected, and by how much.
  • "The Iranian-related component in my breakdown is not an artefact of the reference set." In a qpAdm model, a Z-score of 1.1 on that source says the data cannot distinguish its weight from zero; a Z-score of 6 says they can.
  • "These percentages are compatible with the data at a stated level of confidence." Only a method with a p-value can say that.

If you plan to post a result on a forum, compare it to a published paper, or argue about it with somebody who knows the method, you need the numbers that make the result checkable. That is what Ancient Ancestry provides for each of its two eras ("Hunter-Gatherer and Neolithic Farmer" and "Classical Antiquity"): the p-value and the model's other fit figures; each source's panel label, sample count, weight, SE, Z-score and 95% confidence interval; and the full right set with sample counts. All of it is on screen in the report's Your model view, beside maps and two rendered films, and The model record explained walks through how to read it.

The cost comparison, plainly#

Admixture calculatorAncient Ancestry (qpAdm)
PriceFreeOne-time: Base 29.99, Medium 39.99, Deep 49.99 or Perfect 59.99 EUR
ReturnsPercentages, sometimes a fit distancePer era: a p-value and fit figures, weight, SE, Z and 95% CI per source, the right set with sample counts
Can reject a modelNoYes
Who builds itNobody; it runsOur analyst tests models from a pool curated for your declared origins and era; a person approves the one that is published
ReferenceWhatever the tool shipsAADR v66, merged with your genotypes
Publish barNoneA house convention: p above 0.05, every source with Z above 3 in absolute value and SE below 0.10

Every tier gets the same report, the same maps and videos, the same model record and the same publish bar (what each price covers). The bar is a house convention, not a validated criterion, and what it says is narrow: with every weight positive, |Z| > 3 places each weight more than three standard errors from 0 and from 1.

When qpAdm is not worth paying for#

This is the part a seller usually leaves out. qpAdm is not worth paying for if:

  • Your file has very low coverage. Standard errors depend above all on how many markers survive the merge with the reference panel. A sparse file can leave every SE above the bar whatever the model, and no search will shrink an error the file has already set. Run the free Raw DNA File Check first; if it says the file cannot support qpAdm, believe it and keep your money.
  • Your question is recent genealogy. qpAdm models ancestry in terms of populations thousands of years old. It cannot tell you whether a great-grandparent was Irish or Italian, and it cannot find relatives. That is a matching question, not an admixture one.
  • You expect a single-number answer. A qpAdm result is a range with a test attached. If what you want is "I am 34% steppe", a calculator will give you that number with fewer caveats, and it will be exactly as meaningful as any other single number.
  • You want percentages at a fine geographic grain. A qpAdm model does not place ancestry inside a modern country. A source labelled Anatolia_N is a reference group from a set of Neolithic sites, not a place anyone in your family lived.
  • You have Global25 coordinates and want the coordinate view. That is a different product answering a different question; qpAdm vs Global25 sets out which one fits which question.

If none of those applies, try the free AdmixTools 2 Lab first, which runs real qpAdm on the reference panel's populations, to see how a rejection feels, and look at the demo to see the shape of a full report. If that is the kind of answer you want, the analysis below is the next step.

From €29.99 · one-time
The tested version of this question
A qpAdm model tested against AADR v66 and approved by a person, published with its p-value, every source's standard error and z-score, and the full right set, so the result can be argued with.
See Ancient Ancestry

Terms used here are defined in the glossary.

References#

  • Alexander, D. H., Novembre, J. & Lange, K. (2009). Fast model-based estimation of ancestry in unrelated individuals. Genome Research, 19(9), 1655 to 1664.
  • Flegontova, O. et al. (2025). Performance of qpAdm-based screens for genetic admixture on graph-shaped histories and stepping stone landscapes. Genetics, 230(1), iyaf047.
  • Haak, W. et al. (2015). Massive migration from the steppe was a source for Indo-European languages in Europe. Nature, 522, 207 to 211.
  • Harney, É., Patterson, N., Reich, D. & Wakeley, J. (2021). Assessing the performance of qpAdm: a statistical tool for studying population admixture. Genetics, 217(4), iyaa045.
  • Lawson, D. J., van Dorp, L. & Falush, D. (2018). A tutorial on how not to over-interpret STRUCTURE and ADMIXTURE bar plots. Nature Communications, 9, 3258.

Related posts

qpAdm analysis tutorial: from a raw DNA file to a model with a p-value
qpAdm analysis tutorial: from a raw DNA file to a model with a p-value

A step-by-step qpAdm tutorial: check your raw file, merge it into AADR v66, choose sources and outgroups, run it in the browser or in R, and read the result.

15 min read
Every number in your qpAdm report: the model record explained, with a worked example
Every number in your qpAdm report: the model record explained, with a worked example

What every number in the model record of an Ancestrify qpAdm report means, from chi-square, degrees of freedom and f4 rank to 95% confidence intervals, what the analyst checked before publishing, and a worked example read line by line, with the R code to rerun it.

18 min read
How to read qpAdm results: p-value, Z-score and SE
How to read qpAdm results: p-value, Z-score and SE

A plain reading guide to the three numbers in every qpAdm result — what the p-value tests, what a standard error bounds, what a Z-score rules out — with worked examples and the mistakes that make a passing model wrong.

4 min read
Back to all stories
Ancestrify

Combining cutting-edge genomic science with rich historical records to map your ancestry across generations and continents.


© 2026 Ancestrify. All rights reserved. · Ancestrify is a trading name of Andi Thomaj, a sole trader registered in Tiranë, Albania · NUIS M61725001N
Card payments processed by POK Payments (RPay Ltd)VISAMASTERCARD