Deloitte Senior Analytics Consultant: Executive Dashboard Design

Swing Catalyst / Initial Force AS — B2B SaaS + Hardware Platform

Prepared in the style of a Deloitte Analytics advisory engagement. Prescribes the exact dashboard architecture, KPI definitions, alert thresholds, and tool recommendations for a B2B SaaS company with a hardware component. [source: analyst estimate]


1. Dashboard Philosophy

The problem with most B2B SaaS dashboards: They track too many metrics. When everything matters, nothing does. [source: analyst estimate]

Deloitte framework: Select the minimum set of metrics that, collectively, give complete visibility into business health across four dimensions:

  1. Revenue engine — Are we growing?
  2. Retention engine — Are we keeping what we win?
  3. Product engagement — Are customers getting value?
  4. Financial health — Are we solvent?

For Swing Catalyst specifically, a fifth dimension is mandatory:

  1. Hardware pipeline — Are units flowing? (Hardware is 74–78% of revenue) [source: canonical-facts.yaml]

2. The 10 KPIs That Matter

Selection Criteria

Each KPI was selected against three tests:

# KPI Name Dimension Leading/Lagging Measurable Today
1 Net Revenue Retention (NRR) Revenue + Retention Lagging (6-mo) Yes (Stripe)
2 Monthly Software ARR Revenue Leading Yes (Stripe)
3 Gross Revenue Churn Rate (by tier) Retention Leading Yes (Stripe)
4 US Invoiced Revenue (MTD) Revenue Leading Yes (billing)
5 Hardware Units Shipped (AxioForce + Studio) Hardware pipeline Leading Yes (ops)
6 Free Trial → Paid Conversion Rate Growth engine Leading [DATA GAP]
7 Data Lake Engagement (takes/week) Product engagement Leading Yes (backend)
8 Active Subscriber Count (net change) Growth engine Lagging (1-mo) Yes (Stripe)
9 MLB Active Account Count Enterprise anchor Lagging Yes (CRM)
10 Cash Runway (months at current burn) Financial health Lagging Yes (liquidity model)

3. KPI Definitions and Formulas

KPI 1: Net Revenue Retention (NRR)

Definition: Of software ARR from 12 months ago, what percentage is retained today including expansions and excluding new logos?

NRR = (ARR from existing cohort at Month T) / (ARR from same cohort at Month T-12)
      × 100

Where: existing cohort ARR at T = prior ARR - churned ARR + expansion ARR (upsells/upgrades)

Why this matters: NRR > 100% means the existing customer base grows itself without new sales. NRR < 80% means the business is leaking water faster than it can add it. For a company aiming at Series A, investors will ask for this first. [source: industry benchmark]

Current estimated NRR: ARR grew from $500K (Oct 2024) to $674K (Sep 2025) = +35% gross growth rate. [source: customer-segments.md] But this includes new logos. True NRR is depressed by 47.7% Pro churn. Estimated current NRR: 70–80% — below acceptable SaaS benchmarks (>90%). January 2026 churn improvement (62% reduction vs Jan 2025) suggests NRR is improving. [source: canonical-facts.yaml, pro_churn]

Benchmark: Top-quartile B2B SaaS: 120%+. Acceptable floor: 90%+. [source: industry benchmark] SC current: ~75% (estimated). [source: analyst estimate] [DATA GAP]: Exact NRR requires cohort tracking not yet documented.


KPI 2: Monthly Software ARR (with MoM delta)

Definition: Annualized run rate of recurring software subscription revenue. Calculated as:

Software ARR = (Sum of all active subscription MRR) × 12

MoM Delta = (ARR_this_month - ARR_last_month) / ARR_last_month × 100

Segment by tier:

Current baseline: ~$1.3M software ARR (2025E estimated from pitch deck). [source: fullswing-bundling-model.md] Target: $1.5M by Q3 2026 under base case scenario. [source: use-of-funds.md — M4 milestone]


KPI 3: Gross Revenue Churn Rate (by tier)

Definition: Percentage of ARR lost from existing subscribers due to cancellation or downgrade in a given period.

Gross Churn Rate (monthly) = MRR churned in month T / MRR at start of month T × 100

Annual Gross Churn Rate = 1 - (1 - Monthly Churn Rate)^12

Segmented by tier: Home, Pro, Pro+. Pro monthly subscribers vs. annual subscribers must be tracked separately — they churn at 2–3x the rate. [source: customer-segments.md]

Current benchmarks:

Tier Annual Churn Monthly Churn Benchmark Status
Home 35.5% [source: customer-segments.md] 3.6% [source: analyst estimate] 10–20% B2C SaaS [source: industry benchmark] RED
Pro 47.7% [source: canonical-facts.yaml] 5.1% [source: analyst estimate] 15–25% B2B SaaS [source: industry benchmark] RED
Pro+ 25.6% [source: customer-segments.md] 2.4% [source: analyst estimate] 10–15% enterprise [source: industry benchmark] YELLOW

KPI 4: US Invoiced Revenue (MTD)

Definition: Total value of invoices issued to US customers month-to-date in USD. Tracked at the rep level (Seath Lauer golf, Tucker Nathans baseball).

US Invoiced MTD = Sum of all USD invoices raised to US entities in current calendar month

Current run rate: $182K in March 2026 (vs. $179K in February). [source: business-kpis.md] The 2026 target is approximately $220–250K/month to hit $2.7–3.0M/year from US alone (55% of a $5.5M total at 73% NA mix). [source: analyst estimate based on canonical-facts.yaml] [DATA GAP]: Month-by-month 2025 US invoiced data not in KB to establish trend line.


KPI 5: Hardware Units Shipped (AxioForce + Studio Systems)

Definition: Count of physical units shipped per week/month, segmented by product line.

Monthly Units = Count of shipping events for:
  - AxioForce Dual Force Plate sets
  - Studio camera systems (new installations)
  - Balance plate / pressure plate orders

Current baseline: AxioForce: first 4–8 units shipped March 2026; target 4 sets/week. [source: critical-context-updated.md, item 19] Studio systems: tracked via Sofie Nygaard order fulfillment. [DATA GAP]: Historical monthly unit counts not available in KB.

Why this matters as a leading indicator: Hardware shipments trigger (a) one-time hardware revenue and (b) software subscription starts within 30–60 days of setup. Hardware volume is the leading signal for software ARR 60 days hence.


KPI 6: Free Trial → Paid Conversion Rate

Definition: Percentage of free trial starts that convert to a paid subscription within 30 days.

Conversion Rate = (Paid conversions in period / Free trials started in period) × 100

Current data: 9 paying customers from free trial since March 9 ($2,794 total). [source: business-kpis.md] Trial start count is not documented. [DATA GAP]: This is the most critical missing metric. Without trial count, conversion rate cannot be calculated. Instrument this immediately — it drives all funnel optimization decisions.

Benchmark: B2B SaaS free trial conversion: 5–25% (depending on length, friction, product complexity). SC's 10-day no-credit-card trial accessing Pro tier is best practice. Target: >15%. [source: industry benchmark]


KPI 7: Data Lake Engagement (Swings/Takes Per Week)

Definition: Total new "takes" (swing recordings) added to the data lake per week. Proxy for active product usage.

Weekly Takes = New takes indexed in data lake in the past 7 days

Current baseline: 2.13M total takes; +22K/week current rate. [source: canonical-facts.yaml, data_lake_takes] 38,276 athletes, 1,381 contributors. [source: critical-context-updated.md, item 20]

Why it matters: Takes per week is a proxy for platform stickiness. A subscriber who records 0 takes in 60 days is a churn risk. Subscribers averaging >10 takes/week are high-retention. [DATA GAP]: Per-subscriber engagement data (takes per subscriber per week, segmented by tier) would enable cohort churn prediction.


KPI 8: Active Subscriber Count (Net Change)

Definition: Total active software subscribers at end of period, net of new additions and cancellations.

Net Subscriber Change = New subscribers - Churned subscribers

Subscriber Count (end of period) = Subscriber Count (start) + Net Change

Milestone: 2,000+ reached January 12, 2026. [source: canonical-facts.yaml, subscriber_count] Target: 2,500 by end of 2026 under base case.


KPI 9: MLB Active Account Count

Definition: Number of MLB franchises (out of 30) with at least one active Swing Catalyst installation and software subscription.

Current baseline: 22 active (23 ever; Brewers lost to Bertec). [source: canonical-facts.yaml, mlb_team_count] Target: 24+ by end of 2026.

Why it matters: This is the headline enterprise metric used in investor conversations. It signals product-market fit at the highest spending tier in baseball. Every new MLB team is a logo + ~$60K hardware + $3K ARR. [source: analyst estimate based on business-kpis.md]


KPI 10: Cash Runway (Months)

Definition: At current monthly burn rate, how many months of operating cash remains.

Cash Runway = Current Cash Balance / Average Monthly Net Cash Outflow

Where: Average Monthly Net Cash Outflow = 3-month rolling average of (cash out - cash in)

Current: ~1.74 MNOK cash as of March 2026. [source: canonical-facts.yaml, cash_position] Monthly burn: approximately 400–500 KNOK/month net (based on downsize model). [source: downsize-to-profitability-model.md] Runway at current rate: 3–5 months. This is the highest-priority alert trigger in the dashboard.

Note: Stripe Capital loan ($250K approved) and SkatteFUNN credit extend this runway. [source: financials.md]


4. Dashboard Layout and Information Hierarchy

Tier 1: CEO / Board View (Weekly Review, 1 Page)

┌─────────────────────────────────────────────────────────┐
│  SWING CATALYST — EXECUTIVE PULSE                        │
│  Week ending: [DATE]                                     │
├─────────────┬──────────────┬──────────────┬─────────────┤
│ CASH RUNWAY │ SOFTWARE ARR │ US INVOICED  │ NET SUBS    │
│  [X months] │  [$Xk ARR]  │  [MTD $Xk]  │  [+/- X]   │
│  [RAG]      │  [+X% MoM]  │  vs target  │  [RAG]     │
├─────────────┴──────────────┴──────────────┴─────────────┤
│                CHURN TREND (Pro + Home, 6 months)        │
│  [Sparkline chart — monthly churn %, by tier]           │
├─────────────────────────────────────────────────────────┤
│  MLB ACCOUNTS: 22/30  │  AXIOFORCE: X units this week   │
│  DATA LAKE: +22K/wk   │  FREE TRIAL CONV: X this period │
└─────────────────────────────────────────────────────────┘

Tier 2: Revenue Team View (Daily, 3 Sections)

Section A — Pipeline: US invoiced MTD vs. target (Seath + Tucker breakout), weighted pipeline by rep, days to close by stage.

Section B — Subscription: New subs today, churned subs today, net change, free trial conversions today.

Section C — Hardware: AxioForce units shipped this week, studio system orders in queue, estimated next shipment dates.

Tier 3: Product / Data Science View (Weekly)

Data lake takes trend, takes per active subscriber (engagement density), geographic breakdown of usage, AxioForce vs. legacy plate usage.


5. Visualization Types by KPI

KPI Visualization Reasoning
Cash Runway Single large number + gauge Urgency requires a glance-readable number; color changes create alarm response
Software ARR Line chart (12-month) + YoY delta Trend matters more than point-in-time; show the trajectory
Gross Churn by Tier Stacked bar (monthly, by tier) Shows both level and mix; seasonal patterns visible
US Invoiced MTD Progress bar vs. monthly target Motivational; shows daily team progress
Hardware Units Column chart (weekly, by product line) AxioForce vs studio visibility; ramp pattern visible
Free Trial Conversion Funnel chart + trend line Funnel shows where drop-off occurs; trend shows if improving
Data Lake Takes Area chart (weekly, cumulative overlay) Cumulative shows moat-building; weekly shows current velocity
Net Subscribers Waterfall chart (new – churned = net) Waterfall makes new vs. lost immediately transparent
MLB Count Number with sparkline Static count + history shows momentum
NRR Semi-annual cohort heat map Revenue retention by cohort vintage reveals early churn vs. late churn

6. Alert Thresholds (Green / Yellow / Red)

KPI GREEN (Healthy) YELLOW (Watch) RED (Act Now)
Cash Runway >6 months 3–6 months <3 months
Software ARR MoM growth >+3% 0–3% Negative
Pro Annual Churn Rate <35% 35–45% >45% (current ~47.7%)
Home Annual Churn Rate <25% 25–35% >35% (current ~35.5%)
US Invoiced MTD >$200K $150–200K <$150K
AxioForce units shipped >15/week 5–15/week <5/week
Free Trial Conversion >15% 8–15% <8%
Data Lake Takes/week >30K 20–30K <20K
MLB Active Accounts >24 22–24 <22
NRR (quarterly) >100% 85–100% <85%

Alert delivery: CEO receives Red alerts immediately via Slack notification. Yellow alerts appear in weekly summary email. Green = no notification (silence is the signal).


7. Drill-Down Structure

Layer 1: Executive Headline

Single RAG per KPI. One page. No exceptions.

Layer 2: Trend Drill-Down

Click any KPI → 12-month trend line with annotations for key events (price changes, product launches, sales hires, competitor moves).

Layer 3: Segment Drill-Down

For churn: tier breakdown (Home vs Pro vs Pro+), subscription type (monthly vs annual), geography (US vs APAC vs EU).

For revenue: rep breakdown (Carl vs Seath vs Tucker), channel (direct vs distributor vs webshop), product line (hardware vs software).

Layer 4: Cohort Analysis

Monthly cohort survival curves for subscribers. Which cohorts churn fastest? Which months had the worst retention? Essential for identifying root causes.


8. Filter and Segmentation Options

Dimension Options
Tier Home, Pro, Pro+, MLB/Enterprise, OEM
Geography US, APAC, EU, Other
Channel Direct (US), Direct (International), Webshop, Distributor, OEM
Subscription Type Annual, Monthly
Time Period MTD, QTD, YTD, TTM, Custom
Sport Golf, Baseball, Multi-sport

9. Comparison Framework

Actuals vs. Budget

2026 budget target: NOK 62.7M sales revenue. [source: financials.md] Monthly budget is approximately 5.2 MNOK/month. [source: analyst estimate based on financials.md] Display:

Period-over-Period

SaaS Benchmarks

Metric SC Current SaaS Median Top Quartile
Annual Revenue Churn (B2B) 47.7% (Pro) [source: canonical-facts.yaml] 10–20% [source: industry benchmark] <5% [source: industry benchmark]
NRR ~75% (est.) [source: analyst estimate] 100–110% [source: industry benchmark] 120%+ [source: industry benchmark]
CAC $603 [source: business-kpis.md] ~$500 [source: industry benchmark] ~$200 [source: industry benchmark]
LTV/CAC (Pro, 47.7% churn) ~1.1x [source: analyst estimate] 3x [source: industry benchmark] 5x+ [source: industry benchmark]

[DATA GAP]: LTV calculation requires confirmed CAC by tier and confirmed ARPU by tier. Current CAC ($603.25) is blended across all tiers. [source: business-kpis.md] Pro tier CAC is likely $800–1,200; Home tier is likely $200–400. [source: analyst estimate]


10. Refresh Frequency Recommendations

KPI Refresh Source System Owner
Cash Runway Weekly (Monday) Liquidity model GSheet Erlend
Software ARR Daily Stripe Marcus Guedes (automated)
Gross Churn Weekly Stripe Marcus Guedes (automated)
US Invoiced MTD Daily HubSpot / billing Seath, Tucker
Hardware Units Daily Ops/Sofie Sofie Nygaard
Free Trial Conversion Weekly Stripe Marcus / Frida (or replacement)
Data Lake Takes Weekly Backend API Daniel Groos
Net Subscribers Daily Stripe Marcus (automated)
MLB Accounts Monthly HubSpot Tucker
NRR Monthly (end of month) Stripe + ARR model Marcus / Erlend

11. Tool Recommendation

Current tech stack (confirmed): NetSuite ERP (live Feb 2026), HubSpot CRM, Stripe payments, Zendesk support. [source: identity.md, financials.md]

Recommended stack

Option A: Stripe + Metabase (immediate, low cost)

Option B: Stripe + HubSpot + Looker Studio (free, integrated)

Option C: Stripe + HubSpot + NetSuite → Fivetran → BigQuery → Looker (Series A standard)

Immediate recommendation: Use Option B (Looker Studio). It is free, Marcus already owns HubSpot/NetSuite integrations, and it can be built in 2–3 weeks. It provides 80% of the value at 0% of the cost of Option C. [source: analyst estimate]


12. Exact Formulas and Calculation Definitions

ARR Calculation (Stripe-based)

-- Active subscriptions only (status = 'active' or 'trialing')
SELECT
  SUM(
    CASE
      WHEN interval = 'month' THEN amount * 12
      WHEN interval = 'year'  THEN amount
      ELSE 0
    END
  ) / 100 AS arr_usd
FROM stripe_subscriptions
WHERE status IN ('active', 'trialing')
  AND cancelled_at IS NULL

Gross Churn Rate (MRR-weighted)

-- Monthly calculation
SELECT
  DATE_TRUNC('month', cancelled_at) AS churn_month,
  SUM(mrr_at_cancellation) AS churned_mrr,
  LAG(SUM(mrr_at_cancellation)) OVER (ORDER BY DATE_TRUNC('month', cancelled_at)) AS prior_mrr,
  (churned_mrr / NULLIF(prior_start_mrr, 0)) * 100 AS gross_churn_pct
FROM subscription_events
WHERE event_type = 'cancellation'
GROUP BY 1

Cash Runway

Runway_months = Cash_balance / ABS(Avg_monthly_net_cash_outflow_3mo)

Where: Avg_monthly_net_cash_outflow = (Cash_T - Cash_T-3) / 3
  If result is positive (company cash-flow positive): display "Cash flow positive"
  If result is negative: display months remaining

Net Revenue Retention (NRR)

NRR = (Starting ARR cohort - Churned ARR from cohort + Expansion ARR from cohort)
      / Starting ARR cohort × 100

Track quarterly: Compare Q1 2026 cohort ARR at Q1 2027 vs Q1 2026 baseline

LTV / CAC Ratio

LTV = ARPU / Annual Churn Rate
     = ($600 Pro avg) / 0.477  [source: canonical-facts.yaml, identity.md]
     = $1,258 per Pro subscriber  [source: analyst estimate]

CAC = $603.25 (2024, blended) [source: business-kpis.md]

LTV/CAC = $1,258 / $603 = 2.1x (BELOW the 3x benchmark for healthy SaaS)  [source: analyst estimate]

Target to reach 3x:  [source: analyst estimate]
  Option A: Reduce churn to 35% → LTV = $1,714 → LTV/CAC = 2.8x (almost)
  Option B: Increase ARPU to $800 avg → LTV = $1,677 → LTV/CAC = 2.8x
  Option C: Reduce CAC to $420 → LTV/CAC = 3.0x at current ARPU/churn