Octane Executive Dashboard

Daily Business Pulse

Scenario · month 18 8 systems synced · 4m ago Thu, Aug 20 2026
AI Morning Briefing Generated 6:02 AM · 12 sources

August is pacing +14.2% ahead of July, but PT capacity is the ceiling — and it's been pinned above 90% for six straight weeks.

  • Demand is up and converting. New patients +18% quarter over quarter, driven almost entirely by baseball arm-care search in the north-west suburbs.
  • The schedule is the constraint. New-eval wait has gone 4.2 → 9.6 days since June, and 22 requests last month never got booked at all.
  • Recovery and cages have the opposite problem. Plenty of open capacity outside peak — Saturday afternoons are running at 31%.
Two decisions this week
  1. Start recruiting a fourth PT — 10–14 weeks to productive, so it has to start now.
  2. Put something in Saturday afternoons — team rentals are the fastest fill.
Read the full briefing

New-patient demand is up 18% quarter over quarter, driven almost entirely by baseball arm-care search in the north-west suburbs. The clinic is converting that demand well, but the schedule can't absorb more of it: average wait for a new evaluation has more than doubled since June, and 22 requests last month never got booked. Recovery and cages have the opposite problem — plenty of open capacity outside peak hours. The two moves that matter this week are starting the recruit for a fourth PT, and putting something into Saturday afternoons.

Prompt EMR Mindbody Stripe QuickBooks Google Ads / GA4 Skedda (cages)

Today at a glance

What the AI is flagging

Revenue by week — all service lines

Rolling 12 weeks, in dollars.

Weekly revenue 4-week trailing average

Revenue mix — month to date

Where the $187,420 came from.

Provider capacity & productivity

PT schedule utilization vs. hiring trigger

Share of available PT treatment hours that are booked, by week. Octane's rule: four straight weeks at or above 85% opens a hiring req. It has now been nine.

Below trigger — room in the schedule At or above trigger 85% hiring trigger
High utilization isn't bad on its own — it means providers are busy and revenue per provider is strong. The cost of running above the trigger shows up elsewhere: new-patient wait rose 4.2 → 9.6 days, 22 requests went unbooked, and there's no slack left to absorb cancellations or acute cases.

Where the PT hours go

Booked treatment hours this week by work type, across the three PTs.

116 hours booked · 3 providers
Return-to-sport is the only category not scope-locked to a PT. Roughly 6 of those 24 hours could move to the performance coach, who is sitting at 64% utilization.

Provider scorecard

ProviderDisciplineUtilizationVisits / wkNew pts / wkRev / provider (MTD)Cancel rate
AI note: Two of three PTs are above 95% utilization while the sports-performance coach sits at 64%. Roughly 6 hrs/week of return-to-sport work could shift from PT to coaching without a scope problem — that buys about three weeks before the hire has to land.

Schedule integrity

Case mix — trailing 90 days

Cases by body region

De-identified aggregate counts from the EMR. No patient-level detail leaves the system of record.

Population split

Share of all cases. The last two overlap the first three.

Referring physicians

Referral sourceSpecialtyCases (90d)QoQAvg visits / caseRevenue

Clinical signals

Membership & recurring revenue

Recurring revenue and member base

Last 12 months. Two measures, two scales — shown as separate plots on a shared timeline.

Monthly recurring revenue
Active members

Patient → member funnel

Trailing 90 days.

Marketing — where the next dollar goes

Channel / campaignSpend (MTD)LeadsBookedConv.CACRev / patientROAS
AI recommendation: Baseball-intent search in the 60004/60005/60074 ZIPs converts at 11.4% at a $61 CAC. Generic "physical therapy near me" converts at 2.1% at $284. Moving 30% of the generic budget into baseball intent is modeled at +9 new patients/month for the same spend — but hold this until the PT hire lands, or it just lengthens the wait list.

Facility utilization by hour

Every bookable hour, last 30 days

Share of capacity used across PT rooms, cages, recovery suite and open floor. Hover a cell for detail.

0% 100% Saturday 1–5 PM is the single largest block of unsold time.

Equipment & asset performance

AssetUtilizationSessions (30d)Turn-awaysRevenue (30d)Contribution marginAI verdict

Capital decisions modeled

Connected systems

Every platform Octane buys needs one thing: a way to get the data out — a live API where possible, a scheduled export where not. Both feed the same warehouse; the API ones just arrive sooner. This is the single hard requirement when evaluating EMR, scheduling, billing and membership vendors.

How the data moves

Buy
Systems of record
Layer 1
  • EMR & documentation
  • Scheduling
  • Billing & claims
  • Memberships
  • Payments
  • Accounting
  • Marketing & ads
Build
Ingest & normalize
Layer 2
  • API pulls + webhooks
  • Nightly file drops
  • PHI stripped at the edge
  • Every record tagged by location
  • Retry / replay queue
Build
Warehouse & metrics
Layer 3
  • De-identified aggregates
  • One shared definition per metric
  • Full history retained
  • Audit log on every read
Differentiator
AI insight engine + this dashboard
Layer 4
  • Anomaly & trend detection
  • Threshold alerts (hiring, churn, capacity)
  • Payback / ROI modeling
  • Plain-English daily briefing
HIPAA / PHI posture: the EMR stays the system of record for anything patient-identifiable. This dashboard only ever receives counts, percentages and dollar figures — no names, no chart notes, no diagnosis codes tied to a person. That keeps the reporting layer out of scope for most PHI risk while still answering the business questions.
Multi-location by design: every row lands tagged with a location ID from day one. Adding Locations 2–4 is a configuration change and a new set of credentials — not a rebuild. The same briefing then runs per location and rolled up.

Day-1 data capture checklist

DataSource systemWhy capture it nowUsed at launch?