What this dashboard measures
This is a setter-side view of the SCI sales process — the work each setter does to feed the closer pipeline. The dashboard has two pages, selectable via the toggle at the top: Performance (the default) and Activity Analysis.
The Performance page is organized as four sections, each a different stage of the setter's contribution: Activity (raw call volume + intro-call performance), Bookings (the discoveries setters cause to be booked), New Money (the dollars that eventually fund from those discoveries — first-time investor fundings only), and Call Outcomes (donut charts showing meeting outcome breakdowns).
The Activity Analysis page contains Time of Day — Calls by Hour (a grouped bar chart showing when each setter makes calls) and Speed to Lead (how quickly setters make first contact with new accredited leads).
Setters shown: Kayla Daughtrey, Cierra Milao, Alex White, Aidan Conner. Jamie Wright is inactive and excluded from the columns. For Bookings and New Money, records whose setter cascade resolved to a non-setter or didn't resolve land in the Unattributed column. Activity (Dials, Connections, Intros) intentionally leaves Unattributed blank — a closer's calls aren't "setter activity that happens to be unattributed," they belong on the closer dashboard.
Column order in every section: persons, then Unattributed, then Overall. Overall is the section-wide grand total. For Bookings and New Money rows, Overall = sum of persons + Unattributed (the row math sums cleanly left-to-right). For Activity rows, Unattributed is blank and Overall = sum of persons by design (no "unattributed setter activity" exists). The Overall column is highlighted to mark it as the grand total.
The four sections
Call Outcomes (top of dashboard)
Two donuts at the very top of the dashboard — Intro on the left, Discovery on the right. Each donut breaks down meeting outcomes for the call type: Completed (green), No-Show (red), Rescheduled (amber), Canceled (gray), Disqualified (purple). The number in the center of the donut is the resolved-cohort total — the denominator the percentages use.
Attribution differs by call type. Intro outcomes follow meeting.hubspot_owner_id (the setter ran the call directly). Discovery outcomes follow meeting.setter_owner_via_deal (the setter booked the call; the closer ran it). So Intro reflects setter-as-caller hygiene, Discovery reflects setter-as-booker quality.
Shared controls in the section header bar — one date picker, one "vs" comparison picker, and the Setter filter all sit in the bar above the two cards. The date and comparison apply to both donuts; the Setter picker narrows both donuts to a single setter's meetings.
The Setter picker only affects these donuts. The Activity, Bookings, and Investments sections always show every setter as a column — filtering those sections by setter hides information rather than adding it, so the picker is intentionally scoped to just the donuts.
Legend rows show current AND previous numbers side-by-side — each row has a count + % for the current period and a count + % for the comparison period, so you can scan one row and see how a given outcome's share is trending without doing math.
Pending bookings are excluded from the donut. A meeting scheduled for the future hasn't resolved yet — including it would drag completion % down artificially. The subtitle line tells you how many pending and how many un-dispositioned meetings were dropped, so you can spot data hygiene issues without them polluting the chart.
Click any slice or legend row to open the drill-down panel filtered to that outcome — e.g., click No-Show to see every contact who no-showed in the period.
Activity
Direct setter activity — calls dialed, connections made, intro calls scheduled and held. These are the raw inputs. Owned by the setter via call/meeting hubspot_owner_id.
Five rows: Dials, Connections (with connection rate of dials), Intro Calls Scheduled, Intro Calls Completed, Intro No-Shows. The Unattributed column shows N/A for activity rows by design — a non-setter's calls aren't unattributed setter activity, they're someone else's activity entirely.
Default range: This Week. Daily/weekly cadence — setters and managers want fresh activity numbers.
Setter-Attributed Funnel — Bookings
Discovery calls booked, where the setter gets credit via attribution cascade rather than direct meeting ownership (closers are usually the meeting owners on discoveries). For each cohort (all bookings, From Intro subset, No Intro subset) four rows: Booked, Held, Completed, No-Show.
Held vs Completed. "Held" counts past bookings whose outcome isn't explicitly a failure — NO_SHOW, RESCHEDULED, CANCELED, or DISQUALIFIED. It includes un-dispositioned past meetings because dispositioning is sparse and a meeting nobody tagged probably happened. "Completed" requires strict outcome === 'COMPLETED' and tracks dispositioning hygiene as much as actual outcome — when Held/Booked is high but Completed/Resolved is low, that's a dispositioning gap, not a closer performance problem. Both rates have value; they answer different questions.
The Bookings range anchors on booking creation date, not scheduled meeting date. When Kayla books a discovery on Friday for the following Monday, that booking counts toward Friday's week (when the work was done) — not the week the call eventually happens. This makes "Discoveries Booked This Week" mean "booked this week" rather than "scheduled this week," which is the operationally useful framing for setter activity.
Completion and no-show rates use the resolved cohort. For a given week's bookings, the completion / no-show rates measure "of the bookings that have already resolved (scheduled time has passed), what % completed?" — a true cohort follow-through rate. A booking made last Friday whose discovery happens today still counts toward last week's cohort, with outcome resolved when the meeting actually happens. Held rate uses bookings as the denominator (not resolved), since Held already excludes pending future-scheduled bookings.
Watch the From Intro vs No Intro completion gap. Higher From Intro completion = the inbound funnel is producing better-quality discoveries than direct outbound. Live data shows this gap clearly — a real lever for resourcing decisions.
Default range: Last Month. Discovery cycles are short enough that month-level reads are accurate.
Setter-Attributed Funnel — New Money
New money raised — first-time investor fundings credited to the setter via a three-tier cascade: the Investment record's own setter field first, then matching closed-won deal's setter_owner within ±30 days, then contact's setter_owner as fallback. Three rows: count of first-time investors acquired, total new money raised, average ticket.
Important — first-investment attribution. Only each contact's FIRST funded investment counts. Once an investor is acquired, post-acquisition relationship management and follow-on (repeat) fundings are owned by Account Managers — those repeat investments live on the AM dashboard, not here. So this dashboard's New Money Raised totals will be intentionally lower than the main Investment Dashboard, which sums every funded record including repeat and follow-on. The gap between them is the AM-owned repeat-funding volume.
Funded investments and their original discovery bookings can sit in different date ranges — a discovery booked in March can fund in April. The Bookings range and New Money range are independent windows, not a strict pipeline.
Default range: Last Quarter. Funding cycles run longer than booking cycles; quarterly read is the right granularity.
Speed to Lead
Measures how quickly setters make first contact with new accredited leads. For every contact created in the date range where are_you_accredited_ = Yes, the dashboard finds the first outbound call associated with that contact and computes the gap between contact creation and first call (adjusted by a 5-hour offset for timezone/business-hours alignment).
Only two setters shown: Kayla D. and Cierra M. These are the two setters who handle outbound calling on new leads. The other setters (Alex, Aidan) don't appear in this section.
Table columns. Each setter gets three sub-columns: Available (leads assigned — both called and uncalled), Made (leads actually called), and % Made (call-through rate). Six metric rows:
- Leads — count of accredited leads available vs actually called.
- Median Speed — median time from contact creation to first call (spans all three sub-columns). The single most useful number for "how fast is this setter responding?"
- Avg Speed — mean of the same. More sensitive to outliers than median — a few very slow responses will drag this up even if most leads are called quickly.
- < 1 Hour — count of leads called within one hour. The gold standard for speed to lead.
- < 1hr Rate — percentage of called leads reached within one hour (spans all three sub-columns).
- Beat Queue — leads where the speed was negative (the setter called before the offset window elapsed). A negative speed means the setter reached the lead faster than the baseline expectation — shown in green.
Three summary cards appear to the right of the table:
- Speed to Lead (teal) — overall median speed combining both setters' called leads. The headline number for the section.
- No Setter Owner (red) — contacts in the range with no
setter_owner assigned. These leads fell through the cracks — nobody is responsible for calling them. Click to drill down.
- Uncalled (amber) — contacts assigned to a setter but with zero associated calls. The setter owns them but hasn't reached out. Click to drill down.
Attribution. First call's hubspot_owner_id determines which setter column the lead lands in. If the caller isn't Kayla or Cierra, falls back to the contact's setter_owner field.
The 5-hour offset. Raw speed is first_call_timestamp − contact_createdate − 5 hours. The offset accounts for the fact that leads created overnight or outside business hours shouldn't penalize the setter's response time. A "Beat Queue" (negative speed) means the setter called within 5 hours of creation.
Default range: Last Month. Monthly cadence balances sample size with recency.
Activity Analysis page
The second page of the dashboard, accessed via the Activity Analysis tab at the top. This page groups analytical views that benefit from a wider viewport and don't need the same refresh cadence as the Performance page's daily/weekly metrics.
Time of Day — Calls by Hour
A grouped bar chart showing each setter's call volume by hour of the day (Eastern Time). Each setter is a separate colored series; each bar represents one hour bucket from 8 AM through 9 PM — hours outside that window (10 PM–7 AM) are hidden since they contain negligible activity and compress the useful bars.
Own date range picker. The chart has its own independent range selector in the section header (default: This Month). Changing it fetches call data for the selected range from HubSpot (if not already cached) and re-renders all three charts (volume, hourly rate, day-of-week donut). The TOD range is fully independent of the Activity, Bookings, and other section ranges — selecting "Last Year" on the TOD chart loads last year's call data without affecting anything else.
What it answers: "When are setters actually making calls?" Useful for spotting coverage gaps (e.g., no calls before 10a or after 4p), identifying peak dialing windows, and comparing work patterns across setters.
Timezone handling. Call timestamps are converted to approximate Eastern Time (UTC−4) for hourly bucketing. This is close enough for pattern analysis — the goal is relative distribution across the workday, not precise minute-level timing.
Connection Rate by Hour
A bar chart below the hourly volume chart showing connection rate % per hour (8 AM–9 PM), across all setters combined. Each bar shows what percentage of dials in that hour resulted in a connection.
What it answers: "What time of day produces the best connection rate?" Complements the volume chart above — high volume doesn't always mean high connection rate. An hour with fewer dials but a higher rate may be more efficient to target.
Threshold coloring. Hours meeting the 2% dial threshold are shown in purple; hours below the threshold are shown in amber to flag them as outliers. Hover any bar to see the rate, raw counts, and whether it's an outlier.
Connection Rate by Day of Week
A donut chart to the right of the hourly bar chart. The slices represent the days of the week (Sun–Sat), sized by connection rate — connections ÷ dials for that day, across all setters combined. Hover any slice to see the rate and raw counts.
2% minimum threshold. A day of the week must account for at least 2% of total dials in the period to appear in the donut. This prevents low-volume days (e.g., 2 calls on a Saturday) from dominating the chart with artificially high rates. The note below the donut shows the threshold and lists any excluded days. In the per-setter legend, excluded days cannot be the #1 "best day" — they still appear in the ranked list but are flagged as outliers (⚠) in amber so they draw attention without distorting the ranking.
What it answers: "Which days of the week produce the best connection rate?" This is more useful than raw connection count, which just follows dial volume — the rate reveals which days convert better regardless of effort.
Per-setter legend. Below the donut, each setter is listed with their total call count for the period and their best qualifying day (highest connection rate among days that meet the 2% threshold) shown as the headline — day name, rate %, and raw counts. Below each setter's best day, the remaining 6 days are listed in ranked order (2nd through 7th). Days that fell below the threshold are flagged with ⚠ and shown in amber with their counts — notable but not statistically reliable.
Loading state. When the range picker triggers a data fetch, the section dims and shows a "Loading…" indicator until the data arrives. This prevents confusion when switching to ranges that require new data from HubSpot.
Both charts share the same date range picker and filter the same underlying call data.
The chart renders on first visit to the Activity Analysis page and re-renders whenever new data loads (e.g., after a Refresh). If no call data is available, a placeholder message appears instead of the chart.
Speed to Lead (moved here from Performance page)
Speed to Lead lives on this page rather than the Performance page. It measures response time to new leads — a different analytical question than the daily activity/bookings/money metrics on the Performance page. See the Speed to Lead section above for full details.
How attribution works
Setter attribution is harder than closer attribution because the setter usually doesn't own the meeting record — the closer who runs the discovery does. Cascade logic resolves this:
- Activity (Dials, Intros): direct ownership via call or meeting
hubspot_owner_id. The setter ran the call or held the intro.
- Discoveries: deal-based cascade. We find the deal active at the time of the discovery and use its
setter_owner field. If no deal-side setter, we fall back to the contact's setter_owner.
- Investments: investment record's own
setter field first, then matching closed-won deal's setter_owner (within ±30 days of funds received), then contact's setter_owner as final fallback.
The Unattributed column captures funnel records (discoveries, investments) where the cascade resolved to null OR to a non-current setter — most commonly historical Jamie Wright records or mis-tagged closer ownership.
Drill-down rows on the setter dashboard show both the meeting's actual owner (usually a closer) and the setter who got cascade credit, so you can spot-check attribution surprises.
Date ranges and comparison
Each section has its own independent date range. Change one, the other two stay where they are — useful for focusing on different timeframes simultaneously (e.g., this week's activity while looking at last quarter's funded outcomes).
Each section also has its own compare dropdown:
- Previous Period — the period immediately before the base range. Last Month compares to the month before, This Week compares to last week's same-elapsed days.
- Same period previous year — shifts the base range back one calendar year. Apples-to-apples seasonal comparison. Use this when you want Q1 2026 vs Q1 2025.
- None — drop the comparison entirely.
- Specific period — compare to any named range.
- Custom dates — pick exact from/to dates.
Drill-down — clicking the numbers
Almost every number is clickable. Two click targets per cell:
- Click the headline number (the big bold figure) → opens a panel showing the underlying records for the current period.
- Click the delta line (the "↓ 18% prev: 125" subtitle) → opens the same panel for the comparison period (whichever you have set in the compare dropdown — Previous Period, Same period previous year, etc.).
The drill-down panel shows each underlying record: contact name, date, both owners (the closer who ran the meeting and the setter who got cascade credit), and outcome. Each row's contact name is a link — click it to open the HubSpot contact in a new tab. For meeting records, each row also shows whether that contact has ever funded — labeled Funded $X or Not funded.
Booked vs Scheduled dates. When a booking's creation date and its scheduled meeting time fall on different days, the drill-down row shows both: "Booked Apr 23 · Scheduled Apr 27." This makes the cohort relationship explicit — you can see at a glance that a booking belongs to last week's cohort even though the meeting happens this week. When booking and scheduled dates match, only one date is shown.
Reading the funnel together
The setter funnel: dials → connections → intro calls scheduled → intro calls completed → discoveries booked → discoveries completed → investments funded.
Activity rows answer "how hard are setters working?" The Bookings rows answer "how good is the work?" — completion and no-show rates of their booked discoveries. The Investments rows answer "what dollars do they ultimately drive?" Speed to Lead (on the Activity Analysis page) answers "how fast are setters responding to new leads?" — a leading indicator that feeds everything downstream. The Time of Day chart reveals when that work is happening across the day.
Key insight when reading: high activity with low completion rate = setters are booking volume but the discoveries aren't qualified enough. Low activity with high completion = a setter who books selectively. Both can be valid styles depending on team strategy.
Reading caveats
Pre-2026 dispositions are sparse. Disposition tracking (Completed / No-Show) wasn't enforced until 2026, so any historical period before 2026 will show suppressed completion rates that reflect data hygiene, not actual performance. When comparing 2026 numbers to anything earlier — Q4 2025, full 2025, year-over-year — expect huge "improvements" in completion rate that are mostly the data getting cleaner. The further back you look, the less reliable disposition-based metrics become; volume metrics (booked, count) are still trustworthy.
Pending bookings. Discovery calls scheduled for the future show as "X still pending" subtext under the Booked count. They count toward Booked but not toward Completed or No-Show — the rates use the resolved cohort (booked minus pending) so the rates reflect what actually happened, not what's still on the calendar.
Partial period warning. If the base period is in progress (This Week, This Month, This Quarter, This Year), the Previous Period comparison truncates to same-elapsed days for fairness — and a yellow pill in the section header says so. To compare full vs full, use Same period previous year instead.
Segment math sanity pill (Bookings section only). The "All" rate must mathematically lie between the From Intro and No Intro rates because All is a weighted average of the two. If a yellow warning pill fires, the underlying numbers are inconsistent — usually a data hygiene issue worth investigating, not a real performance signal.
Setter attribution gap on historical data. Many older closed-won deals (from 2023-2024) have a null setter_owner because the field wasn't populated routinely until 2025. Investments tied to those deals will land in the Unattributed column even though a setter likely did the work — known limitation worth flagging when reading historical totals.
Glossary
DCB — Discovery Call Booked. The pipeline stage and the moment the setter's work converts to closer's work.
Booking date — when the meeting record was created in HubSpot (i.e., when the booking was made). Used as the anchor for "Discoveries Booked" cohorts.
Scheduled date — when the meeting is supposed to happen. Used as the anchor for outcome resolution (Completed / No-Show / Pending) — outcomes only resolve once the scheduled time has passed.
From Intro / No Intro — segmentation on whether the contact had a completed intro call before the discovery booking. From Intro = inbound-warmed; No Intro = direct outbound or referral that skipped the intro.
Resolved cohort — bookings whose scheduled meeting time has already passed. Used as the denominator for completion rate and no-show rate, so the rates aren't dragged down by future bookings.
Pending — a discovery booking whose scheduled meeting time is still in the future. Counted in Booked, excluded from rate denominators.
Cascade attribution — when the meeting owner isn't the setter (typical for discoveries), credit falls back to the deal's setter_owner field, then to the contact's setter_owner field. Lets the dashboard credit setters even when they don't own the meeting record directly.
Speed to Lead — time between a contact's createdate in HubSpot and the first outbound call to that contact, minus a 5-hour offset. Lower is better. Negative values ("Beat Queue") mean the setter called within the offset window.
Beat Queue — a Speed to Lead value that is negative, meaning the setter made first contact faster than the 5-hour baseline offset. Displayed in green.
Uncalled (Speed to Lead) — a contact assigned to a setter via setter_owner but with no associated calls in HubSpot. The setter owns the lead but hasn't reached out.