Keep Your TAM Fresh
Outcome: a scheduled refresh that keeps the account universe current at a fraction of the build cost, with deltas reported so changes are visible.
- Surface
- App
- Level
- Intermediate
- Uses
- Scheduled runs · the columns from lessons 03–07
- Credits
- ~10–15% of the initial build per month
- Prerequisite
- Lessons 03–07
A TAM decays in four ways
| Decay | Rate | What it costs you |
|---|---|---|
| New companies enter the market | Continuous | Missed accounts, missed early-stage timing |
| Existing companies cross your thresholds | Quarterly | Accounts you disqualified that now qualify |
| Signals fire and expire | Weekly | The entire timing half of your score |
| Companies die, merge or rebrand | Slow | Wasted spend and embarrassing outreach |
A quarterly rebuild handles the first two badly and the third not at all. A scheduled refresh handles all four, and costs far less than rebuilding.
Cadence per field
The core cost-control decision. Re-running everything weekly is the most common way to spend four times what you need to.
| Field group | Cadence | Why |
|---|---|---|
| Signals — funding, hiring, exec changes | Weekly | Windows are short; this is the point |
| New matches from saved slices | Weekly | Cheap, and catches new entrants early |
| Headcount, job listings | Monthly | Moves quarter to quarter |
| Tech stack, traffic | Quarterly | Slow, and relatively expensive |
| Firmographics — country, founded, name | Rarely, or on flag | Effectively static |
| Person-level contact data | On job-change signal, or every 6 months | Detecting change is cheaper than re-fetching |
That last row is the pattern worth internalising: check whether something changed, then re-enrich only what did.
The refresh loop
Add
Re-run the saved slices from lesson 03. Dedupe on domain appends only genuinely new companies. Enrich only the new rows.
Update
Re-run the columns that are due per their cadence — not all of them, every time.
Re-score
Fit and timing recomputed. Free.
Retire
Flag rows that fail a liveness check: domain no longer resolves, no signals for a long period, acquisition detected. Flag, do not delete.
Report the deltas
Added, newly qualified, newly crossed the threshold, retired. This is the output a human should actually read.
Retire, do not delete
A retired account keeps its history and stops consuming refresh spend.
status = active | retired | acquired | dead
retired_reason = <why>
retired_date = <when>Retired rows are excluded from refresh runs and from outreach, but stay in the table. Reasons this matters: an acquired company may re-emerge under a new domain, a dormant one may raise funding, and your market-size numbers over time are only comparable if nothing was silently removed.
Companies acquired by a customer or by a competitor need a rule of their own. Continuing to sequence a company that a competitor now owns is a bad look, and continuing to prospect a subsidiary of an existing customer is worse. Check acquisitions on the refresh — Recent acquisitions and Mergers and acquisitions both cover this.
The deltas are the product
Nobody reads a 4,000-row table weekly. They read a five-line summary:
TAM refresh — week of <date>
+47 new companies matched
+12 newly qualified (crossed fit threshold)
+31 newly triggered (timing signal fired)
-8 retired (5 no domain, 2 acquired, 1 dormant)
Universe: 4,182 active · 1,640 qualified · 214 above thresholdSend it to Slack. The trend across weeks is what tells you whether the market is growing, whether your definition drifted, and whether last month’s targeting change did anything.
Do this now
Tag every column with a cadence
Weekly, monthly, quarterly, never.
Schedule the add step
Saved slices, weekly, appending new matches only.
Schedule updates by cadence group
Separate schedules, not one that re-runs everything.
Build the liveness check
Domain resolves, and a “last seen with any signal” date.
Add the status and retirement columns
Build the delta summary
Four counts plus the universe totals.
Route it to Slack
Or wherever the person who cares will actually see it.
Check consumption on run two and run four
That is when a cadence mistake becomes visible and is still cheap to fix.
Check your work
- Every column has a cadence, and nothing expensive re-runs weekly by default
- The add step appends without duplicating
- Retirement flags rather than deletes
- A delta summary is produced and delivered
- You have compared credit consumption across the first four runs
Where this breaks
A refresh that re-enriches everything costs as much as the original build, every month, forever — and it does not look like a mistake, it looks like keeping data fresh. The bill grows silently as the universe grows. Set cadences before you schedule anything, and check consumption specifically on the second and fourth runs.
Course complete
You have an account universe sourced in slices and deduped, cut to addressable by reliable filters, qualified on stack and traffic, covered by a buying committee, scored on fit and timing, and refreshed on a schedule that reports its own deltas.
Where to go next:
| You want | Course |
|---|---|
| To work the scored accounts | Automated Outbound |
| More trigger types on the same universe | Signals & ABM |
| Hiring as the primary trigger | Hiring Signals |
| Contact coverage on the committee | Waterfall Enrichment |
Reference for this lesson: Signals, Recent acquisitions, Credits, Workspace integrations.