AnchorWorks KPI Command Center · Phase 2 Recap

Phase 2 · Sales dashboard live

The Sales engine now has a live cockpit.

We built the second dashboard — Sales — on the exact same foundation. It reads the same ledger, so its numbers can never disagree with the Leadership view. This recap teaches you how the sales funnel is measured, how reps are held to fair numbers, and why "one database" is the quiet superpower.

6
new reporting views
8240
leads tracked, by source
4
funnel gates measured
1
ledger, zero contradictions

The quiet superpower

One database means no two screens ever disagree.

In most companies the sales team's spreadsheet and the leadership deck quietly drift — different totals, endless "which number is right?" arguments. We designed that problem out of existence. The Sales dashboard and the Leadership dashboard both compute from the same ledger, so the same fact shows the same value everywhere.

Total cash · MTD
$3.1M
Leadership "Cash · MTD" and Sales "Cash · MTD" — identical, because both sum the same Stripe payments.
Sales-team cash
$412K
Leadership's "Sales" tile and the Sales leaderboard's closer cash reconcile to the same $412K.
Why it matters

When you're building a company to sell, an acquirer's diligence team will try to break your numbers. "One fact, computed once" means every dashboard tells the same story under scrutiny — because there's only ever one story in the ledger.

The core of the dashboard

The pipeline funnel — where money is won or lost.

Every lead flows through four gates. Each gate has a conversion rate, and each rate is a lever you can coach. The funnel makes the leaks obvious.

LeadsOpt-ins captured, tagged by source
8,240
↓ 14.3% booked a call
Booked callsStrategy sessions on the calendar
1,180
↓ 80% showed up · show rate
Calls heldProspect actually attended
944
↓ 22% closed · close rate
Sales wonDeal closed → cash collected
210

How to read it: the two gates you control most are show rate (did they turn up — a setter/SDR job, target ≥75%) and close rate (did the closer close — target ≥20%). We're at 80% and 22% — both on target. Move either one and revenue moves with it, no extra ad spend required.

Phase 2 — live

The Sales dashboard, reading real data.

A screenshot of the running app at #sales. Every figure is computed by the views — nothing is typed into the page.

AnchorWorks Sales dashboard — KPI cards, pipeline funnel, show/close gauges, bookings chart, rep leaderboard, leads by source
Today vs month-to-date, funnel, rates, rep leaderboard, and closed-loop sources — all live.

Reading the screen

KPI cards · today & MTD
Momentum at a glance. Leads, booked, held, won, cash — each shows today next to the month-to-date total, so a slow day is obvious immediately.
Show & close gauges
Are the two rates on target? The conversion gates that decide whether the pipeline turns into revenue.
Rep leaderboard
Who needs coaching? Closers ranked by cash collected, SDRs by pipeline sourced — each measured on what they actually control (see below).
Leads by source
Which channel to scale? Every source shows leads and deals won — closed-loop, so you fund what actually produces cash, not just clicks.

Fairness by design

Every rep measured on what they control.

A leaderboard is only motivating if it's fair. So we split it by role:

Closers
Cash collected
Jordan $233K · Alex $179K. The closer's job is to close and collect — so that's the number.
SDRs / setters
Pipeline sourced
Sam $0.9M · Taylor $0.78M, plus calls booked. They fill the pipeline — crediting them cash they didn't close would be noise.

This mirrors the repo's rule: hold individuals to output and conversion (the metrics they own), and keep blended efficiency (ROAS/CAC) at the team level and above, where it's honest. No arbitrary splitting of ad spend across closers.

The linchpin

Closed-loop attribution — from ad click to cash.

The "Leads by source" panel shows leads and the deals each source actually closed. That's only possible because a tag rides with every record from the first touch all the way to the payment:

Ad click utm_* Opt-in source_funnel Booked call Deal won Cash Stripe

Without that thread, source data dies at the door and you're guessing which channel to scale. With it, you can say "Paid media brought 1,680 leads and 71 wins" — and fund accordingly. It's why the foundation insists every row carries its source_funnel and utm_* tags from day one.

-- Leads AND wins per source, joined on the tag that rode all the way through:
select source_funnel,
       count(*) as leads,
       count(*) filter (where won_at is not null) as won
from the ledger group by source_funnel;

Decision-first, as always

The three decisions this dashboard exists to drive.

Is the pipeline healthy enough to hit revenue? Funnel volume + conversion at each gate.
Which rep needs coaching? Per-rep leaderboard on the metric each role controls.
Are show and close rates on target? The two gauges — show ≥75%, close ≥20%.

If a number doesn't answer one of these three questions, it isn't on the screen. That discipline is what keeps the dashboard a decision tool, not a wall of vanity metrics.

Where we are

Two dashboards live. Marketing is next.

Phase 0 (the foundation) and now two Phase 1–2 dashboards — Leadership and Sales — are live and reading the same ledger. Next we build the Marketing dashboard (channel ROAS, cost per lead, hook/hold on creative, cost per booked call) to complete the acquisition picture, then Client Success and Program Delivery for churn defense.

Immediate next step

Build the Marketing dashboard on the same foundation. Then Chris points the app at the cloud Supabase and swaps the sample data for real ingestion — no app changes, the views are the contract.