GTM Engineering
Your AI-Readiness Score Is a Data-Readiness Score in Disguise
Everyone runs the AI pilot. Almost nobody scales it, and the reason is not strategy. Here is the 6-component readiness ladder and the 12-check scored gate to run before you buy the agent, with the completeness and dedup thresholds that turn it into a gate.
· 13 min read
A vendor ran us through an “AI readiness assessment” and it was 15 questions about strategy, executive buy-in, and change management. We scored well. Then I ran a completeness query against the exact accounts the AI would touch and found 38% of them missing the firmographic fields the model needed to do its job. We passed the vibe check and failed the only test that predicts the outcome. AI on data like that does not produce insight. It produces confident nonsense at machine speed, which is worse than the manual process it replaced, because now the error has authority and volume behind it.
That gap is the whole story of enterprise AI right now. Almost every team runs the pilot. Far fewer get it into production and keep it there. SaaStr’s Jason Lemkin, reporting on AI SDR deployments across 2025, put hard numbers on the same pattern: 83% of teams got nothing usable from their AI SDR, and only 3% got real revenue. The strategy decks were fine in all of them. The data underneath was not. So the readiness score that matters is not the one the vendor sells you. It is a data-readiness score, and it climbs one component at a time.
Read the ladder before the argument. Each rung is a data-readiness component the agent stands on, and the agent is only as tall as the lowest rung you have not built. Skip a rung and the AI does not wait for you. It runs anyway, on the gap.
- C6Process and proof30 days
The downstream process works by hand today, a human-in-the-loop gate sits on any irreversible or customer-facing action, and one metric tells you within 30 days whether the AI helped. This is the top rung, not the first.
- C5Structurepicklist
The fields the AI reasons over are structured. A picklist counts, a free-text notes field does not, and orphaned contacts or stranded leads break every traversal the agent makes across your object graph.
- C4Resolution90%+
Lead-to-account matching resolves at least 90% of leads to the right account. Without it, 15% to 25% of records misroute, and the AI routes them wrong faster than a human ever could.
- C3Uniquenessunder 5%
Account duplicate rate is under 5% and every contact carries a working dedup key. Above 5% the agent acts on the same entity several times with different conclusions and writes all of them back.
- C2Freshness12 mo
Key firmographics are under 12 months old. Stale enrichment reads as clean and behaves as wrong: the field is full, the value describes a company that no longer exists in that shape. B2B contact data decays about 22% a year (ZoomInfo), so a two-year-old field is a coin flip.
- C1Completeness90%+
The fields the model reads are populated on at least 90% of in-scope records, and no single required field sits below 80%. Below this line the agent guesses on one record in ten, minimum, and never tells you which ones.
The ladder is the diagnosis. The 12-check gate later in this piece is how you score each rung pass or fail before you sign anything. Same six components, two checks each, one honest number at the end.
Why this is a data question, not a strategy question
Picture an AI SDR agent writing personalized outbound off your account data. If 40% of accounts are missing industry and headcount, the agent does not refuse. It hallucinates or defaults, sends 40% of your outbound with wrong personalization, and burns domain reputation at a rate no human team could match. The strategy was fine. The rung labeled Completeness was not built, so the agent stood on air.
Or put an AI lead-routing agent on top of a routing model that already misfires. It does not fix the misfires. It executes them faster and at higher volume, so the leads that used to fall through slowly now fall through instantly and in bulk. Poor data quality already costs the average org $12.9M a year (Gartner), and 76% of orgs say under half their CRM data is accurate (Validity). Pour AI on that and you have automated the leak.
The point is narrower than “clean your data someday.” The specific fields and flows the AI depends on have to clear a bar before the AI runs, or the AI makes your existing problem worse on a schedule. That is why the ladder is scored per component and not as a single overall grade. An org can be strong on structure and process and still fail on completeness in the one segment the agent touches, and that single failed rung sinks the whole deployment.
The 12-check scored gate
Score each item pass (1) or fail (0), against the exact data the AI will use, on the exact segment it will run against. Not your whole CRM. The slice the agent touches. A global “data quality is decent” average hides the 38% hole in the accounts that matter. The twelve checks are the six ladder components with two checks each, and every check has a threshold that turns it into a gate instead of an opinion.
| # | Component | Check | Threshold that gates it |
|---|---|---|---|
| 1 | Completeness | Fields the model depends on are populated | 90%+ of in-scope records |
| 2 | Completeness | No single required-for-AI field is weak | none below 80% populated |
| 3 | Freshness | Key firmographics are recent | under 12 months old |
| 4 | Uniqueness | Account duplicate rate | under 5% |
| 5 | Uniqueness | Contacts carry a working dedup key | email or matched identity present |
| 6 | Resolution | Lead-to-account matching resolves | 90%+ of leads to the right account |
| 7 | Structure | Fields the AI reads are typed | picklist yes, free-text no |
| 8 | Structure | Picklist values are clean | no “budget” / “no budget” / “Budget ” triplets |
| 9 | Structure | Object relationships are intact | no orphaned contacts or stranded leads |
| 10 | Process | Downstream process works manually today | routing works by hand first |
| 11 | Process | Human-in-the-loop gate exists | on any irreversible or customer-facing action |
| 12 | Process | Outcome is measurable | a metric tells you within 30 days if AI helped |
Read the thresholds as the load-bearing part. “Populated” is not a gate; “90%+ of in-scope records” is. “Fresh” is not a gate; “under 12 months” is. Without the number, every one of these becomes a conversation you lose to whoever wants to buy the tool this quarter.
Scoring it
Item 1 is the one most people get wrong, because they measure completeness across the whole CRM instead of the slice the agent touches. Here is the query that gates it correctly.
-- Completeness on the exact fields the AI reads,
-- on the exact segment it runs against. This is check 1.
SELECT
COUNT(*) AS in_scope,
ROUND(AVG(CASE WHEN industry IS NOT NULL
AND employee_count IS NOT NULL
AND annual_revenue IS NOT NULL
THEN 1 ELSE 0 END) * 100, 1) AS pct_complete
FROM accounts
WHERE segment = :ai_target_segment -- the slice, not the whole CRM
AND record_type = 'Customer';
And the duplicate-rate check for item 4, keyed on normalized domain so casing and trailing whitespace do not hide dupes:
-- Account duplicate rate on the in-scope slice (check 4)
SELECT
ROUND(100.0 * (COUNT(*) - COUNT(DISTINCT LOWER(TRIM(domain))))
/ COUNT(*), 1) AS dup_rate_pct
FROM accounts
WHERE segment = :ai_target_segment;
Add up your 12. The bands are not arbitrary; they map to what the AI does to you once it runs.
View as table
| Item | Value |
|---|---|
| Below 7: dangerous | 6 pts |
| 7-9: not yet | 8 pts |
| 10-12: ready | 11 pts |
- 10 to 12: ready. Buy the agent. Its errors will be rare enough that your human-in-the-loop gate catches them.
- 7 to 9: not yet. You will spend the pilot debugging data, blame the model, and churn the tool. Fix the failed checks first; most are a week of work each.
- Below 7: dangerous. The AI will scale your existing errors faster than you can catch them. Buying now is buying a bigger version of the problem you already have.
A worked example that reconciles to the ladder
Here is a real-shaped score on a mid-market customer segment the team wanted an AI SDR to work. Six components, twelve checks, scored against that slice and nothing else. This is the number that decides the purchase.
| Component | Check result | Points |
|---|---|---|
| Completeness | 38% populated on the slice, and revenue field at 61% | 0 of 2 |
| Freshness | firmographics refreshed 9 months ago | 1 of 1 |
| Uniqueness | 11% duplicate rate, dedup key missing on 20% of contacts | 0 of 2 |
| Resolution | L2A matches 78% of leads | 0 of 1 |
| Structure | typed picklists, but “Industry” has 4 casing variants and 300 orphaned contacts | 1 of 3 |
| Process | routing works by hand, no human gate defined, no 30-day metric | 1 of 3 |
That is 4 out of 12. The team felt ready because the top-line dashboard read “80% complete” and the strategy workshop scored an A. The ladder tells the true story: three of the six foundational rungs are not built. A 4 lands deep in the dangerous band, and the two failures doing the most damage are the two the dashboard hid, completeness at 38% and duplicates at 11%. Buy the agent on a 4 and you get the SaaStr outcome: it joins the 83% that returned nothing, and the postmortem blames the model.
The fix is not a better model. It is completeness enrichment on the slice (moves 0 of 2 to 2 of 2), a dedup pass keyed on normalized domain (0 of 2 to 2 of 2), an L2A backfill (0 of 1 to 1 of 1), and a picklist cleanup plus a human gate (Structure to 3 of 3, Process to 2 of 3). That reconciles to 10 of 12, which clears the ready band. Roughly three weeks of data work turns a guaranteed churned pilot into a scaled use case.
The re-score loop, not a one-time grade
The honest move when you score a 4 is not to buy a better AI. It is to fix the failed components, which are your data problems wearing an AI costume, and re-score in a month. Treat readiness as a loop, not a certificate.
- 1
Scope the slice
Define the exact segment and the exact fields the agent will read. This is the denominator for every check. Not the whole CRM.
- 2
Run the 12 checks
Score each pass or fail against that slice using the queries above. Completeness and dedup first; they gate the most.
- 3
Total and band it
Sum the 12 against the ladder. Below 10 you have a project list, not a purchase. The failed rungs are the project.
- 4
Fix the failed rungs
Most are a week each: enrichment for completeness, a dedup pass for uniqueness, an L2A backfill for resolution, a picklist cleanup for structure. Fix the lowest unbuilt rung first.
- 5
Re-score in a month
Run the exact same checks on the exact same slice. Only when you clear 10 do you sign. Then the agent accelerates you toward the outcome, not away from it.
The two projects, compared
| Buy the AI now (score 4) | Fix the data first, then buy | |
|---|---|---|
| What you are buying | A faster version of your data problem | A multiplier on clean inputs |
| Pilot experience | Debugging data, blaming the model | Measuring lift on a real metric |
| Outbound personalization | 38% wrong, domain reputation burns | Grounded in complete firmographics |
| Where it lands | The 83% that got nothing (SaaStr) | The 3% that got real revenue (SaaStr) |
| Cost | Tool spend plus $12.9M-class data cost, scaled | A few weeks of data work, then tool spend |
| Outcome in 90 days | Churned tool, "AI does not work here" | Scaled use case, evidence for the next one |
Completeness fails quietly, duplicates fail late
Completeness fails in a way that fools people. A team looks at a dashboard showing “82% of accounts have an industry” and feels ready. But the agent does not run against all accounts. It runs against the target segment, and in that segment the number is often far worse, because the accounts a rep bothered to enrich are the ones already in play, not the long-tail ones the agent is meant to work. That is the 38% hole from the opening. The global average is the number that lies; the in-scope query is the number that gates.
Duplicate rate fails loudly but late. Below 5% the agent’s occasional double-action gets caught by the human-in-the-loop gate. Above it, the volume of contradictory actions overwhelms the reviewer, they start rubber-stamping, and the gate that was supposed to catch errors becomes a rubber stamp on the errors. Every other rung on the ladder degrades gracefully. Completeness and uniqueness degrade catastrophically, which is why they sit at the bottom and hold up everything above them.
What to do next
Before your next AI purchase, run check 1’s query against the segment the tool will touch, then score the other 11 against the six-rung ladder. If you land below 10, you have your project list, and it is a data project, not an AI project. Fix completeness and dedup on the in-scope slice first, because those two rungs gate the most and every rung above them assumes they hold. Then buy the agent, and it will accelerate you toward the outcome instead of away from it. If the tool writes back to the CRM, pair this with the control layer for CRM agents before you grant write access, and if the failure you are guarding against is commodity outbound, the same root cause runs through why AI SDRs fail.
Keep reading
One email. Every week.
One email a week: a system I built or broke, with the config, the numbers, and what I would change. No roundups, no theory, unsubscribe whenever it stops being useful.
The newsletter opens soon.
Connect a provider in src/config.ts