ResytechResytech Docs
Reporting & Analytics

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 StartDateUtc falls 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 × 100

Edge 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).

On this page