Skip to Content

Detect the Move

Outcome: a weekly detection run producing a clean list of real movers, with title cleanups and out-of-centre moves filtered out before anyone is contacted.

Surface
App and MCP server
Level
Intermediate
Uses
check_job_change
Credits
~1 per person checked
Prerequisite
Lesson 02's tracked list with a baseline

How detection works

check_job_change compares a person’s current profile against the company you have recorded for them, and reports whether they have moved.

Two things follow, and both shape the design:

  • It bills per person checked, not per mover found. Your weekly cost is your tracked population, not your result count.
  • It depends on the person updating their profile. Detection lags reality by however long that takes.

Reference: check_job_change, Job change.


The lag

Time after startingTypical profile-update state
Week 0–1Many have not updated
Week 2–4Most have
Week 4–8Almost all

So a weekly check finds people roughly two to four weeks into their new role — which lands neatly inside the week 3–12 window from lesson 01. Weekly is the right cadence not because it is fast, but because it catches people as they become findable.

A monthly check adds its own delay on top of the profile lag. Combined, that puts the average detection at six to eight weeks after the start date — past the halfway point of the window, and after most tooling conversations have begun.


Filter the output

Detection reports change. Not all change is a trigger.

Detected changeTrigger?Why
New company, comparable or senior roleYesThe core case
New company, junior role or a pivot out of your buying centreNoRelationship intact, authority gone
Same company, promotion into authorityYes — lesson 04’s trigger
Same company, title normalizationNoNothing changed
Contract, interim or advisory roleUsually noNo budget authority
Company renamed or acquiredNoThe person did not move

That last row is worth a specific check: an acquisition changes the company name on a profile without anyone moving, and it looks exactly like a job change in the raw output.


Handle the near-misses

Three states, not two.

moved → qualify the new company (lesson 05) not moved → leave in the tracked list, check again next week uncertain → flag for review, do not contact

Uncertain cases — an ambiguous title change, a company that may or may not be the same entity — should never go straight to outreach. A wrong “congratulations on the new role” to someone who did not move is a specific and memorable embarrassment.


The weekly cost

Detection bills per person checked, so the cost is predictable:

Tracked populationWeekly costAnnual
200~200 credits~10,400
500~500~26,000
1,000~1,000~52,000

Two ways to control it, in order of preference:

  1. Prune the untrackable and the irrelevant. People who left your buying centre entirely, people at companies you no longer sell to, rows that never resolve.
  2. Tier the cadence. Past customers weekly, evaluators monthly. The highest-value population gets the fastest detection.

Do this now

Run detection across the tracked list

The first run finds everyone who already moved — expect a batch.

Apply the trigger filter

Drop title cleanups, junior moves and renames.

Check for acquisitions specifically

A renamed company is not a move.

Split into three states

Moved, not moved, uncertain.

Record the detection date

Not just the fact. The window is computed from it.

Compute the weekly cost

Tracked population × cost per check.

Decide the cadence per population

Weekly for customers, monthly for evaluators if cost matters.


Check your work

  • Detection ran against the full tracked list
  • Title cleanups and out-of-centre moves are filtered out
  • Acquisitions are distinguished from moves
  • Uncertain rows are flagged, not contacted
  • Detection date is stored per mover

Where this breaks

Treating every detected change as a move produces messages congratulating people who did not move — after a company rebrand, an acquisition, or a title normalization. These land badly precisely because the recipient knows nothing happened, and it is the clearest possible evidence that an automated system is watching them. Filter before contacting, always.


Further automation

The same run doubles as contact-data hygiene: everyone it flags as moved has an email and title that are now wrong in your CRM. Writing the change back keeps records current for a fraction of what a blanket re-enrichment costs — the loop CRM Enrichment builds out.


Next lesson

04 — Promotions as a second trigger, the quieter signal inside accounts you already know.

Reference for this lesson: check_job_change, Job change, Current role, Past role.