Reports
Intelligence Performance Cards
Reference guide to every analytics card on the Intelligence Dashboard, what each measures, where its data comes from, and what to do when a card is empty.
Last updated 19 May 2026
A reference guide to every analytics card on the Intelligence Dashboard, what each card measures, where its data comes from, and what to do when a card is empty.
TL;DR
- Performance cards break down revenue trend, booking volume, service mix, staff, payments, operations, and growth across the Intelligence Dashboard
- Performance cards require PRO; FREE venues see an explanatory locked preview
- A missing card almost always means no activity in the selected date range, expand the range before assuming a bug
- The date picker at the top of Intelligence controls what all cards show simultaneously
Overview
The Intelligence Dashboard organises performance cards into sections:
- Performance: Revenue Trend, Booking Volume, Weekly Forecast
- Revenue Anatomy: Service Breakdown ("What's Making Money"), Staff Performance ("Your Team")
- Financial Controls: Payment Method Mix, Commission
- Operations: Backfill Recovery, Deposits, Waitlist, Gift Cards
- Growth & Retention: Communications, Upcoming Series Appointment Value, Portfolio
Note
All performance cards require a PRO subscription. FREE users see an explanatory locked preview with an upgrade path.
Performance Section
Revenue Trend
An area chart with gradient fill showing revenue over the selected date range.
| Detail | Value |
|---|---|
| Chart type | Area chart |
| Granularity | Daily data points |
| X-axis | Dates formatted as "MMM d" (e.g., "Mar 25") |
| Y-axis | Revenue in venue currency |
| Hover tooltip | Full date (weekday, month, day) + revenue amount |
| Empty state | "No revenue data for this period" |
| Data source | reportData.revenueTrend (from reports.getData) |
Revenue includes only bookings with status confirmed, completed, or arrived.
Booking Volume
Booking records are grouped into completed, still-open, cancelled, no-show, and other outcomes. Still-open bookings include pending, confirmed, arrived, ready-to-start, and counter-offered appointments, so they are not described as completed.
| Detail | Value |
|---|---|
| Granularity | Daily, weekly, or monthly periods |
| Primary checks | Disruption rate, highest-disruption period, outcome coverage, and peak booking volume |
| Responsive detail | Compact cards on narrow web screens and expandable native rows |
| Empty state | "No bookings in this period" |
| Data source | Booking records from reports.getData |
Revenue Anatomy Section
Service Breakdown , "What's Making Money"
A horizontal bar chart showing each service ranked by revenue.
| Detail | Value |
|---|---|
| Chart type | Horizontal bar chart |
| Data shown per row | Service name, revenue amount, booking count, % of total revenue |
| Bar scaling | Proportional to highest-revenue service (minimum 4% width) |
| Ordering | Ranked by revenue (highest first) |
| Limit | All services with bookings are shown (no cap) |
| Total | Displayed at the top of the section |
| Empty state | "No service data for this period" |
| Data source | reportData.serviceMix (from reports.getData) |
Staff Performance , "Your Team"
Staff contribution based on appointment-date billable value.
| Detail | Value |
|---|---|
| Measures | Appointment value, attributed appointments, average value, contribution share, and attributed service time |
| Attribution | Checkout-level service staff overrides take precedence over the booking's original staff assignment |
| Average comparison | Requires at least three attributed appointments per staff member |
| Capacity boundary | Attributed time is shown; roster utilisation and lost capacity remain in Hourly Performance |
| Responsive detail | Staff cards on narrow web and expandable native rows |
| Historical staff | Inactive staff with selected-period contribution remain visible as Former staff |
| Empty state | "No staff performance data" |
Financial Controls Section
Payment Method Mix
Payment Method Mix shows recorded payment value, refunds, net payments, and the gross-value share of each tender in the selected venue-local ledger-date period.
| Payment method | Description |
|---|---|
| Cash | Cash payments |
| Card (terminal) | Physical card terminal transactions |
| Tap to Pay | Tap to Pay on iPhone/Android |
| Online | Online card payments |
| Gift card | Gift-card balance redemptions |
| External card | Card payments recorded through an external terminal |
| Detail | Value |
|---|---|
| Report totals | Gross recorded payments, recorded refunds, and net payments |
| Method mix | Each method's gross payment value divided by gross payment value across all methods |
| Staff split | Each method's share of a staff member's attributed payment count, not payment value |
| Period | Venue-local ledger recorded date; the standalone report accepts an exact range up to 365 days |
| Exclusions | Reauthorisations, forfeits, failed attempts, and unattributed payments from the staff split |
| Empty state | "No payment activity in this period" |
| Data source | analytics.getPaymentMethodBreakdown + analytics.getPaymentMethodByStaff |
Use Open till close to reconcile cash and terminal totals. Refund-only periods remain visible even when there is no gross payment mix.
Commission
Performance metrics for staff commission earnings.
| Metric | Description |
|---|---|
| Total Commission | Total commission earned in the period, with trend % vs prior period |
| Top Earner | Staff member with the highest commission + amount |
| Retail Share | Percentage of total commission attributed to retail sales |
| Detail | Value |
|---|---|
| Heading | "Commission" |
| Period label | "Last 7 days" / "Last 2 weeks" / "Last 30 days" |
| Full report link | "View full report →" (navigates to commission page) |
| Empty state (no rules) | "Set up commission tracking..." + "Set up commission" link |
| FREE tier | Lock icon + "See which team members are growing their earnings..." + "Unlock with PRO" |
| Data source | commission.getCommissionSummary |
See Commission Tracking for setup instructions.
Operations Section
Backfill Recovery
Metrics on revenue recovered through the Backfill outreach system.
| Metric | Description |
|---|---|
| Outreach Sent | Number of backfill SMS/email campaigns sent |
| Bookings Recovered | Campaigns that resulted in a booking |
| Estimated Revenue Recovered | Revenue from recovered bookings (shown only if > 0) |
| Conversion Rate | (Bookings recovered ÷ outreach sent) × 100 |
| Detail | Value |
|---|---|
| Heading | "Backfill Recovery" |
| Period label | "Last 7 days" / "Last 2 weeks" / "Last 30 days" |
| Empty state | "No backfill outreach sent yet. Fill gaps from the calendar to see recovery metrics here." + "View calendar →" |
| Error state | "Unable to load recovery metrics." + "Try again" button |
| Data source | backfill.getRecoveryMetrics |
Deposits
Deposit collection and no-show recovery metrics.
| Metric | Description |
|---|---|
| Gross Captured | Captured deposit value, including amounts later refunded or forfeited |
| Forfeited | Deposit value retained after a no-show or policy outcome |
| No-show Coverage | Share of no-shows with authorised or captured deposit protection |
| Refund Rate | Recorded refund value divided by gross captured deposit value |
| Detail | Value |
|---|---|
| Heading | "Deposits" |
| Period label | "Last 7 days" / "Last 2 weeks" / "Last 30 days" |
| Empty state | "No deposit activity for this period. Configure deposit rules to start collecting automatically." + "Set up deposits →" |
| Setup link | Navigates to deposit rules settings |
| Data source | analytics.getDepositPerformance; the standalone report uses exact venue-local appointment dates |
Waitlist
Waitlist recovery metrics for tracked schedule openings. Recovery reporting is available to owners and managers on all plans; AI coaching remains PRO-only.
| Metric | Description |
|---|---|
| Recovered booking value | Linked booking value for recovered openings. This is not a payment-received total. |
| Estimated missed value | Service price attached to tracked openings that closed without recovery. |
| Recovery rate | Recovered openings divided by all tracked openings, including unresolved openings. |
| Average time to recover | Time from first outreach, or initial tracking when no outreach exists, to the recovered outcome. A no-sample label appears when none qualify. |
The standalone web and native reports use the exact selected venue-local opening period. Both show outcome counts, sample-aware recovery checks, a service recovery mix, missed-recovery reasons, and the current recommended action. The deeper native recovery screen adds dimension switching, opening drill-down, and optional PRO AI coaching.
| Detail | Value |
|---|---|
| Heading | "Waitlist Recovery" |
| Date basis | Opening start date in the venue timezone |
| Empty state | Explains that no tracked openings fall in the selected period and offers the waitlist path |
| Data source | analytics.getWaitlistRecoveryOverview and analytics.getWaitlistRecoveryBreakdowns |
Gift Cards
Gift card sales, redemption, and expiry metrics.
| Metric | Description |
|---|---|
| Outstanding | Total unredeemed gift card balance (headline number) |
| Sold | 30-day sales value with trend % vs prior period, plus source split ("X POS · Y online") |
| Redeemed | 30-day redemption value with trend % |
| Redemption Rate | Lifetime percentage of issued value that has been redeemed |
| Detail | Value |
|---|---|
| Heading | "Gift Cards" |
| Period label | "Last 7 days" / "Last 2 weeks" / "Last 30 days" |
| Expiring alert | Yellow badge "X expiring soon" if any cards expire within 30 days |
| View link | "View gift cards →" |
| Empty state | "Issue your first gift card to see performance analytics here." + "Go to Gift Cards →" |
| Error state | "Unable to load gift card stats." + "Try again" button |
| Data source | giftCards.getStats |
See Gift Cards for setup instructions.
Growth & Retention Section
Campaign Performance
Selected-period campaign activity plus clearly separated current operational checks.
| Metric | Description |
|---|---|
| Broadcasts | Broadcast campaigns sent in the selected venue-calendar period |
| Recipients | Aggregate targeted audience; the same client may appear across campaigns |
| Reconnect messages | Successful Reconnect outreach sent in the selected period |
| Linked appointments | Unique appointments explicitly linked from those Reconnect messages |
| Detail | Value |
|---|---|
| Heading | "Campaign Performance" |
| Link | Opens the dedicated Campaign Performance report |
| Empty state | Zero values remain visible with a clear next action |
| Data source | Campaign Performance analytics query |
Anomaly badges appear when issues are detected:
| Anomaly | Badge text | Description |
|---|---|---|
| Campaign gap | "No recent campaign" | No campaign sent in 30+ days + "Re-engage your audience." + "Fix →" link |
| Reconnect disabled | "Reconnect off" | Reconnect automation is disabled + "Activate it to win back lapsed customers." + "Fix →" link |
Current automation state and active inbound conversations are snapshots, separate from the selected period. Linked appointment value is stored appointment value, not payment revenue. Opens and clicks are not available.
See Communications Overview for setup instructions.
Upcoming Series Appointment Value
Stored appointment value for pending and confirmed recurring-series appointments.
| Detail | Value |
|---|---|
| Heading | "Upcoming Series Appointment Value" |
| Period | Next 90 venue-calendar days from the snapshot time |
| Headline metric | Stored appointment value, with appointment count, distinct series count, and confirmed/pending status mix |
| Chart type | Weekly bar list with visible week, value, appointment count, and series count |
| Week boundary | Monday in the location timezone |
| View links | Full report and upcoming calendar |
| Empty state | "No pending or confirmed recurring-series appointments in the next 90 days." |
| FREE teaser | Explains that PRO shows scheduled appointment value for upcoming recurring appointments without describing it as guaranteed revenue |
| Exclusions | Payments, deposits, discounts, refunds, tips, tax treatment, profit, and cancelled or completed appointments are not represented |
| Data source | analytics.getCommittedSeriesRevenue |
See Recurring Series Bookings for setup instructions.
Portfolio Insight
Recorded portfolio engagement and current content coverage.
| Metric | Description |
|---|---|
| Portfolio page views | Raw page-view events in the selected venue-calendar period |
| Booking-start clicks | Selections of “Book This Treatment”; these do not confirm a completed booking or revenue |
| Clicks per 100 views | Booking-start clicks divided by page views; this event ratio can exceed 100 |
| Published images | Current visible, consented, non-deleted images within the venue's plan allowance |
| Active service coverage | Active services with eligible published work, plus an uncovered-service queue |
| Detail | Value |
|---|---|
| Heading | "Portfolio Insight" |
| Sample state | Metrics remain visible below five page views; the optional narrative waits for five views |
| AI narrative | Loads separately so it cannot block deterministic metrics; source and generation time display |
| Actions | "View report" and "Manage portfolio" |
| Data source | analytics.getPortfolioInsight, analytics.getPortfolioInsightNarrative |
Style Match operator triage card
PRO venues with Style Match enabled get an additional card showing recent Style Match session activity: total uploads, average confidence, consultations booked, and a count of low-confidence sessions in the Needs follow-up queue. The card links to the dedicated Style Match dashboard for full triage.
Period Labels
Most cards display a contextual period label in the top-right corner, computed from the selected date range:
| Range | Label |
|---|---|
| 7 days or fewer | "Last 7 days" |
| 8 to 14 days | "Last 2 weeks" |
| 15+ days | "Last X days" |
Tip
The date range is controlled by the picker at the top of the Intelligence page. Changing the date range refreshes all cards simultaneously. PRO users can select 7d, 14d, 30d, 90d, or a custom range up to 365 days.
Troubleshooting
| Issue | Solution |
|---|---|
| A card shows "No data for this period" | The selected date range has no relevant activity. Try expanding the range to 30d or 90d using the date picker at the top. |
| Card is blurred with a lock icon | Performance cards require a PRO subscription. Tap "Unlock Pro Intelligence" to go to billing settings. |
| Commission card says "Set up commission" | No commission rules have been configured. Go to Commission in the sidebar to create rules. |
| Deposits card says "Set up deposits" | No deposit rules exist. Go to Manage → Deposits → Deposit rules to configure automatic deposit collection. |
| Gift Cards card shows "Unable to load gift card stats" | A temporary error. Tap "Try again" to retry. If it persists, check your internet connection. |
| Campaign Performance is locked | Campaign Performance requires PRO. The locked preview explains the available metrics and upgrade path. |
| Portfolio card is not showing | The card only appears when your portfolio has at least 5 views. Share your storefront link to drive more traffic. |
FAQ
Why is a performance card missing from my dashboard?
Most cards self-hide when there is no activity in the selected period. Try expanding the date range using the picker at the top of Intelligence before assuming the card has a problem.
Why does the Commission card say "Set up commission"?
No commission rules have been configured yet. Go to Commission in the sidebar to create rules for your team members.
Why is Campaign Performance locked?
Campaign Performance requires PRO. The report remains discoverable as a locked preview on FREE so it does not disappear or look broken.
Do performance cards require PRO?
Yes. FREE venues see an explanatory locked preview rather than a missing card.