HelpDatabase Reference › MeAnd23W_AncestryCompSummary

MeAnd23W_AncestryCompSummary Table

The MeAnd23W_AncestryCompSummary table holds the summary side of 23andMe’s Ancestry Composition. Each row is one population (an ancestry region such as a broad continental group or a more specific country-level group) at one confidence threshold, along with how much of the profile’s ancestry that population accounts for.

23andMe reports Ancestry Composition as a tree of populations at several confidence thresholds. Broad populations sit at the top and narrower populations hang beneath them; the parent_id column captures that parent/child hierarchy. The painted chromosome segments behind each population are stored separately in the MeAnd23W_AncestryCompSegments table, joined back to this table by population_id and threshold.

Column Reference

ColumnTypeDescription
Idint (PK)Auto-incrementing primary key
psidstringThe 23andMe profile ID being gathered
thresholdstringThe confidence threshold this population tree was reported at. The same population appears once per threshold.
population_idstringIdentifier of the population (ancestry region). Used to join to the segments table.
labelstringHuman-readable name of the population (e.g. a region or country name)
parent_idstringThe population_id of this population’s parent in the tree, building the broad-to-specific hierarchy. Empty for top-level populations.
totalPercentstringThe percentage of ancestry assigned to this population, as reported by 23andMe
totalProportiondoubleThe same assignment expressed as a proportion (0–1)
hap1PercentstringPercentage assigned to this population on the first haplotype (one parent’s copy)
hap2PercentstringPercentage assigned to this population on the second haplotype (the other parent’s copy)
is_traceint1 if this is a trace-level population, 0 otherwise
is_broadint1 if this is a broad population, 0 otherwise
colorstringThe display color 23andMe uses for this population
metadatastringJSON blob of extra descriptive fields packed together — description, demonym, highlight countries, IBD countries, and reference ethnicities — when present
created_datestringWhen this record was created

How It’s Populated

When the Ancestry Composition result is gathered for a profile, 23andMe returns a set of population trees keyed by threshold. The app walks each threshold’s tree from the root down:

  1. For each population node it creates one summary row, recording population_id, label, parent_id (the node it descended from), totalPercent / totalProportion, the two haplotype percentages, the is_trace and is_broad flags, and color.
  2. Descriptive fields (description, demonym, highlight countries, IBD countries, reference ethnicities) are packed into the metadata JSON string when 23andMe supplies them.
  3. The node’s painted segments are extracted into the segments table, and the walk recurses into the node’s children, passing the current population_id down as their parent_id.
Saving is done per profile as a replace: existing summary and segment rows for the psid are deleted first, then the freshly gathered rows are written. This keeps a profile’s Ancestry Composition consistent rather than accumulating stale rows across gathers.

Related Tables

  • MeAnd23W_AncestryCompSegments — the painted chromosome segments behind each population, joined by population_id + threshold.
  • MeAnd23W_Relatives — also stores a per-relative Ancestry Composition value at the relative level.
  • MeAnd23W_Profiles — the profiles gathered under the account.