SERVICE HOURLY YIELD ANALYZER · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Which of your services actually earns money for the hour it takes?

Drop in the booking or sales export from your scheduling app and get revenue per booked hour by service, staff member, weekday and hour of day, the services that earn the least for the chair time they use, what a price change on them could be worth, and what your idle hours cost.

The file is read in this browser tab and never leaves your device. Independent of Square, Acuity, Vagaro, Fresha, Booksy, Mindbody and Jobber: not affiliated with or endorsed by any of them. Figures are estimates from your file and your assumptions.

1. Your export and your assumptions

Needs a start date, a price and a duration (minutes, hours, 1h 30m or 1:30) or an end time. Service, staff and status columns are used when present. Column names are matched by alias and unverified against real exports.

Price-change what-if (your assumptions)

Choose the export file or paste it, then click Analyze bookings.

The model, and what it leaves out

Common questions

How do I find my revenue per hour by service from a Square Appointments, Acuity, Vagaro, Fresha or Booksy export?

Export your appointments or sales list as a CSV with the service, start date, duration (or end time) and price, drop it here and click Analyze. The tool divides the price of each completed booking by its length, adds up the dollars and the hours for each service, and reports dollars per booked hour. A service that takes three times as long has to earn three times as much just to break even with a quick one.

Why is revenue per hour more useful than revenue per appointment?

A $150 colour that holds the chair for 150 minutes earns $60 an hour, and a $45 haircut that takes 30 minutes earns $90 an hour. Ranking services by ticket size hides that. Dollars per booked hour shows which services use your limited hours best and which ones quietly cost you money.

Which bookings are counted?

Completed bookings that have both a readable price and a readable duration or end time. No-shows are shown separately as empty chair time. Bookings cancelled by the client or the business and bookings still open are left out. If the file has no status column, every row is treated as completed.

What does the price-change what-if assume?

You type a price increase percentage and the share of bookings you expect to lose on the flagged low-yield services. The tool applies both to those services' revenue in the file and reports the change. Both numbers are your assumptions, not a forecast, and the freed hours are not assumed to be refilled.

What is the capacity figure?

If you type the hours you are open for bookings each week, the tool compares them with the hours booked per week in the file (attended plus no-shows) and shows idle hours and what one more filled hour a week is worth at your average yield. It ignores breaks, admin time, walk-ins and staff who work part-time, so treat it as a rough gauge.

Is my client and sales data uploaded?

No. The file is read in this browser tab and never leaves your device. There are no accounts, cookies or analytics vendors.

Which file formats and column names does it read?

Comma, semicolon, tab or pipe separated text, including UTF-8 with a byte order mark and UTF-16, with quoted fields. Durations can be minutes, hours, 1h 30m or 1:30, or you can supply an end time instead. Column names and status words are matched by alias and no real Square Appointments, Acuity, Vagaro, Fresha, Booksy, Mindbody or Jobber export was available when this was written; if your file is not read, the message names what was missing.