Skip to content
Book AuditStart Sprint
DWTB?!Studios
Back to Resources
Internal Playbook

TAM Methodology: CC-39 Prospecting Engine

The TAM Engine identifies, scores, and ranks accounts from Casey's Total Addressable Market using a data-driven pipeline. It replaces ad-hoc prospecting with a repeatable, signal-enriched process.

Data Sources

SourceRecordsDescription
FreightRoll~4,500 companiesCore freight/logistics companies (carriers, 3PLs, brokers, shippers)
DWTB~825 companiesMarketing advisory prospects from “Does Whoever Think Big?” list
contacts.db~107K contacts, ~26K companiesSQLite FTS5 database with people, titles, emails
Signal feeds~1,600 matchesRSS/news feeds matched to TAM companies

ICP Definitions

Four Ideal Customer Profiles drive tiering:

T1

Enterprise Shipper

Fortune 500 / large shipper, $500M+ revenue, 500K+ truckloads/yr. Pain: yard congestion, detention costs, dock scheduling at scale.

T2

Mid-Market Carrier/3PL

Regional carrier or 3PL, $50M–$500M revenue, 100K–500K truckloads. Pain: manual yard ops, driver wait times, facility throughput.

T2

Logistics Tech Buyer

Companies actively investing in supply chain technology. Indicated by hiring patterns, tech stack signals, recent funding.

T3/T4

FreightTech Adjacent

Companies in the freight ecosystem with indirect relevance (truck OEMs, fuel networks, compliance SaaS).

Scoring Model

Each company receives a TAM Score (0–100) based on weighted criteria:

// Logic weights mapping
  • Tier match (30%) — T1=30, T2=22, T3=15, T4=8
  • Freight volume (25%) — Scaled by est_truckloads (log scale, capped at 5M)
  • Signal density (20%) — More recent signals = higher score (diminishing returns after 5)
  • Org coverage (15%) — # of buyer-level contacts identified (C-Suite/VP/Dir)
  • Revenue proxy (10%) — Estimated revenue bracket
Formula: tam_score = tier_score + volume_score + signal_score + coverage_score + revenue_score

Score Buckets

  • 🟢 Hot (75–100) — prioritize immediate outreach
  • 🟡 Warm (50–74) — build relationship, watch for triggers
  • 🔵 Watch (25–49) — monitor, enrich data
  • ⚪ Cold (0–24) — low priority

Pipeline Architecture & Stages

[FreightRoll CSV] ──┐
                    ├──→ extract_companies ──→ tam_companies.jsonl
[DWTB CSV] ─────────┘
                            │
                            ▼
                      match_people (contacts.db FTS5)
                            │
                            ▼
                      tam_people_map.jsonl
                            │
                            ▼
                      match_signals (signal_feeds.json)
                            │
                            ▼
                      tam_signal_matches.jsonl
                            │
                            ▼
                      score_and_rank
                            │
                            ▼
                      hunt_list.jsonl + CSV exports

1. extract_companies — Deduplicates and normalizes company records from FreightRoll + DWTB CSVs into tam_companies.jsonl. Uses rapidfuzz >85% similarity for fuzzy dedup.

2. match_people — Queries contacts.db via FTS5 full-text search to find people at TAM companies. Classifies by role_level (C-Suite, VP, Director, Manager, IC) and flags buyers. Outputs tam_people_map.jsonl.

3. match_signals — Matches signal feed items (RSS headlines from signal_feeds.json) to TAM companies using fuzzy name matching. Outputs tam_signal_matches.jsonl.

4. score_and_rank — Computes TAM score per company using the scoring model above. Sorts by score desc, assigns rank. Outputs hunt_list.jsonl.

5. export_csv — Generates CSV exports for hunt list, companies, people, and signals for spreadsheet use.

CC-39 Results — Real Numbers

This engine was deployed for our own prospecting pipeline. Here are the actual outputs:

4,542
Companies Scored
53
Tier 1 Accounts
1,451
Signal Matches
1.2%
Precision Rate

From 4,542 companies in the initial universe, the scoring engine identified 53 Tier 1 accounts — a 1.2% precision rate. These 53 companies matched across all scoring dimensions: tier fit, freight volume, signal density, org coverage, and revenue bracket. Each came with mapped contacts, matched signals, and composite scores ready for outreach sequencing.

What This Means for Your Pipeline

Most FreightTech companies prospect by hand: scanning LinkedIn, asking for intros, and hoping the right person shows up at a conference. The TAM Engine inverts that model. Instead of hunting one account at a time, you score your entire addressable market simultaneously and let data tell you where to focus.

The output is not a spreadsheet. It is a ranked hunt list with contact maps, signal context, and scoring rationale for every account — ready to feed directly into outreach systems. The time from "who should we talk to?" to "here are your top 50 accounts with contact maps and signal context" compresses from weeks of manual research to minutes of automated processing.

How to use this engine commercially

Use it to narrow focus

If the team is chasing too many accounts, this is the framework for reducing noise before outbound starts.

Use it to improve timing

Signal-matched account ranking changes who gets attention now versus who should stay in watch mode.

Use it to scope execution

If the market list is messy, this usually comes before broader GTM automation or outbound scale.

Keep reading

Want this precision applied to your TAM?

We deploy the same scoring engine for our clients as part of GTM Automation sprints. Your market, your ICPs, your signals.

Start a Sprint