Outreach performance over time
IndexedSent, replies, meetings and opportunities indexed to week 1 = 100 so one axis serves all four — never a dual axis
Meetings are compounding faster than sends: efficiency is improving, not just volume. Click a point to open the leads behind it.
Campaign health
Excellent · Healthy · Needs attention · Critical — click a row for the campaign detail
Conversion funnel
Contact grain — one row per person, so it stays monotonic. Click a stage to filter the lead database.
Constraint: reply → positive reply is the tightest non-structural stage. Fixing message quality moves more than fixing volume.
Leading indicators
Signals that move 7–30 days ahead of pipeline
Replies by sentiment
Classified on 100% of replies
Campaign quadrant
Positive reply rate against send volume · target lines at 45% and 4,000
Top-right = scale. Bottom-right = the expensive quadrant — high volume behind a message that isn't landing.
Fatigue detector
Daily unsubscribe rate with fitted 14-day trend · fatigue is a slope, not a level
Compliance Doc Review has a significant positive slope (p = 0.004) while still under the 2% line on some days. The slope is the signal.
Campaign performance matrix
Sortable, searchable, exportable · right-click a row for actions · click to open the campaign
Winner gates (all four): positive reply ≥ 45% · meeting rate ≥ 0.55% · unsubscribe ≤ 0.8% · cost per meeting ≤ $75 · minimum 2,000 delivered.
Lead database
Engagement, AI fit and intent scored per lead · click any row to open the drill-down · right-click for row actions
Engagement combines opens, clicks, reply, response speed and follow-up engagement. AI fit combines ICP alignment, company size, industry relevance, technology fit, operational complexity and automation opportunity. Intent is weighted from website sessions, calendar views, deep clicks and multi-threading.
Deliverability watch
Placed first deliberately — a deliverability incident invalidates every other number on this page
Engagement rates over time
7-day smoothed · open rate is machine-open filtered · drag across either panel to zoom
Separate panel — open rate is an order of magnitude larger, and a second y-axis would be a lie
Read click and reply, not open. Apple Mail Privacy Protection manufactures opens; the filter removes pre-fetches but the metric remains directional only.
Send-time performance
Reply rate by recipient-local day and hour · single-hue sequential scale
Tue–Thu 07:00–09:00 local is the band. Friday afternoon sends are near-worthless — reallocate that capacity.
Time to first response
Distribution of reply latency · median marked
Median 19.6 h, but 31% of replies land inside 4 h — and those convert at 2.2×. The follow-up SLA should be 1 h, not 1 day.
Outreach by sequence step
Click a row to filter the lead database to that step
Sequence step economics
Marginal reply yield per touch against marginal unsubscribe cost
Break-even is touch 5. Touches 6–7 yield 0.21% of replies and cost 0.96% in unsubscribes — cut them.
Inbox health
Rolling 14 days · rotate out any mailbox below 95% delivery
Best performing content
Every winner is significance-tested and carries the prompt release that absorbed it
Layer 1 · Rate parity
Wilson 95% intervals — the question is whether the gap exceeds the noise, not which bar is taller
Human beats AI on positive reply rate by 9.3 points — real. AI-assisted beats human on reply rate by 0.6 points — not real; the intervals overlap.
Layer 2 · Efficiency frontier
Cost per qualified lead against qualified leads per 1,000 sends
The decision chart. Upper-left wins. Human-written cannot carry volume at $71/QL no matter how well it converts.
Layer 3 · Where the answer flips
Positive reply rate by persona × generation mode
The deliverable sentence: AI wins at Director level and below $50M revenue; humans win at C-level and above $75M. Assisted wins everywhere in between.
AI performance score
CompositePerformance + efficiency + personalization + consistency + conversion, weighted
Prompt version performance
Positive reply rate across releases · each auto-split against its predecessor
v3.2 regressed and was auto-rolled back within 36 hours. That rollback is what makes weekly prompt shipping safe.
Personalization depth vs outcome
Positive reply rate by depth tier · range shows the 10th–90th percentile
Trigger-event personalization is worth 2.4× role-only. Company-level is barely better than role-only — it costs enrichment budget for almost nothing.
Pain-point demand map
Automation pains prospects name in their own words, extracted from every reply — a demand signal, not a positioning guess
Invoice / AP keying is up 47% this quarter and no live campaign addresses it. This chart is the strategic output of the whole dashboard: it says which agent to build next.
Conversation categories
Every reply classified into one intent category · trend vs the prior period
Sentiment mix over time
Share of replies by sentiment class
Positive share is up 6.9 points since June while negative fell 3.4 — the market is warming to the message, not just receiving more of it.
Objection analysis
Click any objection for the leads behind it and the recommended AI response strategy
"We'd build this in-house" is up 31% — the fastest-growing objection in the programme, and the one the next enablement asset has to answer.
Representative replies
Classified verbatim, with the pain tags the model extracted
Objection volume
Rolling 90 days, with quarter-over-quarter movement
Eight-stage conversion
Volume · conversion · drop-off · median time in stage · change vs prior period. Click any stage for its drop-off reasons.
StageVolumeConversionDrop-offMedianvs prior
Where volume leaks
Contact-grain flow with drop-off ribbons · hover any band for its conversion rate
Cohort maturity
Cumulative meetings per 1,000 sent by send-month cohort · hatched cells are younger than one sales cycle
Do not compute CAC on a hatched cohort. Median sales cycle is 74 days; a cohort is immature until day 90.
Stage conversion vs prior period
Ghost bars show the previous 30 days
Pipeline waterfall
Is pipeline growing net of losses and slippage?
No-show by booking lead time
Days between booking and the scheduled meeting
No-show triples past 7 days out. Cap booking windows at 6 days — a calendar setting, not a messaging problem.
Concluded experiments
Relative lift on the primary metric with 95% confidence intervals · an interval crossing zero is inconclusive, not "a small win"
Experiment register
Click any experiment for the hypothesis, variants, guardrails and decision
Running experiments
Sample collected against the n needed for 80% power at the declared MDE
Sample size is fixed before launch. Peeking and stopping early is how teams accumulate winners that don't replicate.
Winning-element library
Promoted variants and the prompt release that absorbed each one
A winner with an empty promoted column after 14 days becomes a recommendation card. That field is what closes the loop.
Where the hours come from
Each automated task, its run volume, and the loaded labour it displaces
Rates are fully loaded, not salary. Minutes-each is measured against the manual baseline recorded before the workflow was automated, not estimated.
Return on investment
Value displaced against programme cost
Programme cost
Every line, including loaded human labour — omitting it is what makes AI outreach look free
Value against cost
Twelve months · value is growing while cost is nearly flat
Cost rose 15% over the year while value rose 142%. That gap is the whole case for automation, and it is the only chart on this page a CFO needs.
Hot-lead queue
Sorted by intent score · click a row to open the full journey
Calendar viewed, not booked is the highest-lift signal in the system (6.3× on meeting booked) and it decays within 24 hours.
Benchmark scorecard
Every metric sits on a floor → target → excellent band. The marker is where we are now.
Two metrics are below target: verified email rate and meeting rate. Both are fixable at the top of the funnel — verification before send, and CTA placement.
Build a view
Pick dimensions and measures · results update live
Guard: any combination that drops a cell below n = 30 renders "not enough data" instead of a rate.
Results
n = 12 rowsIndustry × generation mode · conditional formatting on rate columns
Managed IT on AI-assisted is the strongest cell in the grid — 51.8% positive reply at $56 per meeting. Insurance on AI is the weakest at 22.4% and $210.
Send volume calendar
Daily send volume across 13 weeks · weekends are off by policy
Saved views
Named filter presets, per user · shareable by URL
Every view encodes its filters in the URL, so a filtered dashboard can be pasted into Slack and land on the same numbers.
Prospect list composition
Industry, subdivided by employee band · area is share of the addressable list
Connector health
Every source feeding the warehouse, with its freshness SLA
Freshness is a first-class metric. A stale mart is worse than a missing one, because nobody notices.
Pipeline architecture
Source → ingest → land → model → warehouse → serve
Alert feed
Last 48 hours · click through to the entity that fired it
Every alert names an action. An alert that tells you a number changed but not what to do about it gets muted within a fortnight, and then the real ones get muted with it.
People with access
Row-level security is enforced in the warehouse, not the dashboard — a scoped user cannot query around it
One gap: the external SDR account has no MFA. External accounts scoped to a vertical still see contact-level PII.
Role permissions
What each role can do · additive, no per-user overrides
1 · Pages
Eighteen pages in three groups
2 · Component library
Every repeated piece, and the rule attached to it
3 · Component states
Every component supports these explicitly — loading, empty, filtered-empty, error, permission-restricted, and no-source
4 · Colour palette
Two palettes ship. Switch live from the top bar — every chart re-colours through CSS tokens, no re-render.
The finding worth keeping: the mockup's palette is not broken, its ordering is. Re-ordering the same seven hexes lifts the worst adjacent colourblind separation from ΔE 7.0 to ΔE 14.1 — a fail to a clear pass, zero hex changes. But that best order puts green in slot 2, which would render "unsubscribe" and "negative reply" green. Semantics beat the gate.
5 · Icon set
48 iconsEach icon with the function it stands for · 24×24, 1.7px stroke, currentColor
6 · Chart & visualization types
What each is for, and the function that draws it
Two rules apply to all of them: never a dual y-axis, and every rate carries its denominator in the tooltip.
7 · Data model
Star schema · fct_outreach_send is the spine
8 · Global filters
AND across dimensions, OR within one
Generation mode is the most-used filter in the dashboard, which is why it sits in the top bar rather than the drawer.
9 · KPI definitions
The denominator is part of the definition — half of all outbound reporting arguments are denominator arguments