# The Talent Flow Map: Feeder and Destination Companies

*You can build a ranked feeder-and-destination map for one company from public profiles, internal transfers excluded and counts size-normalized, ready for leadership.*

- Canonical URL: https://www.refolk.ai/guides/talent-flow-map-feeder-destination
- Pillar: Market and talent intelligence
- Format: Playbook
- Published: 2026-10-14
- Last reviewed: 2026-10-14
- Reading time: 16 min
- Keywords: talent flow map, where employees go after leaving a company, feeder companies analysis, destination company mapping, talent outflow analysis, build a talent migration map

## Key takeaways

- Size-normalization does not just reorder a feeder list, it flips it: raw counts measure how big a company is, not how much it sends people to your target, so divide each edge by that company's platform-observed headcount.
- A promotion shows up as a 'started new position' event with the same employer, so the single most common artifact in a broken map is the target company appearing as its own top destination.
- In Refolk's index a US people-analytics pool of 25 sampled profiles had no single employer above about 4 percent, which is why a minimum edge count and small-cell suppression are mandatory, not optional.
- The 12-month look-back is a tenure-driven choice: with median US tenure at 3.9 years in January 2024 and 22 percent of workers under one year, a year captures the fast-churn segment where directional signal is strongest.
- Geography concentrates feeders more than industry does: Dallas-Fort Worth, Boston and San Jose held 36 percent of the US sampled pool, so most real edges are local labor-market moves, not national ones.
- A defensible map reports counts alongside ranks and flags every suppressed cell, because a single coincidental move must never be allowed to read as a pipeline.

This guide produces one deliverable: a ranked map of which companies feed a target company's hires and which companies its leavers go to, built from public job-change signals. It is for strategy and research teams, talent-intelligence analysts, and operators sizing a competitive labor market who need a directional picture, not just an attrition rate. By the end you can build that map for one company, with internal transfers excluded and counts size-normalized, defensible enough to put in front of a leadership team.

The library already covers estimating a competitor's attrition and naming who you fight for hires. This is the different, directional job: the arrows, not the volume. Where does talent enter, and where does it exit, ranked and attributed.

## What a talent flow map is and what it is not

A talent flow map is a directed graph for one company: feeder companies with arrows pointing in, destination companies with arrows pointing out, each edge weighted by a count and a size-normalized rate. It answers "where do hires come from" and "where do leavers go," which an attrition rate cannot.

Three things separate this from the dashboard screenshots that rank for these queries. First, it is vendor-neutral and reproducible from public profiles, so you can defend every edge. Second, it enforces an explicit internal-versus-external separation rule, so a promotion never masquerades as an external move. Third, it size-normalizes, so the ranking reflects affinity rather than employer size.

The raw material is narrow and worth naming precisely. The usable public signals are profile-reported position start and end dates and the "started a new position" event. A person counts as a past or present employee of a company when they add that position to their profile. Every edge in your map is a pair of consecutive positions on one person's profile where the two company fields differ.

> **Note:** The unit of analysis is a resolved mover
>
> A mover is one person with two populated endpoints: a prior company and a next company straddling a dated position change. No endpoint, no edge. The whole method is counting resolved movers and attributing them correctly.

## Why size-normalization changes the answer, not just the order

Raw feeder counts measure how big a company is, not how much it sends people to your target. Flows scale with headcount, so without a denominator you are ranking employer size. This is the single most important idea in the guide.

The documented fix is to normalize against the platform's own population. The World Bank and LinkedIn, building a global migration dataset, used statistical methods to normalize metrics so they could be compared fairly across countries and industries, for example normalizing most metrics according to LinkedIn membership size. Applied to a flow map, you divide each feeder or destination count by that company's platform-observed headcount to get a share, or rate.

The effect is not a gentle reshuffle. A large consultancy or a hyperscaler will top the raw list of almost any target simply because it employs a huge number of people, a handful of whom will move anywhere. The true feeder is often a mid-size firm whose rate of sending people to the target is high even though its absolute count is modest. When you compute both tables, the normalized ranking frequently promotes companies the raw ranking buried.

> Raw counts rank the biggest employers; normalized rates rank the companies that actually feed you.

The practical rule: require the two tables to agree before you call something a feeder. A company that is high on both absolute count and normalized rate is a real edge. A company that is high on raw count but low on rate is a size artifact. A company that is high on rate but has a tiny count is noise, which the threshold step will catch.

## Set the look-back window against tenure, not habit

Use 12 months as the default, and treat it as a tenure-driven decision rather than a convention. Shorten to 6 months for fast-moving tech, extend to 24 for low-mobility sectors, and write a one-line rationale tied to the sector's mobility.

The anchor is tenure data. The median number of years that US wage and salary workers had been with their current employer was 3.9 years in January 2024, down from 4.1 years in January 2022 and the lowest since January 2002. About 22 percent of workers had under one year of tenure. A 12-month window captures that fast-churn segment, where the directional signal is strongest, while a 24-month window risks folding in stale moves that no longer describe the current flow.

Sector matters, and the spread is wide. Match your window to where your target sits.

| Sector | Median tenure (yrs) |
|---|---|
| Public sector | 6.2 |
| Mining, oil and gas | 5.7 |
| Manufacturing | 4.9 |
| Financial activities | 4.7 |
| All workers | 3.9 |
| Leisure and hospitality | 2.1 |

In a 2.1-year-tenure sector like leisure and hospitality, 12 months may already over-smooth a fast-moving picture, so lean toward 6. In the public sector at 6.2 years, 12 months captures too few movers to be stable, so lean toward 24 and accept a coarser read. The standard product windows reflect this range: the Talent Flow metrics report hires and departures over the last 6, 12, or 24 months plus the current month.

**3.9 - Median US employee tenure in years, January 2024**

Down from 4.1 years in 2022 and the lowest since 2002, which is why a 12-month window captures the segment with the strongest directional signal.

## The separation rule: internal, external, and the artifact that breaks maps

The defining distinction is internal versus external turnover, and getting it wrong is where most maps silently fail. Internal turnover occurs when an employee leaves a position and takes a new job within the same company; external turnover is when the worker and employer separate. Only external moves become edges on your map.

Operationally, an external move means the prior-company field differs from the new-company field on the same person's consecutive positions. A move where the company is constant, even with a title change, is an internal transfer or promotion and must be excluded. Compare the company identifier, not the title, because a promotion appears in the data as a "started a new position" event with the same employer.

Two further filters prevent false edges:

- **Subsidiary collapse.** An intra-group move looks external until you map it. Platforms ingest external data on company relationships to identify and map subsidiaries of parent companies; without that mapping, a move between two entities in the same group reads as a feeder or destination. Collapse every subsidiary to its parent before counting.
- **Employment type.** Filter to full-time. Reports are filtered by default to include only full-time employees so that intern, student, part-time, temp, and contractor employees do not inflate attrition numbers and total counts.

The tell-tale artifact of a broken separation rule is the target company, or one of its sibling entities, appearing as its own top destination. If you see that, your internal filter or your subsidiary map is incomplete.

> **Rule:** Compare company IDs, not titles
>
> A title change at the same employer is a promotion, not a departure. Separation must be decided on the company identifier with subsidiaries collapsed to their parent, or internal moves will leak into the map as phantom edges.

[Refolk](/) is where this separation is least painful to express, because you ask for the movement in plain English and the internal case is excluded in the request itself rather than as a post-hoc filter you have to build.

I ran this search: `People who left Stripe in the last 12 months and are now at other payments or fintech companies, excluding internal moves.` - [see the full result list](https://www.refolk.ai/s/6ms7qz2exq).

*Returns resolved leavers with a prior-at-Stripe position and a next position at a different company, which is the outflow half of a destination map ready to rank.*

## Build the map, step by step

This is the full procedure, in order, from a frozen scope to a leadership-ready map. Total elapsed time runs roughly three to five working days for one target in one role family, most of it in the mover-pull and separation steps.

#### From target company to ranked flow map

1. **Scope and freeze the target** - Define the target company, role family using O*NET alternate titles to catch variants, geography, and seniority band. Map the parent and subsidiary tree so intra-group moves can be excluded. Done when you have a written scope with an explicit company-ID list.
2. **Set the look-back window** - Choose 12 months by default, 6 for fast tech, 24 for low-mobility sectors, justified against industry tenure. Done when you have a dated window with a one-line rationale.
3. **Pull resolved movers** - Collect public profiles where a position at the target starts or ends inside the window, capturing prior-company and next-company fields. Done when you have two record sets, inflow and outflow, with both endpoints populated.
4. **Separate internal from external** - Drop moves where the company is constant across consecutive positions, collapse subsidiary-to-parent moves, and filter to full-time. Done when each mover is tagged external-in, external-out, or internal-excluded.
5. **Normalize titles and employers** - Standardize messy title strings to the role family and canonicalize employer names so legal entities are deduplicated. Done when you have clean feeder and destination company keys.
6. **Apply thresholds** - Suppress any edge below your minimum count, treat a single move as noise, and keep raw counts visible alongside ranks. Done when you have a filtered edge list with suppressed cells flagged.
7. **Size-normalize** - Divide each feeder or destination count by that company's platform-observed headcount to get a flow rate, and present both raw and normalized rankings. Done when you have two ranked tables, absolute and normalized.
8. **Validate and caveat** - Spot-check top edges against live public profiles, note coverage gaps, and write the methodology limits. Done when you have a leadership-ready map with explicit caveats.

Two steps deserve a note. Title normalization matters more than it looks, because "Data Scientist" and "ML Engineer" will split one real flow into two unless you collapse them. The public anchor is the O*NET alternate-titles file, which holds 59,634 entries and 45,472 distinct titles across 1,110 occupational titles, averaging about 54 alternate titles per occupation. Use it to build a role-family synonym list before you count.

#### The eight-stage flow-map pipeline

1. **Scope** - Freeze target, role family, geography, company-ID list
2. **Window** - Set a tenure-justified look-back
3. **Pull** - Collect two-endpoint movers, inflow and outflow
4. **Separate** - Tag external, exclude internal and intra-group
5. **Normalize** - Clean titles and dedupe employers
6. **Rank** - Threshold, then size-normalize into two tables

*Each stage has a done-state, and separation sits before normalization so internal moves never reach the ranking.*

## Where this goes wrong: failure modes and false positives

Most flow maps fail quietly. They produce a plausible ranking that encodes an artifact rather than a signal. These are the failure modes to guard against, each with the check that catches it.

| Failure mode | What it looks like | Check |
|---|---|---|
| Internal transfer counted as external | Target or a sibling entity appears as its own top destination | Compare company IDs, collapse subsidiaries to parent |
| Biggest-employer illusion | A hyperscaler or large consultancy tops every list | Require the normalized rate table to agree before asserting a feeder |
| Single-move noise | One coincidental move reads as a pipeline | Enforce a minimum edge count, show counts beside ranks |
| Stale profiles as current | Someone who left two years ago still lists the target | Bound to the window, spot-verify top edges against live profiles |
| Coverage bias in small markets | Niche role or region thins out, map goes unstable | Report sample size per edge, refuse to rank below threshold |
| Title drift | "Data Scientist" and "ML Engineer" split one flow | Normalize via O*NET alternate titles before counting |
| Platform-count inconsistency | Different surfaces report different totals | Pick one denominator source and keep it constant |

The small-market failure is worth dwelling on, because small samples fragment rather than merely shrink. In Refolk's index, a US people-analytics, talent-intelligence and workforce pool returned 29 people against 6 in the UK, a roughly 4.8x gap. Within the 25 sampled US records, the top employers each appeared exactly once, so no single employer exceeded about 4 percent of the sample. At that resolution, any feeder or destination ranking is a coin flip. This is precisely why small-cell suppression and a minimum edge count are mandatory: platforms apply a minimum-cohort threshold before displaying salary data and suppress small cells, and independent reviewers confirm that in niche roles or small geographies sample sizes become too small to produce reliable data.

| Market | Pool count | Top employers (each n=1) | Top region |
|---|---|---|---|
| United States | 29 | Dell, Comcast, Anduril, Alnylam | Dallas-Fort Worth |
| United Kingdom | 6 | Korn Ferry, AMS, Mondelez, Rentokil | London area |
| Derived US:UK ratio | 4.8x | - | - |

**4.8x - US-to-UK pool size gap for one talent-intelligence role family**

From Refolk's index. A 6-person market cannot support a ranked feeder map; report the sample size and decline to rank.

> **Watch out:** A single move is never a pipeline
>
> Any edge resting on one mover is noise, not a feeder. Suppress it, flag the suppressed cell, and never let a coincidental transition become an arrow in a leadership deck.

## Geography concentrates feeders more than industry does

Most real edges are local labor-market moves, not national ones, so a map that ignores metro clustering will misread where talent actually comes from. Feeders cluster by city because labor markets clear locally.

The pattern shows up even in a small sample. In the US pool, three metros held 36 percent of the sampled people, which means a feeder map built without a geographic lens would spread edges thinly across the country and miss that the dominant flows are within a few metros.

| Region | Count (of 25 sampled) | Derived share |
|---|---|---|
| Dallas-Fort Worth | 4 | 16% |
| Greater Boston | 3 | 12% |
| San Jose | 2 | 8% |

The practical consequence is a scoping decision. If your target sits in a strong metro cluster, segment feeders and destinations by region before ranking nationally, or the national list will average away the local structure that actually drives hiring and attrition.

## Reading the matrix: which edges to trust

Trust an edge when both its count and its normalized rate are high; everything else is a size artifact, noise, or a candidate for a closer look. This two-variable judgment is how you convert two ranked tables into one decision.

#### Edge trust: count against normalized rate

Horizontal axis runs from Low raw count to High raw count. Vertical axis runs from Low normalized rate to High normalized rate.

| Quadrant | What it means |
| --- | --- |
| High rate, low count | Promising affinity but thin sample; hold until the count clears your threshold |
| High rate, high count | A real feeder or destination; both tables agree, assert it with the numbers |
| Low rate, low count | Noise; suppress and do not rank |
| Low rate, high count | Biggest-employer illusion; a size artifact, demote it |

*Only the top-right quadrant is a defensible feeder or destination; the rest are artifacts or need more data.*

The denominator you divide by must be one source held constant across every edge. Different platform surfaces report different totals, as with a documented gap of roughly 57 million members between two surfaces for one country. If you pull one company's headcount from one surface and another company's from a different one, your rates are not comparable. Pick a single population source and use it for every company in the map.

## Before you ship it: the acceptance checklist

A flow map is ready for a leadership team when it survives these checks. Run them before you present, not after someone asks.

#### Flow-map acceptance checklist

- [ ] The target's parent and subsidiary company-ID list is written down and intra-group moves are excluded
- [ ] Every mover has two populated endpoints and falls inside the dated look-back window
- [ ] Internal transfers and promotions are removed by company-ID comparison, not title
- [ ] Employment type is filtered to full-time
- [ ] Titles are normalized to the role family via an O*NET-anchored synonym list
- [ ] Every edge below the minimum count is suppressed and flagged, with raw counts shown beside ranks
- [ ] Both an absolute and a size-normalized ranking exist, and the two agree on asserted feeders
- [ ] The denominator comes from one population source, constant across all edges
- [ ] The top edges are spot-verified against live public profiles
- [ ] Coverage gaps and the small-sample caveat are written into the deliverable

## Keeping the map current

A flow map is a snapshot of a moving system, so treat it as perishable and re-run it on a cadence tied to the window you chose. A 12-month map built on a 12-month window should be refreshed at least quarterly; a 6-month window for fast-moving tech wants a monthly refresh. The movement itself is fast: in one month of transitions data, of workers starting a new job, 41.5 percent changed roles and 69.1 percent switched industries, which tells you how quickly the edges shift.

When you re-run, hold the method constant so the deltas are real. Keep the same role-family synonym list, the same denominator source, and the same minimum edge count, then diff the new edge list against the old one. New feeders appearing, old destinations fading, and rate shifts on existing edges are the findings a leadership team wants, and they are only legible if the method did not move underneath them.

**Flow-map methodology caveat block**

```
This map covers [TARGET] in [ROLE FAMILY] and [GEOGRAPHY] over a [N]-month window ending [DATE]. Edges are external moves only; internal transfers and intra-group moves are excluded by company-ID comparison with subsidiaries collapsed to parent. Only full-time positions are counted. Any edge below [MIN COUNT] movers is suppressed and marked. Rankings are shown both as absolute counts and as rates normalized by each company's platform-observed headcount, drawn from a single population source held constant across all edges. Coverage is thinnest in [SMALL MARKETS]; edges there are reported with sample size and are not ranked below threshold.
```

*Paste under the map and fill the brackets with your own window, threshold, and source. This is the paragraph that makes the map defensible.*

The last discipline is restraint. Where the sample is too thin to rank, say so in the deliverable and give the reader the count. A map that honestly declines to rank a 6-person market is worth more to a leadership team than one that invents an order out of noise, because the first can be trusted the next time you present.

## Frequently asked questions

### How many movers do I need before a feeder ranking is defensible?

There is no published numeric threshold for this, so treat it as a judgment you must state. Treat a single move as noise, require a minimum edge count before you list a feeder or destination, and always report counts alongside ranks. The nearest documented practice is small-cell suppression: LinkedIn withholds salary data below a minimum cohort size. In Refolk's index a 25-person US pool had no employer above about 4 percent, which shows how fast small samples fragment.

### How do I tell an internal promotion from a real external departure?

Compare the company identifier across consecutive positions, not the title. If the company is constant the move is an internal transfer or promotion and must be excluded, even when the title changes. You also need a parent-and-subsidiary map, because an intra-group move looks external until you collapse subsidiaries to their parent. Filter to full-time so interns and contractors do not inflate the counts.

### Why does size-normalization matter if I already have raw counts?

Because flows scale with headcount, raw counts measure company size rather than affinity, and mega-employers like large consultancies top every list automatically. Dividing each edge by that company's platform-observed headcount converts the count into a rate, which surfaces mid-size firms whose share of moves to your target is genuinely high. The World Bank and LinkedIn normalized migration metrics by membership size for exactly this reason. Present both tables and require them to agree before asserting a feeder.

### What look-back window should I use?

Use 12 months as the default. Median US tenure was 3.9 years in January 2024 and about 22 percent of workers had under one year, so a year captures the fast-churn segment where directional signal is strongest. Shorten to 6 months for fast-moving tech and extend to 24 for low-mobility sectors. In a 2.1-year-tenure sector like leisure and hospitality, even 12 months can over-smooth, so lean shorter.

### Why does my map show the target company as its own top destination?

That is the classic internal-transfer artifact. A promotion appears as a started-new-position event at the same employer, and subsidiaries only resolve to their parent if you have ingested company-relationship data. Without entity mapping an intra-group move reads as external and points the edge back at the target or a sibling. Fix it by comparing company IDs and collapsing subsidiaries to the parent before you count.

### Can I build a reliable map for a niche role or small market?

Often no, and you should say so. In niche roles or small geographies sample sizes become too small to produce reliable data, and the map goes unstable rather than merely sparse. Refolk's index returned 29 US profiles against 6 UK profiles for one people-analytics pool, a roughly 4.8x gap that would make the UK map a coin flip. Report sample size per edge and refuse to rank below your threshold.

---

*From the Refolk guide library. I revise these guides rather than replacing them, so the current version is always at https://www.refolk.ai/guides/talent-flow-map-feeder-destination*
