Your analytics

Sign in after the month is paid. The tool opens empty, under your shop name. Upload your checkout file there.

Sign up

Back to the site

Tangled LLC

Your salon Analytics

Tangled LLC · Full performance tracker
RPLH (Rev / Labor Hr)
$0
Break-even (see Team targets)
Labor % of Revenue
—
Healthy 40–50%
Average Ticket
$0
Rev ÷ clients
Service Revenue
$0
Labor Cost
$0
Paid Hours
0
Billable Hours
0
Utilization
—
Target (see Team)
Clients / Services
0
Retail / Service %
—
Target 10–15%
Txn fees (2.6%)
$0
Processing cost
Day Profit
$0
Stylists today edit hours & production
StylistRate / commSched hrsBillable hrsService $Labor $Util %$/Hr
TOTAL00$0$0——

Service $ is production only (no gratuity). Tips are a pass-through on the Daily inputs card. Labor = hourly pay + commission on Service $ (per Team pay type), plus 7.65% FICA. Daily lists stylists employed on the selected date (Team hire/end). Manage roster on the Team tab.

Daily inputs
Service revenue (net tips)
Client / service count
Retail sales
Tips (pass-through)
New clients today
No-shows + late cancels
Pre-books (rebooked today)
Daily fixed OpEx share
COGS / product cost today
Other variable (fees etc.)
Txn fee rate % (default 2.6)
Card / collected sales for fee $ (blank = service+retail)
Chairs available today
Daily targets: RPLH ≥ break-even (Team tab) · Labor 40–50% · Util 75–85% · Retail 10–15% of service · Pre-book 60%+
Extra daily signals
Pre-book rate
—
Pre-books ÷ clients · target 60%+
No-show rate
—
No-shows ÷ (clients + no-shows)
Rev / chair / day
—
Service $ ÷ chairs available
COGS %
—
Target under 5–8%
New clients
0
First-time visits today
Txn processing fees
—
Default 2.6% of service + retail
Net day margin proxy
—
After labor, COGS, fees, fixed, variable
Most performed
Highest revenue
Best revenue per booked hour
Manage services

Add your service menu here (name, price, booked minutes). Services found in an uploaded checkout CSV are added automatically. Counts on the next table use this list.

NameCategoryPrice $Minutes$/hr ⓘ
Today’s service counts Save Day stores these

Booked Min is the menu time. Actual min is how long it really took (average per ticket today). Save Day stores both so we can suggest menu-time changes.

ServiceCatPriceBooked minActual minCountRev$/hr booked
FROM COUNTS0$0—
Booked vs actual time suggests menu-time changes

Uses saved days in the range above. Enter Actual min on today’s counts, then Save Day. After several tickets, we’ll flag services that routinely run long or short and suggest a new book time (rounded to 5 minutes).

ServiceTickets w/ actualBooked minAvg actualDiff$/hr booked$/hr actualSuggestion
Mix ranking (selected range)
#ServiceCatCount% jobsRevenue% revHours$/hr ⓘ
Revenue & profit by day
Salon RPLH by day
RPLH by stylist (each color = one person)
Daily breakdown
By weekday per average week

Write schedule rebuilds the week from usual days + history (replaces hand edits). Apply note edits the posted week. Easter, July 4, Thanksgiving, Christmas stay closed.

Snaps to Monday.
Used only by Write schedule. Separate from the Utilization target on Team and Daily. Blank = 90%.
Click Write schedule to build the week.

Edit shift

Add employee

Daily revenue & profit
Salon RPLH trend
RPLH by stylist (each color = one person)
Named clients this month from full client names in your CSV

Walk-ins and first-name-only tickets are ignored. Full names (First Last) are stored in this browser when you upload a Checkout Line Items CSV.

ClientVisits this monthFirst seenStatus
Client fields auto-filled from stored names — you can override
Returning clients this month
First-time clients who returned in 90 days (cohort)
First-time clients in that cohort
Active clients (seen in last 12 mo)
Total visits by active clients (12 mo)

Upload a checkout line-items CSV with a client column to store full names and fill these automatically.

By weekday per average week

Quarterly tax set-aside estimate

Estimate only, not tax advice. S-corp owner payroll and state taxes change the real number; check with your CPA.

Monthly revenue
Monthly profit
RPLH by stylist (each color = one person)
Monthly summary
By weekday per average week

Named-client rankings use full client names from uploaded CSVs. Spend = services + retail; tips are never included. A visit = a day with a service (retail never adds a visit).

Top 3 clients by spend (services + retail) this year
#ClientVisitsSpend $Last visit
Top 3 clients by visits this year
#ClientVisitsSpend $Last visit
Pay period settings adjustable biweekly structure

Set biweekly (or other) period length and anchor date. Bonus tiers are based on RPLH = production $ ÷ scheduled hours for the period.

Example: $50 → 10% and $55 → 25%. Add or remove rows as needed. Rates are percent of production (or of overage in progressive mode).

#Min RPLH ($/hr)Bonus rate (%)
Highest tier mode: If RPLH ≥ $55, pay 25% of that period’s production; else if ≥ $50, pay 10%.
Progressive overage mode: $ above ($50×hours) earns 10%; $ above ($55×hours) earns the extra jump to 25% on that top band only.
Pay periods

Save daily stylist hours & production, then Refresh.

Stylist bonus summary (selected lookback)
Stylist Periods worked Periods qualified Qualifying rate Avg RPLH Total production Total bonus YTD wages ⓘ YTD production ⓘ YTD production after wages ⓘ
Targets & assumptions edit behind the scenes

These drive color coding and break-even checks. Utilization = billable hours ÷ scheduled hours. Labor-cover RPLH is wage × (1 + employer burden), drawn on every stylist RPLH chart. Leave cover wage blank to use the most common roster rate; type a wage if pay changes.

These roll into daily, monthly and annual profit. When you save, the yearly total (monthly × 12) is spread evenly over this year's operational days: every day that has a saved record, plus the rest of the year projected at the salon's observed open rate. Days with no record (closed, e.g. holidays) carry $0. Every saved day of the year is updated right away; only its fixed-cost share changes.

Business hours used by Write schedule

Set the hours your salon is open each day. The scheduler covers opening and closing, keeps shifts inside these hours and leaves Closed days unstaffed. Leave a time blank to use the hours found in your booking data.

to
to
to
to
to
to
to
Stylist roster

Add, rename, reorder (↑↓), set hire/end dates and rates. Array order is the Team order used on Daily, Weekly, and Schedule. Hire/end filter who appears on Daily for a given date (blank = always active). Edit weekly availability in the calendar below (active employees only). Guides Write schedule. Saved in this browser.

You can still change each stylist below.
How labor is calculated
Labor $ = (scheduled hours × hourly rate + Service $ × commission %) × 1.0765 (7.65% employer FICA).
Hourly (W-2): commission is 0. · Commission only: hourly rate is $0. · Hourly + commission: both apply. Commission is paid on each stylist's own Service $ for the day (no tips, no retail; refunds/discounts follow whatever your booking export already nets out). Changing a pay type or % re-figures labor and profit on every saved day. Profit = sales − labor − product cost − fixed − other − card fees.
OrderNamePay typeHourly rate $Commission %Employed

Calendar-week view of active employees (started by today; no end date or end ≥ today). Each person has a color. Click a filled cell to mark that day off; click an empty cell (or double-click a filled one) to set start/end. Lightly staffed days show a count badge and a muted column tint (fewer than half of active staff, minimum threshold 2).

Revenue per stylist (from saved days)
StylistHoursProduction $Labor $RPLHUtil %