The Ancestry_MatchEthnicityRegion table stores a match’s ethnicity estimate, broken down by region. Each row is one region in one match’s estimate, with the percentage of DNA assigned to that region. There is one row per (matchGuid, regionKey) pair, so a single match contributes several rows — one for each region in their breakdown.
The regionKey column joins to the Ancestry_EthnicityRegion lookup table, which holds the human-readable region name and its parent macro-region.
| Column | Type | Source | Description |
|---|---|---|---|
| Id | int (PK) | Auto | Auto-incrementing primary key |
| matchGuid | string | Match Compare | The matched person’s GUID (stored uppercase) |
| regionKey | string | Match Compare | Region identifier — joins to Ancestry_EthnicityRegion.regionKey |
| percent | int | Match Compare | Percentage of the match’s DNA assigned to this region |
| created_date | string | App | Date the row was captured (yyyy-MM-dd) |
This data is captured during the Origins comparison on each match’s compare page, so it is only gathered when tree or ICW gathering is enabled. For each region returned by A*, the match’s percentage is recorded; regions where the match has 0% are skipped. When a match is re-gathered, its existing rows are deleted and replaced, so the table always reflects the latest estimate for each match.
regionKey to a display name and macro-region.matchGuid.