Commercial KPI scoreboard
Use this skill when a sales manager or rep asks how the numbers look for a rep or the whole team over today, this week, this month or the quarter. Produces a six-row scoreboard from live CRM deal data: presentations made, closing ratio, sales velocity, average order value, current billing, and position against target, with a 2 to 3 line commercial read. Also use for "how is Danny doing this month", "team scoreboard", "closing ratio", "sales velocity", "are we on target", "KPI check".
Applies when someone wants the commercial truth about a rep or a team for a period, on demand. Produces one scoreboard, six KPIs, built from HubSpot deal timestamps rather than from anyone's recollection.
The play
- Resolve scope and period. Named rep: scope to that deal owner. No rep: whole team. No period: current month. State both at the top of the output before any number.
- Resolve the pipeline. One sales pipeline in HubSpot: use it. Several: use the main sales pipeline and say which one was used. The user can name a different pipeline in the request.
- Pull every relevant deal, filtered by owner and pipeline, with deal stage, stage-change timestamps, create date, close date, amount and pipeline. Stage-entry timestamps are the source for presentations, not the current stage.
- Load targets. Prefer a native target or quota property in HubSpot. Otherwise read the client's targets document (one row per rep per period) from the client brain. Neither: show every other KPI and mark Position Against Target as "target not set".
- Compute the six KPIs exactly as defined in references/kpi-definitions.md. The one most people get wrong: a presentation is any time the business was asked for cash, whichever call it happened on. All presentations in the period are the closing-ratio denominator, not just a particular call.
- Handle the edges before publishing. A KPI with no underlying deals shows "n/a" and not 0, and never a divide-by-zero. Deals missing an amount or a close date are listed by name so the numbers are not silently skewed. A missing or stale targets document is stated, not guessed around.
- Deliver the scoreboard: a one-line header (scope, period, pipeline), the six-row table, then a 2 to 3 line commercial read: what stands out, the biggest move to make, and any data-quality caveat.
What good looks like
- First thing I check that most people skip: whether the presentation count came from stage-entry timestamps inside the period or from deals currently sitting in that stage. The second number is wrong and usually flattering.
- Second tell: whether closed-won deals with no amount were silently excluded. They drag average order value and billing down without anyone noticing.
- The mediocre version: a HubSpot report screenshot with a current-stage count, a closing ratio that only counts proposals from one call type, and no target line because nobody could find the targets document.
- I know the output is right when a manager can read the six rows and say the one move that would change the month, and the caveats at the bottom explain every number they would otherwise question.
- I know it has landed when the next conversation is about the move, not about whether the data is right.
Rules
- MUST state scope, period and pipeline before any number.
- MUST count presentations from stage-entry timestamps inside the period.
- MUST use all presentations in the period as the closing-ratio denominator.
- MUST list deals missing amount or close date rather than drop them silently.
- NEVER show 0 for a KPI with no underlying deals. Show "n/a".
- NEVER guess a target. "Target not set" is an answer.
references/kpi-definitions.md
The six KPIs
All six are computed for the resolved scope (one deal owner, or all owners) and period (today, this week, this month, this quarter; default current month), within the resolved pipeline.
| KPI | Definition | Source fields | Edge handling |
|---|---|---|---|
| Presentations Made | Count of deals that entered the "Presentation Made" or "Presentation Sent" stage inside the period | Stage-entry timestamp for that stage | Count every entry, whatever call it happened on. Re-entries of the same deal inside the period count once |
| Closing Ratio | Closed Won deals that had a presentation in the period ÷ Presentations Made in the period | Stage-entry timestamp, closed-won date | No presentations: "n/a". Show the fraction next to the percentage, for example "7 of 23" |
| Sales Velocity | Mean days from create date to close date for deals closed won in the period | Create date, close date | Deals missing either date are excluded and listed by name |
| Average Order Value | Mean amount of Closed Won deals in the period | Amount | Deals missing amount are excluded and listed by name |
| Current Billing | Sum of Closed Won amounts in the period | Amount | Same exclusion list as AOV |
| Position Against Target | Current Billing ÷ target, and target minus Current Billing as the cash gap | Target property in HubSpot, else the targets document | No target: "target not set" |
What counts as a presentation
A presentation is any moment the business was asked for cash. It does not matter whether that was Call 1, Call 2 or Call 5. If pricing or a proposal was put on the table, it is a presentation. A meeting where no money was mentioned is not, whatever stage it sits in.
Target source order
- A target or quota property on the owner or a HubSpot goals report, if the account has one.
- The client's targets document in the client brain: a maintained sheet with one row per rep per period, updated as targets are allocated.
- Neither: show the other five KPIs and write "target not set" in the sixth row. Do not estimate.
Multiple rows for the same rep and period: use the most recent.
Scoreboard layout
Scope: [rep name or Team] · Period: [period] · Pipeline: [pipeline name]
| KPI | Value | Context |
|---|---|---|
| Presentations Made | 23 | over the period |
| Closing Ratio | 31% | 7 of 23 presentations → Closed Won |
| Sales Velocity | 42 days | avg create → close |
| Average Order Value | £8,400 | across 7 won deals |
| Current Billing | £58,800 | Closed Won revenue |
| Position Against Target | 82% (£12,200 gap) | vs £71,000 target |
Then 2 to 3 lines: what stands out, the biggest move to make, any caveat (deals missing amount or date, stale or absent target).
Reading the board
- High presentations, low closing ratio: the ask for cash is happening before the diagnosis has landed. Look at Call 1 quality.
- Low presentations, high closing ratio: the rep only asks when it is safe. Push for more presentations; the ratio will drop and billing will rise.
- Long velocity with a healthy ratio: deals are being nursed. Check for missing close dates propping the number up.
- Billing on target with a low presentation count: one large deal is carrying the month. Say so; next month has no cover.