Executive overview
Loading...
◉Key performance indicators
Loading KPIs...
↗Trends
Visit trend — daily
Actual vs target · VW_COMBINED_TARGETS
New patients vs target
Daily trend
Active patients
Distinct patients with a checked-out visit · VW_FILTERED_VISITS_2025
Avg visits per patient
Depth of care · FCT_PCR_EVENTS
Utilization
Network/area rate · unaffected by "By clinic"
No-show & cancellation
Network/area rates · unaffected by "By clinic"
Patient Continuity Rate (PCR)
Event-based · FCT_PCR_EVENTS
Lost patients (PCR)
Lapsed past the 7-day continuity threshold · line = lost while on hold · FCT_PCR_EVENTS
◷Month-to-date pace vs full-month target
Per-clinic estimate detail
VW_ESTIMATE_VISTIS · current month only — not affected by the date range above
Clinical quality & patient experience
CSAT · visit depth · Google · reviews · surveys · retention · patient roster
✚Experience KPIs
Loading...
★Review & survey collection
Survey & Google review collection per clinic
Survey target = 50% of visits · Google target = 30% of new patients
Loading...
Need improvement — Surveys
Negative Google reviews (≤3 stars)
↺Retention & drop-off
Patient drop % by visit count
V_PATIENT_DROP_CHART · new patients
Avg visits per patient — monthly trend
Distinct visits ÷ distinct patients seen that month · FCT_PCR_EVENTS
Retention cohort — 1st / 5th / 10th / 15th
Weak 1st = operations · weak 5th/10th/15th = marketing or case-mix · benchmark 40%+
⛚Patient Continuity Rate (PCR) — by therapist
Did each therapist's patients come back within 7 days?
PCR = (active − lost) ÷ active, counted per distinct patient · source FCT_PCR_EVENTS · a lapse counts in the month of the 7-day threshold, so “August” covers visits ≈ Jul 25–Aug 24 · visit 13+ in a case is exempt
Loading PCR…
PCR % by therapist · line = Can Be Seen (hold-forgiven) · click a bar to drill in
PCR trend · network · last 6 months
Where each therapist's active patients landed · retained + forgiven + lost = active · the amber band is the gap between the two PCR lines
PCR summary · click a row to drill into that PT's patients · click a header to sort
Therapist patients
Continuity events that lapsed · most recent first
▤Patient roster
Patient status summary roster
Sorted by visits asc · highlighted = no upcoming appointment
Visits:
–
Loading roster...
Operations & efficiency
Visits · new patients · utilization · schedule distribution · traffic
Weekday
Loading...
↗Volume & targets
Visit count & new patients — daily trend
V_CLINIC_DAILY_KPIS
Utilization — daily trend
Actual vs 90% target · V_CLINIC_DAILY_KPIS
⚙Utilization & capacity by hour
Utilization % per hour
V_UTILIZATION_HOURLY · SUM(scheduled units) / SUM(available units) across period
Avg units per hour
VW_HOURLY_UNIT_STATS · checked-out vs expected (CO + no-show) per hour
⚠Hourly risk patterns
No-shows & cancellations by hour
Unit-weighted rate % per hour · VW_HOURLY_UNIT_STATS
No-show risk by hour
ML model · very-high risk count + avg probability · NOSHOW_SCORES_DAILY
▦Wasted hours & staffing efficiency
Wasted hours — staff worked vs visit-driven demand
V_CLINIC_WASTED_HOURS_DAILY · sequential fill PT→PCC→PTA→Aide · demand = visits ×110% · idle ≥1h · cost PT $55 / PTA $30 / PCC $18 / Aide $18
Loading wasted hours...
Wasted hours by clinic (stacked by role)
Daily wasted hours trend
▤Per-clinic detail
Clinic utilization & visit targets
Loading...
Patient access & scheduling
Cleared · cancellations · no-shows · likelihood · frequency · direct access · confirmations
Loading...
▷Upcoming appointments
Tomorrow's book vs target
WEBPT_UPCOMING_VISITS (status “Other” = still on the books) vs VW_COMBINED_TARGETS
Loading upcoming...
Booked vs target — next 7 days · only days with a published target · the fall-off to the right is lead time, not lost demand
Tomorrow by clinic · thinnest book first · click a header to sort
✆Appointment confirmations
Confirmation pipeline
CONFIRMATION_SHEET · SMS first, calls only when needed
Loading funnel...
SMS status mix
All appointments — campaign response
Post-call outcome
Only rows where a call was attempted
Confirmation × attending
The leaky pipe — confirmed but didn't show up
Confirmation breakdown by clinic
Funnel-stage counts + show rate among confirmed
Daily confirmation & show rates
% confirmed vs % attended per day
◫Engagement & frequency
Visit frequency segments
V_VISIT_FREQUENCY_WEEKLY
Attendance likelihood segments
V_PATIENT_LIKELIHOOD · anchored to last appt before yesterday
↪Direct access
Direct access % — daily trend
V_DIRECT_ACCESS_DAILY · benchmark ≤5%
Direct access — visit count per patient
Informational · engagement depth · no alarm
⚠Cleared, cancellations & no-shows
Cleared without upcoming — trend
SUM(cleared_no_upcoming_count) ÷ SUM(cleared_no_upcoming_total) · daily KPIs
Cancellation & no-show reasons
Reason contribution breakdown
No-show risk forecast
ML model output · NOSHOW_SCORES_DAILY
Loading prediction KPIs...
⏱Risk distribution
Risk by hour
Very-high count + avg probability per hour
Risk tier × clinic
Stacked by VERY_HIGH / HIGH / MED / LOW
◎High-risk patients
High-risk patient list
Top 200 by no-show probability · sorted DESC
Diagnostic module
Clinic Location Score · 5-category model
Loading location scores...
Network category matrix
Every clinic scored 0–100 per category · ranked worst-first · click a row to inspect · hover a score for the real numbers behind it
CriticalGreat
Scoring clinics...
Scoring reference — how the Location Score is calculated
5 equally-weighted categories (20 pts each) · Location Score ≥ 95 = Great · 90–94 = Good · 85–89 = Stable · 80–84 = Monitor Closely · 70–79 = Need Attention · < 70 = Critical
| Metric | How Calculated | Target | Weight | Score Formula |
|---|---|---|---|---|
| FINANCIAL PERFORMANCE 20 pts of the composite | ||||
| Visit Target % | Actual visits ÷ Target visits × 100 | 100% | 70% (14 pts) | Direct % of target, capped at 100 |
| Avg Revenue / Visit | Mean expected insurance payment per visit (unmapped insurance excluded) | $73 | 30% (6 pts) | 100 − 7 pts for each $1 below target |
| OPERATIONAL EFFICIENCY 20 pts of the composite | ||||
| Utilization % | Actual visits ÷ Staff capacity × 100 | 95% | 40% (8 pts) | Value itself is the score, capped at 100 |
| 48-Hour Target % | Booked for the day after tomorrow ÷ that day's target × 100 | 120% | 30% (6 pts) | Direct % of the 120% target, capped at 100 |
| Confirmation % | Confirmed appointments ÷ Total appointments × 100 | 65% | 15% (3 pts) | Direct % of the 65% target, capped at 100 |
| No-Show % | No-show count ÷ Total appointments × 100 | ≤ 15% | 15% (3 pts) | 100 if ≤15%, else 100 − % over threshold ÷ 15% |
| PATIENT ENGAGEMENT & MARKETING 20 pts of the composite · always the current calendar month (month-to-date) | ||||
| New Patient % | New patients ÷ New-patient target × 100 | 100% | 40% (8 pts) | Direct % of target, capped at 100 |
| High-Frequency Visits % | Active patients with >2 visits in any single week ÷ active patients × 100 | 15% | 30% (6 pts) | Direct % of the 15% target, capped at 100 |
| Active Patient Growth | This month's active patients ÷ last month's × 100 | 100% | 30% (6 pts) | 100 if ≥100%, else −5 pts per 1% short (not floored at 0) |
| CLINICAL PERFORMANCE & CONTINUITY 20 pts of the composite · FCT_PCR_EVENTS | ||||
| Clinical Staff PCR | PCR "can-be-seen" rate — forgives patients on hold at the threshold | 100% | 50% (10 pts) | Value itself is the score, capped at 100 |
| Clinic PCR | PCR strict rate — every lapse counts, including holds | 90% | 50% (10 pts) | Value itself is the score, capped at 100 |
| COMPLAINTS & NEGATIVE REVIEWS 20 pts of the composite | ||||
| Google Review Target | Reviews collected ÷ target (30% of new patients) × 100 | 100% | 30% (6 pts) | Direct % of target, capped at 100 |
| Negative Reviews (≤3★) | Count of Google reviews rated 3 stars or below | 0 | 30% (6 pts) | Hard 0 if any occurred, else 100 |
| Satisfaction % | CSAT numerator ÷ CSAT denominator × 100 | 98% | 25% (5 pts) | Hard 0 if below 98%, else 100 |
| Survey Collection % | Surveys collected ÷ target (30% of attended visits) × 100 | 100% | 15% (3 pts) | Direct % of target, capped at 100 |
How it rolls up: each metric scores 0–100, metrics weight-average into their category's 0–100 score, and the 5 categories average together (equal weight, 20 pts each) into the overall Location Score. Every metric score is capped at 100 — overachieving a target never inflates the composite past it.
Alert center
3-tier variance alarms · previous vs current · V_ALERT_EVALUATION
Active alerts — all clinics
Ordered by severity · variance from benchmark
Loading alerts...
AI
Intelligence Assistant
Live · answering from your Snowflake data
Answers are computed live from your data · Enter to send · Shift+Enter for a new line
Question library
Click any question — answered instantly from live data
User management
Admin only
Active users