> ## Documentation Index
> Fetch the complete documentation index at: https://docs.narrative.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Graph Enrichment

> Strengthening identity graph structure with third-party linkage data for improved person-level and household-level resolution

Graph enrichment uses third-party identity data to create or strengthen connections between nodes in your identity graph. Unlike [addressability expansion](/concepts/identifiers/addressability), which appends identifiers to existing records, graph enrichment changes the graph's structure itself—adding edges that connect previously isolated nodes into unified profiles.

## What graph enrichment is

Your first-party identity graph reflects the linkages you can directly observe: login events, CRM matches, transaction data. But your observation is limited to your own touchpoints. Graph enrichment fills the gaps by incorporating linkages observed by third-party providers across their own data ecosystems.

The result is a more connected graph with fewer fragmented profiles and better person-level or household-level resolution.

## How it works

Consider a retail company with this first-party data:

* Customer A: hashed email + iPhone IDFA (observed via app login)
* Customer A: hashed email + home address (observed via shipping)

Their first-party graph has a connected component with three nodes: email, IDFA, and address.

A third-party identity provider observes that the same email is also linked to an Android GAID and a second hashed email (a work address). After graph enrichment:

* Customer A's component now includes five nodes: personal email, work email, IDFA, GAID, and home address
* The retailer can now reach Customer A on Android devices and recognize them when they use their work email

The graph's structure changed. New edges were added, and the connected component expanded.

## Effects on the graph

Graph enrichment can improve your identity graph in several ways:

**Person-level resolution.** Connecting identifiers that belong to the same individual across devices and channels. A customer who appears as three separate profiles (email-only, MAID-only, cookie-only) becomes one resolved profile.

**Household-level resolution.** Linking identifiers across individuals within a household. Shared addresses, shared IP ranges, and shared device usage can connect household members when that level of resolution is appropriate for your use case.

**Waterfall matching flexibility.** A richer graph gives you more identifiers per person, which means more opportunities to match against any given activation platform. If one identifier type fails to match, another may succeed.

**Longitudinal consistency.** When identifiers change over time (cookies expire, MAIDs reset), a well-enriched graph maintains continuity through other persistent linkages.

## What to look for in providers

When evaluating graph enrichment providers, focus on these criteria:

| Criterion                         | What to measure                                        | Why it matters                                           |
| --------------------------------- | ------------------------------------------------------ | -------------------------------------------------------- |
| **Linkage depth**                 | Average edges per node                                 | More edges per node means richer resolution              |
| **Determinism rate**              | Percentage of deterministic vs. probabilistic linkages | Deterministic linkages are more reliable                 |
| **Confidence score quality**      | Distribution and calibration of confidence scores      | Well-calibrated scores enable meaningful thresholds      |
| **Update cadence**                | How frequently linkages are refreshed                  | Stale linkages degrade graph quality over time           |
| **Incremental component overlap** | How many of your existing components gain new edges    | Measures actual incremental value vs. redundant coverage |

## Risks

Graph enrichment carries higher stakes than addressability expansion. A bad identifier append reduces match rates—an inconvenience. A bad linkage merges two distinct people into a single profile—a structural corruption that propagates through every downstream use case.

Protect against this by:

* **Setting confidence thresholds.** Only incorporate linkages above a minimum confidence score. Start conservative and relax over time as you validate quality.
* **Monitoring component size distribution.** A sudden increase in very large components may indicate over-linking. Healthy graphs follow a predictable size distribution.
* **Evaluating incrementally.** Test a provider's linkages against a subset of your graph before full integration. Measure resolution improvement against a known truth set.

***

## Graph enrichment in Narrative

Narrative's platform supports graph enrichment evaluation and execution through Rosetta Stone and NQL.

### Evaluating provider linkage coverage

Use NQL to measure how much incremental coverage a provider adds to your existing graph:

```sql theme={null}
SELECT
    provider."_rosetta_stone"."unique_identifier"."type" AS id_type,
    COUNT(DISTINCT provider."_rosetta_stone"."unique_identifier"."value") AS provider_ids,
    COUNT(DISTINCT CASE
        WHEN seed."_rosetta_stone"."unique_identifier"."value" IS NOT NULL
        THEN provider."_rosetta_stone"."unique_identifier"."value"
    END) AS overlapping_ids
FROM external_provider."identity_linkages" provider
LEFT JOIN company_data."first_party_graph" seed
    ON provider."_rosetta_stone"."unique_identifier"."value" = seed."_rosetta_stone"."unique_identifier"."value"
    AND provider."_rosetta_stone"."unique_identifier"."type" = seed."_rosetta_stone"."unique_identifier"."type"
GROUP BY provider."_rosetta_stone"."unique_identifier"."type"
```

### Measuring resolution improvement

Compare connected component metrics before and after incorporating a provider's linkages to quantify the resolution improvement they deliver.

***

## Related content

<CardGroup cols={2}>
  <Card title="Identity Graphs" icon="diagram-project" href="/concepts/identifiers/identity-graph">
    The foundational concepts behind identity graph structure
  </Card>

  <Card title="Addressability Expansion" icon="bullseye-arrow" href="/concepts/identifiers/addressability">
    The complementary approach: improving activation reach without changing graph structure
  </Card>

  <Card title="ID Mapping" icon="link" href="/concepts/identifiers/id-mapping">
    How individual identifier linkages work
  </Card>

  <Card title="Data Onboarding" icon="upload" href="/concepts/identifiers/data-onboarding">
    Translating offline data for digital activation
  </Card>
</CardGroup>
