Year-over-Year
Overlay multiple years to spot seasonal patterns and growth trends.
Overview
Compare metrics month-by-month across multiple years on a single chart. Access from Dashboard > Reports > Year-over-Year.
This page documents what each tab measures and how. For shared rules, see How report calculations work.
What this report shows
Four metrics, each with its own tab. Each year is rendered as a separate color-coded line so you can see how the current year is tracking against prior years month by month. Growth rates compare each month to the same month in the prior year.
The report covers every year of data your location has — no date range filter — so freshly-started locations will see fewer years on the chart.
The four metrics
1. Bookings Created
Funnel-volume metric: how many bookings did you make in a given month?
- Counts: every booking except Draft. Canceled bookings are intentionally included — they represent demand that came through the funnel, even if it didn't convert.
- Date axis: bookings grouped by
CreatedAt.Year/CreatedAt.Month. - Reading the chart: a Bookings Created line rising year over year means more demand is reaching you. If conversion is dropping (Bookings Created ÷ Bookings Serviced widens), look at the Operations report's Cart Conversion section.
2. Bookings Serviced
Operational-throughput metric: how many bookings actually happened in a given month?
- Counts: Confirmed and Pending only.
- Date axis: bookings grouped by
StartDateUtc.Year/StartDateUtc.Month— by service date, not creation date. - A multi-day booking spanning two months counts in the month its
StartDateUtcfalls in.
3. Revenue
Business revenue earned in a given service month.
- Counts: same as Bookings Serviced — Confirmed and Pending only.
- Date axis:
StartDateUtc.Year/StartDateUtc.Month(service date). This deliberately matches Bookings Serviced so the two lines on the chart represent the same cohort of bookings. - Formula: sum of
GrandTotal − TipAmount(business revenue, tip-free) for those bookings.
Note: this differs from the Revenue Report, which groups by booking creation date. The YoY report uses service date because YoY analysis is usually about operational throughput across calendar periods — "how did April 2026 compare to April 2025 in terms of service delivered?" — not booking-curve behavior.
4. New Customers
Customer-acquisition metric.
- Counts: every customer record at your location.
- Date axis:
Customer.Date.Year/Customer.Date.Month— the month the customer record was created.
Growth Rates
For every month in every year that has a prior-year counterpart, the report calculates a growth percentage:
growth% = (current_year_value − previous_year_value) / previous_year_value × 100Edge cases:
- If the previous year's value is zero and the current year's is non-zero, growth shows as 100% (cannot compute a true percentage from zero).
- If both years are zero, growth is 0%.
Filters
- Activities — narrow to specific activities (applies to all four metrics).
- Sources — filter by booking source (applies to Bookings Created / Serviced / Revenue, not New Customers).
There is no date range filter on this report — it intentionally shows every year of data.
Reading the data
- Both lines moving up together — healthy growth. Demand and throughput scaling.
- Bookings Created up but Bookings Serviced flat — conversion problem. Check the Operations report.
- Bookings Serviced up but Revenue flat — ASP is dropping. Check pricing, discount usage, or shift to lower-tier products.
- A specific month underperforming year over year — look for what changed (weather, marketing campaign timing, competitor activity, staffing outage).
