FTDNA Matrix Compiler and Reporter — Workflow Guide
Introduction
FTDNA Matrix Compiler and Reporter is a local-browser tool designed to progressively compile, track, analyze, and export FTDNA match-to-match matrix data.
The tool is built around an incremental workflow:
gather matrix data
compile pair relationships
reduce missing coverage
preserve gathered work over time
generate report-ready outputs
The workflow is intentionally cumulative.
Over time:
the Saved Pair Dataset becomes more complete
fewer duplicate matrix pulls are needed
Best Next Run recommendations become more targeted
the compiled matrix becomes increasingly valuable for analysis
Forensics Mode and Local Use
The tool is designed around a local-browser, offline-safe workflow.
At the top of the application is the:
Forensics Mode
When enabled, Forensics Mode blocks common browser network APIs, including:
fetch
XMLHttpRequest
WebSocket
EventSource
navigator.sendBeacon
This is intended to provide additional assurance that:
imported files
pasted matrix data
compiled pair datasets
generated reports
remain processed locally within the browser session.
Important Clarification
If the tool is opened from a website, the HTML page itself is initially downloaded from that website in order to load the application.
However:
the actual matrix processing workflow occurs locally after the page loads
the tool does not require server-side processing to function
Additional Comfort Option: Save a Local Copy
For users who prefer maximum isolation or additional peace of mind:
Open the tool page in the browser.
Save the HTML file locally:
Right-click → Save As
or browser Save Page option
Open the saved HTML file directly from the local computer.
This allows the tool to operate entirely from a local file instead of loading from a hosted web page.
In this configuration:
the application itself is local
the processing is local
imported files remain local
exported outputs remain local
Many users prefer this workflow for:
investigative work
sensitive projects
long-term archival use
additional operational comfort
Recommended Practice
For maximum operational reassurance:
keep Forensics Mode enabled
work from a locally saved copy of the HTML tool
regularly export Saved Pair Dataset backups during sessions
maintain offline backups of important datasets and exports
Important Workflow Principle
The browser session itself does NOT permanently retain your compiled pair data.
If the page is:
refreshed
closed
crashed
navigated away from
the in-memory compiled dataset is lost unless exported.
Because of this:
Regular use of Export Saved Pair Dataset is one of the most important operational practices when using this tool.
The Saved Pair Dataset functions as the persistent working database for the project.
Recommended practice:
export updated Saved Pair Datasets regularly
keep dated backups
re-import the latest Saved Pair Dataset at the start of every session
This prevents accidental loss of:
gathered pair values
known 0 cM relationships
coverage progress
long-term matrix compilation work
1. Choosing and Loading the Base Match List
The first step is selecting the match list that will define your working universe.
The match list provides:
the subject-to-match cM values
the ranked ordering of matches
the active match universe used throughout the tool
In most workflows, this will be an exported match list from FTDNA or a manually prepared spreadsheet.
The tool supports multiple header styles automatically, including examples such as:
Full_Name
Full Name
Shared_cM
Shared DNA
Total cM
Only a name column and a subject cM column are required.
Standard Workflow
Enter the subject name.
Click the Match List file selector.
Choose the desired match list file.
Confirm that:
names imported correctly
cM values imported correctly
the ranked match count appears as expected
Once imported, this match list becomes the baseline reference for:
missing pair calculations
matrix reporting
Best Next Run planning
coverage tracking
2. Restoring Existing Pair Data (Saved Pair Dataset)
If you have already gathered matrix data previously, import your Saved Pair Dataset before beginning additional ingestion.
This is one of the most important workflow concepts in the tool.
The Saved Pair Dataset contains:
all previously gathered match-to-match values
stored 0 cM observations
known gathered relationships between pairs
Important Concept
The web page itself does not permanently store compiled data once the browser session is closed or refreshed.
This means:
previously gathered matrix work will be lost unless exported
the Saved Pair Dataset functions as the persistent working database for the project
Because of this, the recommended workflow is:
Import the latest Saved Pair Dataset at the start of each session.
Continue gathering and ingesting new matrix data.
Export an updated Saved Pair Dataset regularly during work sessions.
Export another updated Saved Pair Dataset before closing the session.
Standard Workflow
Click the Saved Pair Dataset file selector.
Choose the previously exported pair dataset file.
Confirm that:
stored pair counts appear correctly
previously gathered values are restored
missing pair calculations decrease appropriately
This allows the tool to:
avoid duplicate work
recognize already gathered pairs
properly calculate missing coverage
generate accurate Best Next Run recommendations
3. Loading the Auto-Zero / ICW Pair Universe
The Auto-Zero / Gather Target Pair List is optional, but becomes extremely valuable for larger projects.
This file defines the pair universe that should exist within the project.
Conceptually, this functions similarly to an ICW (“In Common With”) universe:
if a pair exists in this file, it is considered expected/gather-needed
if a pair does not exist in this file, absence is treated as automatic 0 cM
Why This Matters
Without this file loaded, the tool assumes that every possible pair inside the active universe is still needed.
This creates a much larger gather universe and usually requires many more matrix pulls to complete coverage.
With the Auto-Zero / ICW file loaded:
the tool understands which pairs are actually expected
non-expected pairs become automatic 0 values
missing-pair calculations become dramatically more efficient
Best Next Run recommendations become more targeted and realistic
Important Behavior
When this file is loaded:
absent pairs listed in the target universe become:
n.a.
pink cells
gather-needed
absent pairs NOT listed in the target universe become:
automatic 0
blank display/export values
Important Requirement
The target pair list should include all expected pairs down to the minimum cM threshold being used for the project.
Incomplete target universes can produce misleading automatic 0 assumptions.
Standard Workflow
Click the Auto-Zero / Gather Target Pair List file selector.
Choose the target pair list file.
Confirm that:
target pair counts appear correctly
missing-pair totals decrease appropriately
the active gather universe looks reasonable
4. Choosing the Selection Mode
After imports are complete, choose the active selection mode.
This determines the working match universe used for:
matrix generation
missing pair analysis
Best Next Run planning
reporting
There are two primary modes.
Top N from Match List
This is the standard workflow.
The tool uses the top ranked matches from the imported match list.
Example:
Top 50
Top 100
Top 200
The active universe becomes the selected top-ranked matches.
Standard Workflow
Select “Top N from Match List”.
Enter the desired Top value.
Click the button to rebuild/update the active set if prompted.
This mode is ideal when building structured coverage progressively outward from the strongest matches.
Pasted Data Only
In this mode, the active universe is determined entirely by the pasted matrix data itself.
Only matches observed in pasted grids become active.
Standard Workflow
Select “Pasted Data Only”.
Begin ingesting pasted matrix data.
The active universe will grow automatically as new names appear.
This mode is useful when:
reconstructing older work
working from incomplete matrix collections
importing ad hoc matrix data
auditing previously gathered datasets
Choosing Between Them
In most structured projects:
use Top N mode
For reconstruction or irregular ingestion workflows:
Pasted Data Only may be preferable
5. Gathering and Compiling Matrix Data
Once the base match universe has been established, the next phase is gathering match-to-match matrix data from FTDNA and compiling it into the project dataset.
This is the core operational workflow of the tool.
The goal is to progressively:
gather match-to-match values
reduce missing pairs
expand usable coverage
build a reusable compiled matrix dataset over time
Understanding the Workflow
The tool is designed around incremental accumulation.
Each pasted matrix:
adds additional gathered pairs
fills missing relationships
improves Best Next Run recommendations
expands the usefulness of reports and exports
The process is intentionally cumulative.
Over time:
the Saved Pair Dataset becomes more complete
fewer duplicate pulls are needed
the matrix becomes increasingly usable for analysis
Standard Matrix Gathering Workflow
Open FTDNA matrix view.
Select the desired group of matches.
Generate the matrix.
Copy the matrix grid from FTDNA.
Return to the tool.
Paste the matrix into the matrix paste area.
Click:
Add Pasted Matrix
The tool will then:
parse the pasted matrix
normalize names
identify gathered pairs
compare against existing stored pairs
add new observations into the master pair dataset
The ingestion status output will report:
total parsed pairs
newly added pairs
duplicate pairs
conflicts (if encountered)
Important Concept: The Master Pair Dataset
Internally, the tool maintains a continuously growing master pair dataset.
This dataset becomes the single source of truth for:
gathered values
known 0 cM relationships
pair completeness
matrix compilation
reporting
Best Next Run optimization
Every successful paste contributes additional information into this dataset.
0 cM vs Missing Data
One of the most important distinctions in the tool is the difference between:
observed 0 cM values
ungathered pairs
Observed 0 cM:
means the pair was actually gathered
is stored internally
displays as blank
is NOT treated as missing
Ungathered pairs:
remain n.a.
appear pink in the matrix
remain part of missing-pair calculations
Duplicate Pairs
If the same pair is encountered again with the same value:
the pair is ignored as an exact duplicate
This is normal behavior.
The ingestion report will indicate how many pairs were:
added
ignored as duplicates
flagged as conflicts
Conflict Detection
Occasionally, the same pair may appear with different values across separate matrix pulls.
When this occurs:
the pair is flagged as a conflict
the original stored value is preserved
the conflict is reported in the ingestion summary
Best Practices During Gathering
Recommended workflow:
Import:
Match List
Saved Pair Dataset
Auto-Zero / ICW Pair Universe
Select the desired active set mode.
Paste and ingest multiple matrix pulls.
Periodically:
review Missing Pairs
review Best Next Run recommendations
export updated Saved Pair Datasets
Before closing the session:
export another Saved Pair Dataset backup
This creates an incremental long-term build process instead of repeatedly restarting coverage collection from scratch.
6. Coverage Tracking and Best Next Runs
Once matrix data has been ingested, the tool can evaluate which pairs are still missing and recommend additional matrix pulls.
This is where the coverage-planning portion of the tool becomes useful.
Missing Pairs
Click:
Show Missing Pairs
The tool will generate a report of all currently ungathered expected pairs inside the active universe.
These represent:
relationships still needing matrix coverage
pairs not yet observed
remaining gaps in the compiled dataset
If an Auto-Zero / ICW Pair Universe is loaded:
only expected pairs remain missing
Without that file:
every possible pair combination is treated as still needed
This can dramatically increase the number of required matrix pulls.
Best Next Run
Click:
Best Next Run
The tool will recommend up to 10 matches that collectively cover the greatest number of currently missing pairs.
This is designed specifically around the FTDNA matrix limitation of selecting up to 10 people at a time.
Operational Workflow for Best Next Run
Click:
Best Next Run
Review the recommended names.
In FTDNA:
select those matches
generate the matrix
Copy the matrix grid.
Return to the tool:
paste the matrix
click Add Pasted Matrix
Repeat as needed.
Over time:
missing-pair counts decrease
coverage becomes more complete
Best Next Run recommendations become smaller and more targeted
Copy Name Buttons
The Best Next Run output includes:
individual copy buttons beside each recommended name
Clicking a copy button:
copies only that name to the clipboard
This is intended to speed up:
FTDNA search selection
hotkey workflows
repetitive matrix gathering sessions
Export All Best Runs CSV
Click:
Export All Best Runs CSV
This generates a staged sequence of recommended 10-person runs intended for:
long gathering sessions
automation workflows
hotkey-driven selection workflows
Each exported run:
contains exactly 10 unique names
pads incomplete runs with additional valid active-set matches
avoids repeating names within the same run
Important Guidance for Large Projects
The full Best Runs export performs repeated optimization passes across the active missing-pair universe.
For stability and performance:
expand active universes gradually
avoid appending more than 100 new matches beyond the currently gathered universe in a single planning session
Example:
if coverage already exists through Top 150
expand no farther than approximately Top 250 during the next planning cycle
Very large expansions can:
slow the browser
increase computation time
produce diminishing efficiency returns
7. Reports and Outputs
Once matrix data has been gathered and compiled, the Reports tab provides multiple ways to view, analyze, and export the dataset.
These reports are built from:
the active match universe
the stored master pair dataset
the optional Auto-Zero / ICW Pair Universe
the current matrix-color threshold settings
The Reports tab is intended for:
coverage review
relationship analysis
matrix interpretation
export preparation
presentation-ready outputs
Matrix Color Thresholds
At the top of the Reports tab are the matrix coloring thresholds.
Minimum Fair / Yellow cM
Default:
40 cM
Minimum Good / Green cM
Default:
75 cM
Values below the Fair threshold remain white.
Grouped matrix mode still uses:
cluster/group coloring
However:
values at or above the Fair threshold become bold and slightly larger for emphasis
Pair Listing Report
The Pair Listing report displays the stored pair dataset in row format.
Pair Listing Export
Click:
Export Pair CSV
This exports the current pair listing as a CSV file.
Compiled Matrix Report
Click:
View Matrix
The tool generates a popup matrix report based on:
the current active universe
the stored master pair dataset
current threshold settings
current grouping mode
Matrix Display Behavior
The matrix includes:
sticky/frozen top header row
sticky/frozen left rank column
sticky/frozen left match-name column
Matrix Coloring
In standard mode:
white = below Fair threshold
yellow = Fair threshold and above
green = Good threshold and above
pink = ungathered / n.a.
Subject cM Context
Both horizontal and vertical headers include:
subject-match cM values
Clickable Match Names
Clicking a match name opens:
a Matches Both Analysis report for that person
Matrix CSV Export
Click:
Export Matrix CSV
This exports the compiled matrix in CSV format.
Matrix HTML Export
Click:
Export Matrix HTML
This generates a presentation-ready standalone HTML matrix file.
The exported HTML preserves:
matrix styling
threshold coloring
grouped coloring
missing-pair highlighting
sticky header row
sticky left columns
Matches Both Analysis
Select a match from the dropdown list.
Click:
View Matches Both Report
The report shows:
expected shared matches
subject-match cM values
gathered pair values involving the selected match
Sorting
The Subject and Selected Match columns are sortable.
Matches Both CSV Export
Click:
Export Matches Both CSV
This exports the currently selected Matches Both report as a CSV file.
Numeric UID Mode
When enabled:
ranks/UIDs replace names in exports
This can be useful for:
anonymized sharing
collaborative analysis
reduced direct-name exposure
Disclaimer
This tool is provided “as is” without warranties of any kind, either express or implied.
Use of this tool is at your own risk. The user is solely responsible for any interpretations, decisions, or actions taken based on its output.
Users are responsible for ensuring compliance with all applicable laws, privacy standards, and ethical guidelines when working with genetic or personal data.