The most consequential decision in any Global25 admixture run is made before the solver starts: which sources you offer it. The arithmetic then does exactly what it is told — finds the closest mixture of those sources — and prints percentages with the same confidence whether the panel was wise or absurd. Everything that separates a meaningful G25 model from numerology lives in panel construction, so this post is about that: the overfitting trap, the collinearity trap, and the working rules we apply when building calculators for paying customers.
Prerequisites: what a fit is and what the fit distance means.
The iron law: more sources always fit better#
Adding a source can never worsen the optimal fit — the solver can always assign it zero — and almost always improves it, because a bigger panel spans more of the space. Improvement of the fit is therefore not evidence the added source belongs in the story. Taken to the limit, the law is obvious: add the target's own population average and the "model" fits at nearly zero distance while explaining nothing.
Here is the law in action, from our calibration work on an Albanian population average:
| Panel | Fit distance | The story |
|---|---|---|
| Curated 5-source era calculator | 0.0110 | Clean: Illyrian-related component ~56%, coherent minor sources |
| 12 sources (five Balkan calculators merged) | 0.0081 | Distorted: the Illyrian-related share collapses to ~14%, scattered across near-substitutes |
| All 27 era-tagged averages | 0.0068 | Noise: thirteen components, no readable history |
Monotonically "better" fit, monotonically worse model. Any tool that lets you stack sources — Vahaduo, nMonte, ours — will walk you down this staircase smiling. The discipline has to come from the panel.
The subtler trap: collinearity#
Two sources that sit close in the space — or worse, one source expressible as a combination of others — split their shared signal arbitrarily. The split lands wherever the random descent happens to settle, so the percentages become seed-dependent while the fit barely moves. Our production incident that proved the point: a Balkan panel contained a source reconstructable to within 2% as 75% of one neighbour plus 24% of another; the solver handed the entire share to the neighbour by a 0.19-point margin — pure noise at the sample sizes involved — and an Albanian target read zero on the component that actually described them.
The two audits that catch it, runnable in any tool: reconstruction — solve each source as the target against the rest of the panel; a residual under ~0.010 means the panel can build that source out of the others, so one side has to go. And pairwise cross-fit — two sources fitting each other under ~0.015 are one axis wearing two names; keep the better-sampled, more era-appropriate one.
The working rules of an honest panel#
The full bar we publish under is longer, but its load-bearing rules travel to any tool:
- 3–8 sources. Below three you are asserting the answer; beyond eight you are fitting noise. Our solver hard-caps at eight.
- One era at a time. Sources from one dated window (era coherence), at most one later-era proxy, named as such. A panel mixing Bronze Age and medieval sources answers no question in particular.
- Every source earns its place. It takes ≥ 2% weight, and removing it worsens the fit by a stated margin (we use 0.002). A source that costs nothing to drop was decoration.
- Averages, properly built. A "population" of one individual is one person's noise wearing a population's name — source averages need members (we require ≥ 2, prefer ≥ 4; build your own correctly).
- Stability check. Re-run the fit several times unseeded. Components swinging more than a few points between runs mean collinearity or oversize — fix the panel, never cherry-pick the run you liked.
- The neighbourhood must be explainable. The target's closest populations should make sense under the model. A panel that fits beautifully while the distance list points somewhere else entirely is answering the wrong question well.
Why the fit distance cannot police any of this#
The fit measures the gap, and every trap above works by shrinking the gap. That is the deep reason lower is not better past a point, why our publish bar bounds fit from both sides (a fit band above, an anti-underfit floor below — the proposed panel must land within 0.010 of the full era pool's fit while accounting for every component that pool assigns ≥ 5%), and why a defensible model states its panel, its era and its rationale rather than its distance. A coordinate fit can never reject itself; when a source question needs an actual test — is this component required? — that is qpAdm's job, with p-values and per-source z-scores.
The free calculators ship with panels already curated under these rules, which is the honest advantage of curation over freedom; the personalized calculator is the same discipline applied around one customer's coordinate by hand.
Terms used here are defined in the glossary.



