Money
Daily revenue (this vs prior period)
Prior period = same length immediately before the selected range.
Revenue by source
Walk-in = POS cash/UPI. Online = website booking. Member = reservation + member walk-in.
Revenue by package
Revenue by payment method
Add-on attach rate
% of paid walk-in visits that added rent or L-Guard.
Customers
New vs returning visits (daily)
A visit = one unique phone on one date, regardless of how many sessions.
Visit-frequency distribution
How many customers came 1×, 2×, 3–5×, 6–10×, 11+× in the range.
Top 15 by revenue in range
Top 15 by visits in range
Cohort retention (last 6 acquisition months)
Row = the month a customer's first-ever visit happened. Cell = % of that cohort who came back in month N. Higher = stickier.
At-risk customers (was active, silent 45+ days)
Customers with ≥ 2 visits in the past 6 months, no visit in the last 45 days. Priority list for winback SMS / offer.
Capacity & Utilization
Booking heatmap · lane-slots filled (day × hour)
Each cell = number of 15-min slots filled in that hour on that weekday, summed over the range. Green = busy, dark = empty.
Peak hours (top 5)
Dead hours (bottom 5)
Consider off-peak discounts or bulk-corporate slots here.
Members
Tier distribution
Quota usage (this month)
100% = they've used every day their tier allows this month.
Walk-in → member conversion candidates
Non-member phones with ≥ 4 walk-in visits in the range. Pitch them a tier that matches their frequency.
Operations & Bookings
Session-status mix
Day-of-week revenue
Booking-lead-time distribution (online bookings)
Gap between when a customer paid online and their slot time. Skewed short = last-minute crowd, long = planners.
All metrics computed live from Supabase · Refresh the page for latest · Visit = 1 unique phone × 1 date, regardless of session count