---
title: Massive Family Trees in Genealogical Research
url: https://www.emergentmind.com/topics/massive-family-trees
type: topic
---

# Massive Family Trees in Genealogical Research

Searching arXiv for recent and foundational papers on large-scale genealogical networks and family trees.
Massive family trees are population-scale genealogical datasets in which user-generated family trees are used to construct family networks across many generations and far into the past. In this literature, the operative object is usually a genealogical network rather than a literal tree: family trees contain information on individuals such as birth and death places and years, and kinship ties, e.g., parent-child, spouse, and sibling relationships; at larger scales they are modeled as sparse graphs with parent-child edges together with union edges, and the largest known data sets now include well over one billion individuals [2012.11007] [2301.11965]. Such corpora support quantitative work on migration, demographic history, network topology, and comparative structure, including integrated analyses that combine network-theoretic structure with an inferred notion of time [2606.18210].

## 1. Provenance, scope, and corpus composition

Massive family trees are assembled from digitised genealogical platforms and repositories with heterogeneous provenance. One line of work uses RootsWeb.com user-uploaded GEDCOM files, totaling $\approx 80$ million distinct records with name, birth/death place (text), birth/death year and kinship pointers; another uses WikiTree, a free, collaborative worldwide genealogy platform, with 6.67 million distinct individual profiles organized into several hundred thousand connected family-tree components and spanning over 160 countries; more recent comparative work uses over one hundred datasets from the Kinsources repository [2012.11007] [1408.5571] [2606.18210].

The geographic and temporal reach of these corpora is correspondingly broad. The WikiTree-based study reports temporal coverage c. 1 AD – present, with the bulk of reasonably complete records from 1650–1950, while the migration study extracted state-to-state migration patterns over a period of 150 years between 1776 and 1926 from cleaned, geocoded and connected family trees [1408.5571] [2012.11007]. This scale is analytically consequential because it permits the extraction of migration networks over time, the testing of demographic hypotheses on fertility, lifespan, and marriage patterns, and the comparison of genealogical networks with other social networks under a common graph-theoretic and topological framework [1408.5571] [2301.11965].

A recurrent methodological premise is that these data are not typically created by trained genealogists. Accordingly, large-scale studies pair breadth with validation: aggregate lifespans were compared to published life tables with median absolute error $< 2$ years, and other analyses explicitly emphasize conflict resolution, duplicate detection, and downstream tagging of unresolved conflicts [1408.5571] [2012.11007]. This suggests that “massive” refers not only to cardinality, but also to the need for reproducible pipelines for record linkage, geocoding, graph construction, and uncertainty management.

## 2. Data engineering, linkage, and graph construction

The computational treatment of massive family trees begins with record standardization. In the RootsWeb workflow, personal names were normalized via uppercase, strip punctuation, remove honorifics (“Jr.”, “II”), and place strings were tokenized and canonicalized; in the WikiTree workflow, names were normalized by case-folding and diacritic removal, while dates were converted to integer years and impossible dates were set to NULL [2012.11007] [1408.5571]. These steps define the attribute space on which record linkage operates.

Deduplication is handled through blocking and similarity scoring. One pipeline blocks on standardized name + birth year $\pm 1$ to generate candidate pairs and computes
$$
\operatorname{sim}(r_1,r_2)=w_1\cdot \operatorname{nameSim}+w_2\cdot \operatorname{placeSim}+w_3\cdot \operatorname{parentNameSim},
$$
after which records with $\operatorname{sim}>\tau$ are merged and all incoming and outgoing relationships are updated to a canonical individual ID (IID) [2012.11007]. A second pipeline uses a Fellegi-Sunter–style model with feature weights for name string similarity (Jaro-Winkler), birth-year proximity, and place-of-birth match [1408.5571]. When two records claim different birth years or places but pass the dedup threshold, the RootsWeb study prefers the value appearing in more independent GEDCOMs and tags unresolved conflicts for downstream analysis $(\approx 0.2\%$ of records) [2012.11007].

Geocoding converts free-text place strings into usable coordinates. In the RootsWeb study, all unique place strings $(\approx 120\text{ K distinct tokens})$ were submitted in batch to a geocoding service, disambiguation used state or country context, edit-distance to the full string, and preference for higher-population features, and successful output was obtained for $\approx 85\%$ of unique place names [2012.11007]. Invalid coordinates were re-queried or labeled “unknown,” and pairs with no geocoded birthplace for either end were dropped in migration extraction [2012.11007].

After linkage, the data are represented as large sparse graphs. For $N\approx 80$ M individuals and $M\approx 41.5$ M parent–child edges, the RootsWeb study stores adjacency lists and uses Compressed Sparse Row (CSR) for directed edges, key-value stores indexing $\{\text{IID}\rightarrow \text{attributes}\}$, and memory-mapping of binary adjacency files for out-of-RAM processing [2012.11007]. A union-find structure connects linked components, with the giant component covering $\approx 95\%$ of IIDs; records lacking parent pointers are retained but excluded from intergenerational flow counts [2012.11007]. In the more general graph model, nodes are individuals and edges are of two types: parent-child and spouse or union edges [1408.5571] [2301.11965].

## 3. Temporal inference and intergenerational migration

A central application of massive family trees is the reconstruction of parent-child migration flows. In the RootsWeb study, birthplaces and birthyears of parents and children are used to extract intergenerational migration flows between states, and each parent–child “move” is timestamped at
$$
\text{migration\_year}=\text{birth\_year(child)}-2.
$$
For each parent–child pair with valid $\text{birth\_state(parent)}=i$, $\text{birth\_state(child)}=j$ and migration year in period $T$, the raw flow count is incremented as
$$
F^T_{ij}\leftarrow F^T_{ij}+1,
$$
subject to the “one-count per parent-state-sex” rule, which avoids over-counting large families in migration tallies [2012.11007].

Temporal partitioning is a major analytical choice. Three strategies were evaluated: predefined historical periods, overlapping fixed-length windows, and variable-length equal-volume windows [2012.11007]. The predefined periods are 1776–1820, 1820–1862, 1862–1890, and 1890–1926; they align with key events and are easy to interpret, but have unequal time-span lengths and unequal total moves per period [2012.11007]. Overlapping fixed-length windows provide uniform temporal granularity and sliding-window trends, but overlap complicates independence of observations [2012.11007]. Variable-length equal-volume windows give each bin comparable sample size and good statistical power, but unequal interval lengths may split known historical epochs awkwardly [2012.11007]. The accompanying best-practice advice is to test multiple schemes and report sensitivity [2012.11007].

To control for marginal origin/destination volumes and geographic distance, raw flows are transformed using a double-constrained gravity model. Expected flows satisfy
$$
E_{ij}=A_i\cdot O_i\cdot B_j\cdot D_j\cdot d_{ij}^{-\beta},
$$
with constraints $\sum_j E_{ij}=O_i$ and $\sum_i E_{ij}=D_j$, where $d_{ij}$ is the great-circle distance between state centroids and $A_i,B_j$ are balancing factors found via Iterative Proportional Fitting (IPF) [2012.11007]. The modularity transformation is then
$$
Q_{ij}=F_{ij}-E_{ij}.
$$
Retaining only $Q_{ij}>0$ edges or coloring by sign highlights over-represented migration corridors and under-served or inhibited channels; the stated rationale is that subtracting the gravity-model expectation controls for “bulk” effects of population size and distance, revealing culturally or historically salient flows [2012.11007]. The preliminary result is longitudinal population mobility in the U.S. on such a large spatial and temporal scale [2012.11007].

## 4. Genealogical networks, cycles, and persistent homology

A common misconception is that a family tree is structurally a tree. In the graph model used for large-scale analysis, a genealogical network is an undirected graph $G=(V,E)$ with
$$
E=\{\text{parent-child edges}\}\cup\{\text{union edges}\},
$$
where union denotes marriage or any relationship that produces a child [2301.11965]. Because unions typically join individuals of roughly the same generation but at graph-distance $d\ge 4$ or $5$, genealogical networks admit loops that do not occur in ordinary rooted-tree formalisms [2301.11965]. Common-ancestor loops, union loops, and hybrid loops are therefore intrinsic features rather than anomalies [2301.11965].

Persistent homology provides a formal way to analyze these loops. The construction begins with graph-distance $d(i,j)$ and the distance-based filtration $G_t$, where $G^t$ has the same vertex set and an edge $(i,j)$ whenever $d(i,j)\le t$, so that $G_0\subseteq G_1\subseteq \cdots \subseteq G_M$ [2301.11965]. For each $k\ge 0$, the homology groups $H_k(G_t)$ over $\mathbb{F}_2$ define a persistence module, and each homology class yields a half-open interval $[b(\alpha),d(\alpha))$ [2301.11965]. The paper introduces the persistence curve
$$
\phi_k(t)=\#\{\alpha\in H_k: b(\alpha)\le t<d(\alpha)\},
$$
equivalently $\phi_k(t)=\sum_i 1_{\,b_i\le t<d_i\,}$, as a summary that encodes how many generators persist at each scale [2301.11965].

The interpretation of homological dimensions is explicitly genealogical. For $k=0$, $\phi_0(t)$ drops from $|V|$ at $t=0$ down to the number of connected components at $t=1$; each connected component is a disjoint “family group” [2301.11965]. For $k=1$, each persistent 1-cycle corresponds to a nontrivial loop in the family tree, including common-ancestor loops and double-cousin-style union loops [2301.11965]. For $k=2$, closed 2-surfaces are rare but can detect complex intermarriage patterns [2301.11965]. Empirically, the study computed $\phi_1,\phi_2$ for 101 genealogical and 31 other social networks and found that genealogical networks have a distinct structure: $\phi_1$ is much flatter, with significant mass out to $t=6$–$8$ and cycles of length $18$–$24$, whereas social networks rise steeply at small $t$ and saturate by $t\approx 3$ or $4$ [2301.11965]. The same signatures persist under subsampling, and bottleneck distances in $H_1$-diagrams group genealogical apart from social networks even with $50\%$ missing data [2301.11965].

Scalability is addressed algorithmically rather than by exact all-pairs methods. Exact Rips-complex PH is worst-case $O(n^3)$ and impossible for $n=10^9$, but the paper emphasizes sparse adjacency lists, landmark-based reduction via witness complexes, partition-and-merge via Mayer–Vietoris, and practical implementations that can handle $\sim 10^7$ nodes if restricted to $H_1$ and if edge-threshold $t\le 10$ [2301.11965]. A plausible implication is that topological summaries are most effective when coupled to sparsification and restricted homological dimension.

## 5. Structural hallmarks and inferred temporal layers

Comparative analysis across over one hundred genealogical datasets indicates that massive family trees exhibit recurrent structural regularities. Degree counts are decomposed into unions $k_u$, children $k_c$, and total degree $k=k_p+k_u+k_c$; empirically, for $k_u\ge 1$,
$$
P(k_u)\propto k_u^{-\alpha_u}\quad \text{with}\quad \alpha_u\approx 1.8765\pm 0.0018,
$$
and for $k_c\ge k_c^{\min}=4$,
$$
P(k_c)\propto k_c^{-\alpha_c}\quad \text{with}\quad \alpha_c\approx 2.9345\pm 0.0087.
$$
Component sizes also follow heavy-tailed laws: for 1-components, $P_1(s)\propto s^{-\alpha_1}$ with $\alpha_1\approx 2.375\pm 0.046$ for $s\ge 6$, and for 2-components, $P_2(s)\propto s^{-\alpha_2}$ with $\alpha_2\approx 3.372\pm 0.016$ for $s\ge 3$ [2606.18210]. The accompanying interpretation is that there is no “typical” family size or component [2606.18210].

The same study reports small-world behavior with respect to both genetic and union-based distances. If $\ell_s=\langle d_{\text{shortest}}(i,j)\rangle$, $\ell_g=\langle d_{\text{genetic}}(i,j)\rangle$, and $\ell_u=\langle d_{\text{union}}(i,j)\rangle$, then as the network grows $(n\approx 5{,}000\to 250{,}000)$, both $\ell_g$ and $\ell_u$ grow logarithmically in $n$ [2606.18210]. The global clustering coefficient
$$
C=\frac{3\times \text{number of triangles}}{\text{number of length-2 paths}}
$$
is high, with $C\approx 0.23$ for the aggregate network and $\langle C\rangle\approx 0.28\pm 0.08$ across individual datasets, reflecting the ubiquity of parent–parent–child triangles [2606.18210].

A notable structural claim is that 2-components provide a natural unit of genealogical structure. A 2-component is a maximal subgraph in which every pair of vertices is joined by at least two vertex-disjoint paths, and in a union-complete genealogy every parent–child or union edge lies on exactly one 2-component [2606.18210]. The paper argues that 2-components capture cohesive “family blocks” that do not artificially split parent from child and can be computed in $O(m+n)$ time [2606.18210].

Temporal structure can also be inferred directly from topology through pseudogenerations. Writing the genealogy as a mixed graph $G=(N,E_C\cup E_U)$, the “pseudogeneration optimization problem” is
$$
\min_{g\in \mathbb{Z}_{>0}^N}\sum_{(i\to j)\in E_C}(g_j-g_i)
$$
subject to $g_j-g_i\ge 1$ for all parent–child arcs, equality constraints for singleton-union partners, and $g_i\in\mathbb{Z}_{>0}$ [2606.18210]. Because the parent–child graph is a DAG, feasibility and optimality follow, and the output labels each individual by an inferred generation layer [2606.18210]. Within this framework, the aggregate network exhibits consistent disassortative mixing, with observed $r_G\approx -0.10$ and $r_{\mathcal{G}}\approx -0.16$, and recorded unions are strongly biased toward short genetic distances relative to potential pairings: cumulatively, $50\%$ of real unions occur within the closest $15.63\%$ of potential pairings [2606.18210]. Over pseudogenerations, $p_{\text{join}}$ falls from $\approx 100\%$ in the earliest layer to $\approx 42\%$ in the modern layer, while $p_{\text{non}}$ rises from $0\%$ to $\approx 52\%$ [2606.18210].

## 6. Demographic uses, data limitations, and terminological scope

Massive family trees have become a quantitative resource for population history. The WikiTree-based study reports decade-binned analyses of names, sex ratios, fertility, marriage patterns, and lifespan correlations, including an observed twin rate of $10{,}246 / 963{,}416 \approx 0.0106$ and triplet rate of $128 / 963{,}416 \approx 0.00013$, compared to Hellin’s approximation $1/89\approx 0.0112$ and $1/89^2\approx 0.000126$ [1408.5571]. It also reports that “Wendy” rose from near zero pre-1900 to $>0.2\%$ of female births by 1950, that sons named after fathers rose to $\sim 30\%$ in the 16th century and then declined, that mean maternal age at first birth rose from $\sim 23$ years in 1700s to $\sim 27$ years by 1900, and that spousal age-at-death correlation is $r=0.224$ with $p<10^{-6}$ [1408.5571]. These results show how genealogical corpora can be used to test century-old demographic and social hypotheses at unprecedented scale [1408.5571].

At the same time, the literature emphasizes persistent limitations. Aggressive disambiguation maximizes coverage but risks mislocated points; overlooking missing-geocode records can bias geographic coverage toward better-documented locales; and applying a gravity model without double-constraint yields marginal misfit [2012.11007]. Missing a sibling or marriage loses some loops, although long-tail loops are described as robust [2301.11965]. More generally, unresolved conflicts, incomplete parent pointers, and platform-specific documentation practices shape the observable network [2012.11007] [2606.18210]. This suggests that massive family trees are simultaneously data-rich and systematically censored.

A final terminological caution concerns the word “tree.” In genealogical network research, “family tree” refers to kinship data represented as graphs with parent-child and union relations [2301.11965]. In set theory, by contrast, a $\lambda$-tree is a tree of height $\lambda$ whose levels have size $<\lambda$, and an Aronszajn tree is a $\lambda$-tree with no branch of length $\lambda$ [2101.01814]. Krueger’s “A Large Pairwise Far Family of Aronszajn Trees” constructs a family $\{T_i:i<2^\lambda\}$ of normal $\kappa$-complete $R_\kappa$-embeddable non-special $\kappa^+$-Aronszajn trees under specific set-theoretic hypotheses, a usage entirely distinct from genealogical analysis [2101.01814]. The shared term therefore masks two unrelated technical traditions: one concerns human kinship networks at population scale, and the other concerns combinatorial set theory.

Source: https://www.emergentmind.com/topics/massive-family-trees