B2B Marketing Intelligence · Databricks Unity Catalog

53 KPIs defined.
14 blocked.
3 rules to write.

AON built one of the most rigorous marketing KPI charters we have seen at a $14B company. Every formula documented. Every persona mapped. The data exists in Databricks.

Three business rules were never encoded in the platform. They block every commercial KPI the CMO needs for the board. Context Engineering writes them once — and every tool reads them forever.

53
KPIs defined across
3 personas
14
Stage 2 KPIs —
blocked today
3
Missing business rules
in the platform
The People Who Need Answers

Three leaders. Three questions. Same platform.

Each persona has a well-defined accountability, real data in the MDL, and a specific KPI that is currently unanswerable. They do not share tools. They should share definitions.

S
Sarah
CMO / VP Marketing — Global
"How much of Q3 pipeline did marketing generate — and can I defend that number to the CRO in tomorrow's board review?"
Executive
6
Starred KPIs blocked
$36M
Attribution gap

Reports to the CRO. Every quarter the same question: did marketing generate pipeline, or did Sales generate pipeline that marketing touched? The MDL returns a different answer depending on which lead_source field you query. Sarah uses Power BI Copilot on her laptop.

P
Priya
Campaign Manager — EMEA
"Which of my 12 active EMEA campaigns is actually working — and which three should I cut before the Q4 budget lock in three weeks?"
Campaign Manager
4
Budget KPIs blocked
368
MQLs, unreliable count

Allocates budget across LinkedIn, content syndication, webinars, and in-person events. Cost per MQL by channel is her single most important signal — but MQL means different things in Eloqua vs Aon Connect vs the MDL. Every campaign comparison is fiction. She uses Genie in Databricks.

M
Marcus
Event Lead — EMEA Programme
"London Insurance Forum: 340 attendees, £180K budget, July 15th. The CFO wants the pipeline number. I know it worked. I cannot prove it."
Event Lead
4
Event ROI KPIs blocked
5
Undocumented joins

Runs EMEA's event programme: forums, roundtables, executive dinners. Cvent registration data exists in Eloqua as a Custom Data Object. Pipeline data exists in Aon Connect. Nobody has documented the five-hop join between them. Marcus cannot run an event ROI report. He uses Claude.

The KPI Charter

What AON needs to measure — and what's actually live.

Ten of the highest-priority KPIs from AON's working document. Every formula is agreed. Every source system is identified. Stage 2 means the data exists — the definition has never been encoded.

All KPIs
Executive
Campaign Manager
Event Lead
KPI Name Persona Stage Blocker Business Value CE Outcome
The Three Blockers

Same database. Three missing rules. 14 KPIs waiting.

These are not data quality problems. The data exists, the sources are mapped, and the joins are documented. Three agreed business rules were never encoded anywhere in the platform.

6
The Attribution War
Marketing says $58.4M. Sales says $21.2M. Same database. Same quarter. Both are wrong because neither is agreed.
6 KPIs blocked
▼
4
The MQL Mirage
There is no is_mql flag in the MDL. The MQL derivation rule has never been agreed or encoded. Every tool uses a different one.
4 KPIs blocked
▼
4
The Invisible Event
Cvent data exists in Eloqua. Pipeline exists in Aon Connect. The five-hop join between them has never been documented. Event ROI is currently incalculable.
4 KPIs blocked
▼
The Resolution

Context Engineering. Three artifacts. One sprint.

Context Engineering does not add a layer. It encodes agreed business rules as permanent objects in Databricks Unity Catalog — exactly where every downstream tool already looks before answering any question.

Blocker 1
Attribution War
No agreed lead_source allowlist. Marketing and Sales use different fields.
→
CE Artifact
UC Column Comment
Encodes the agreed allowlist on lead_source in Unity Catalog — permanent, versioned, readable by every tool.
ALTER TABLE lead_attributes_it
ALTER COLUMN lead_source
COMMENT 'Agreed allowlist: Event,
Content Syndication, Paid Social,
Webinar, Email Campaign …'
→
Unlocked
6 KPIs
Marketing-sourced pipeline · Influenced pipeline · % of total · MROI · Closed-won revenue · Campaign pipeline ROI
Blocker 2
MQL Mirage
No is_mql flag. Derivation rule undocumented. Every system counts differently.
→
CE Artifact
Metric View + Column Comment
mv_marketing_pipeline encodes the two-field MQL rule, Cost per MQL, and MQL→SQL conversion as governed measures.
measures:
- name: mql_volume
expr: COUNT(DISTINCT CASE
WHEN lead_status_code='QUALIFIED'
AND lead_stage='MQL'
THEN lead_id END)
→
Unlocked
4 KPIs
MQL volume · MQL→SQL conversion rate · Cost per MQL by channel · MQL volume by campaign
Blocker 3
Invisible Event
Five-hop Cvent join undocumented. No attribution window agreed. Event ROI incalculable.
→
CE Artifact
Event Attribution Metric View
mv_event_attribution encodes the five-hop join chain and 90-day attribution window as a single governed measure.
measures:
- name: post_event_pipeline_90d
expr: SUM(CASE
WHEN opty_created_date BETWEEN
event_start_date AND
DATE_ADD(event_start_date,90)
THEN opty_amount_usd END)
→
Unlocked
4 KPIs
Event ROI · Event-attributed opportunity volume · Event-attributed lead volume · Post-event pipeline (30d / 90d)
14
KPIs move from Stage 2 to live. In one sprint.
Three UC artifacts. The data was always there. The definitions just needed a permanent home.
The Portability Payoff

One definition. Every tool. Zero drift.

Once encoded in Unity Catalog, the business rule belongs to the platform — not to any one tool. Sarah, Priya, and Marcus each use a different interface. They all get the same governed answer.

📊 Sarah · Power BI Copilot
🔮 Priya · Genie One
◆ Marcus · Claude via MCP
Sarah — CMO
Power BI Copilot on her laptop, before the board review
"What percentage of Q3 pipeline was marketing-sourced? I need the number for the board deck."
36.1% · $34.8M Marketing-sourced pipeline from $96.2M total Q3 pipeline. Based on agreed allowlist: Event, Content Syndication, Paid Social, Webinar, Email Campaign — encoded in Unity Catalog October 2026. Source: mv_marketing_pipeline · aon_mdl · marketing
"Break it down by channel."
Event: $12.5M (35.9%) · Content Syndication: $8.7M (25%) · Paid Social: $6.2M (17.8%) · Webinar: $4.9M (14.1%) · Email: $2.5M (7.2%) Same definition. Same source. Sales will see the same numbers.
Definition Source
mv_marketing_pipeline
Power BI Copilot reads from this Metric View via the Tabular Editor 3 Semantic Bridge. The attribution allowlist is read from the Unity Catalog column comment — not stored in Power BI. When the rule changes, every tool sees the update immediately.
measure: marketing_sourced_pipeline
field: C_Lead_Source___Original1
allowlist: Event · Content Syndication
Paid Social · Webinar · Email Campaign
source: aon_mdl_test.marketing.lead_attributes_it
Priya — Campaign Manager
Genie One in Databricks, three weeks before Q4 budget lock
"Which EMEA channel had the lowest cost per MQL last quarter? And which had the best conversion rate?"
Events at £3,240 / MQL Best Cost per MQL across EMEA channels. Paid Social was £8,100. Conversion: Events 38.2% → SQL, Paid Social 19.4%. MQL definition: lead_status_code='QUALIFIED' AND lead_stage='MQL' · mv_marketing_pipeline
"How does that compare to Q2?"
Events improved from £3,890 (Q2) to £3,240 (Q3) — 17% efficiency gain. Paid Social flat. Recommend +20% event budget reallocation for Q4. Same MQL rule applied to both quarters. No retrospective adjustment needed.
Definition Source
mv_marketing_pipeline
Genie One reads the Metric View definition plus the Genie Knowledge Store instruction before generating any SQL. It never guesses the MQL rule — it reads the encoded definition. Priya gets consistent numbers whether she asks today or next quarter.
measure: mql_volume
instruction: "MQL derivation: lead_status_code
= QUALIFIED AND lead_stage = MQL.
Do not attempt to derive manually."
source: aon_mdl_test.marketing.mv_marketing_pipeline
Marcus — Event Lead
Claude via MCP endpoint, preparing the CFO report
"What pipeline did London Insurance Forum generate? I need the 90-day number for the CFO."
$12.5M · Event ROI 6.9× 8 opportunities created within 90 days of London Insurance Forum (15 Jul 2026). Total: $12.5M vs £180K event cost. 90-day window is the agreed standard. Source: mv_event_attribution · 5-hop Cvent join encoded · aon_mdl_test.marketing
"What about the 30-day number?"
30-day pipeline: $5.8M from 3 opportunities. The remaining $6.7M (5 opps) converted in days 31–90, typical for roundtable-style events with longer consideration cycles. measure: post_event_pipeline_30d · same source, different window
Definition Source
mv_event_attribution
Claude calls the Genie MCP endpoint at /ai-gateway/mcp-services/system.ai.genie_one_mcp. Genie reads the Metric View, which encodes the five-hop Cvent join chain and the 90-day window. Marcus gets a defensible number without building a single JOIN.
measure: post_event_pipeline_90d
window: 90 days from event_start_date
join_chain: SYS_Cvent_Event → campaigns
→ members → leads → opps
source: aon_mdl_test.marketing.mv_event_attribution
Technical Reference
⚙
Architecture, CE Artifacts & Test Environment
Technical details hidden · click to expand — for architects and engineers
▼