Bottom Line Studio AI

Before you buy AI agents, fix your context layer

On a client engagement I built an AI-readiness score for an outbound team: 42 signals, a 0–100 score, a tier for every account. Picking the signals was the easy part. What made the score worth acting on was the boring layer underneath it.

An agent doesn’t know your data is wrong. It just acts on it faster.

TL;DR — the short version

Do any of these sound familiar?

  • Someone demoed an AI agent that “knows your accounts,” and the first account it pulled up was one your team stopped working last year.
  • Two dashboards show two different counts of “target accounts,” and both owners are sure theirs is right.
  • The enrichment bill keeps climbing, and nobody can say which accounts it’s being spent on.
  • There’s a score somewhere. The reps have never seen it.

Every company is shopping for AI agents right now. Almost nobody is shopping for the thing the agent will read. On a client engagement this year I built an account score meant to tell an outbound team which accounts were actually ready to buy, not just which were big. The lesson I’d hand to any exec about to sign an agent contract:

  • Agents don’t fix messy data. They act on it, faster and with more confidence than a person would.
  • The signals mattered less than five boring fixes underneath them: one source of truth, agreed definitions, spend gated by the score, fast reads, and delivery where people already work.
  • Those five are the context layer. Buy the agent after you have one, not before.
Animated: the same AI agent answers the same question twice. First it reads four raw sources directly and comes back confidently wrong. Then a context layer slides in between (one governed table, one definition each, spend gated by score, reads under 100 ms) and the answer turns into one list with a reason behind every score.

Here’s what each of the five looked like on a real build, and a five-question check you can run before you buy anything.

What we built

The ask was simple to say and hard to do: rank roughly 125,000 accounts by how ready they are to buy AI-adjacent data tooling, so the outbound team stops prioritizing by logo size.

The score itself:

  • 42 signals in four buckets — strategy, hiring, product and data platform.
  • A 0–100 score and a tier — Leader at 70 and up, Active at 40, Emerging at 20.
  • Adjustments — an industry multiplier, penalties for accounts outside the ideal customer profile, and a live-signal layer that could move an account when something new happened.
  • A written brief next to the number, generated by an LLM, so a rep could see why an account scored the way it did.

That’s the part that demos well. It’s also the part I’d spend the least time on if I did it again. The score only became something people acted on once the layer under it was fixed.

The score sat on five boring fixesA 42-signal AI-readiness score with a 0 to 100 score and tiers sits on top of five layers, read bottom-up: one source of truth (governed tables, plus 66 percent persona coverage), definitions agreed first, spend gated by the score (enrich only at 40 plus, cost from about 50 cents an account to cents), fast reads (1 to 2 minutes to under 100 milliseconds), and delivery where reps work.The score sat on five boring fixes.The 42 signals demo well. These are what made the score worth acting on.WHAT EVERYONE SEES42 signals → a 0–100 score → a tier (Leader 70+ · Active 40+ · Emerging 20+)5Delivered where reps workpushed to the CRM and the outreach tool, not a dashboard4Fast enough to useviews materialized as tables: 1–2 min → under 100 ms3Spend gated by the scoreenrich only at 40+, 30-day dedup: ~$0.50 an account → cents2Definitions agreed firstwhat S0 and Stage 1 mean, written down, one owner1One source of truthgoverned tables, never raw reads: +66% persona coverage↑ read bottom-up: each fix sits on the one below itThe agent is the easy part. The context is the product.BOTTOM LINE STUDIObottomlinestudio.ai
Everyone sees the score. The five fixes underneath are what make it worth acting on.

The five things that mattered more than the signals

  1. One source of truth. A sister score on the same platform was reading raw CRM tables instead of the governed ones the rest of the platform trusted. Repointing those reads at the governed tables gave it 66% more persona coverage. Same model, same logic. Better context.
  2. Definitions agreed first. The same engagement had to settle what a new opportunity and a real “Stage 1” actually mean before any score could feed outbound. If “pipeline” means three things, a model will happily learn all three. (That fight has its own write-ups: the leaderboard and changing a funnel stage.)
  3. Spend gated by the score. Enrichment and LLM briefs only ran for accounts scoring 40 or above, with a 30-day queue so nothing got enriched twice. Per-account enrichment cost went from about $0.50 to cents.
  4. Fast enough to use. Filtered reads took one to two minutes while the scores lived in views. Materialized as tables, they came back in under 100 ms. Nobody waits two minutes for a call list. An agent shouldn’t have to either.
  5. Delivered where people work. The score landed as two canonical fields on the governed tables and was pushed into the CRM and the reps’ outreach tool. The number of accounts in front of reps went from about 6,000 to about 14,000.
Same model. Better context.Four before and after rows: persona coverage went from raw CRM reads to governed tables, up 66 percent; enrichment cost from about 50 cents per account to cents; read time from 1 to 2 minutes to under 100 milliseconds; accounts in front of reps from about 6,000 to about 14,000.Same model. Better context.What changed when the score read governed tables instead of raw ones.BEFOREAFTERPersona coverageraw CRM readsgoverned tables: +66%Enrichment cost~$0.50 per accountcents per accountRead time1–2 minutesunder 100 msAccounts in front of reps~6,000~14,000No new signals. No new model. Just a cleaner layer underneath.BOTTOM LINE STUDIObottomlinestudio.ai
No new signals and no new model — just a cleaner layer underneath.

None of that is AI. All of it decides whether the AI is any good. Put an agent on top of the first version of this data and it would have read stale records, missed a big chunk of the buying committee and burned money enriching accounts that could never move. It would have done all of that quickly, and it would have sounded sure of itself.

The check to run before you buy an agent

Five questions. Answer them about the data the agent will read, not the agent:

  • Can you name the one table each answer comes from? Not “the CRM.” The governed table, by name.
  • Does every key definition have one owner? Pipeline, Stage 1, target account. A name, not a committee.
  • Is model and enrichment spend gated? The expensive calls should only run on accounts that can move.
  • Does the read the agent needs come back in under a second? If it takes minutes, you have views that should be tables.
  • Does the output land in a tool people already open? A score in a dashboard nobody visits hasn’t been delivered.

Two or more “no” answers and the agent isn’t your next purchase. The context layer is. The good news: it’s the cheaper of the two, and it makes every tool you buy afterwards better.

I build AI-ready GTM data layers: governed tables, agreed definitions, and scores that land where reps already work. If an AI agent is on your roadmap, let’s check what it’s going to read first.
Ian Kessler · Bottom Line Studio AI · bottomlinestudio.ai
From production GTM data work, de-identified to the pattern level.