Ask your whole operation any question. Get the answer as a chart.

A report builder over every trip, payment, quote and discount. Crosstab any two fields, calculate rates per row, compare against last year, and chart it eight ways, down to one driver on one Tuesday.

4 datasets · 207 fieldsCrosstabs and calculated ratesCSV · Excel · PDF · PNG
Try it

Build a report.

Start from a built-in report or make your own. Put any field in rows, columns or panels, pick measures and how to add them up, filter, compare, then switch the chart.

Analytics · ReportsSample data · click around
Start from
Dataset
Group by2 of 2
RowsPickup date
ColsPickup date
Metrics1 of 4
ReservationsCount
Facet by
Small multiples: one panel per value (e.g. per vehicle type).
Filters
Compare to
Sort & limit

This demo carries 13 of Reservations's 55 fields and 25 of its 52 measures. Calculated measures are marked ƒ.

Reservations by pickup date · day of week × pickup date · hour of day

Reservations · Apr 1 – Sep 30, 2026

12a
3a
6a
9a
12p
3p
6p
9p
Mon
Tue
Wed
Thu
Fri
Sat
Sun
LessMore · Reservations
ExportCSVExcelPDFPNGSample data. Field names are the product's.
Under the hood

Granular all the way down.

Every trip, payment, quote and discount code carries the fields below. Group by up to two of them, split by a third into panels, filter on any of them, and measure up to eight things at once.

4datasets: reservations, payments, quote requests and discounts
114fields to filter by, 91 of them to group by
93measures to add up, average or count
17calculated rates, worked out per row
8aggregations, from sum to the 90th percentile
10ways to bucket a date
8chart types, plus tables and crosstabs
24built-in reports to start from
Aggregations
SumAverageMedianMinimumMaximum90th percentileCountDistinct count
Date buckets
DayWeekMonthQuarterYearHour of dayDay of weekTime of dayMonth of year
Group and filter by
When
Pickup dateBooked dateCompleted dateCanceled dateDrop-off date
Who
DriverCustomerCustomer companyCommission partner
What
VehicleVehicle typeTrip categoryTrip typeService typeSharingStatusRecord typeQuote stageBooking sourceReferral sourceRound tripRound-trip legHas stopsPassengersStops
Where
Airport tripPickup kindDrop-off kindAirportPickup airportDrop-off airportAirlinePickup airlineDrop-off airlinePickup locationDrop-off locationPickup time zone
Money
Payment statusPrice sourceTip added byHas commissionDiscount codesHas discount code
Measure
Counts
ReservationsCompleted tripsCanceled tripsScheduled tripsTrips in progressPaid in fullAirport tripsPortal bookingsRound-trip legsTrips with stopsDiscounted tripsTrips with commissionDistinct driversDistinct vehiclesDistinct customersActive days
Money
FareFare + tipsAdditional chargesTotal billCollectedRefundedNet collectedBalance dueCanceled faresKept on canceled tripsAdd-onsDiscountsFare per mileƒFare per hourƒ
Tips
Tips (billed + paid)Tips billedTips paid
Commission
Commission owedCommissionable fareFare after commission
Ops
DistanceDurationDuration (hours)Booked hoursPassengersStopsLuggage piecesLead time
Rates
Cancellation rateƒCompletion rateƒAirport shareƒPortal shareƒPaid-in-full rateƒCollection rateƒCommission rateƒTip rateƒ
How it works
  1. 01

    Pick what to look at

    Reservations, payments, quote requests or discounts, over any period you set, in your company's time zone.

  2. 02

    Shape the question

    Rows, columns and panels from any field; up to eight measures, each summed, averaged, counted or ranked by percentile.

  3. 03

    Keep the answer

    Save it as a report, pin it to your dashboard, or export it to CSV, Excel, PDF or an image.

Crosstabs, heatmaps and small multiples

Put vehicle type down the side and trip category across the top, and every cell is filled in. Read it as a pivot table with totals, a heatmap, or a stacked bar, or split it into one chart per driver.

  • Two groupings at once, plus panels by a third
  • Row and column totals where the measure adds up
  • Hour of day against day of week, in one grid

Calculations, not just totals

Median fare, 90th-percentile lead time, distinct customers. Rates like fare per mile, collection rate and conversion rate are worked out for every row, so the Sprinter row shows the Sprinter's rate, not an average of averages.

  • Sum, average, median, minimum, maximum, 90th percentile
  • Count and distinct count
  • 17 calculated rates across the four datasets

Every field you track is something you can ask about

Airline, pickup airport, booking source, referral partner, card brand, discount code, who recorded the payment. Filter on any field, compare to the period or the year before, keep the top ten and fold the rest into Other.

A dashboard that is yours

Save any report and pin it to the Overview beside revenue, trips, on-time rate and utilization. Resize it, give it its own period, and export the lot when the accountant asks.

Works with

One company, one set of trips.

Every part of Relay reads the same reservations, so nothing is typed twice.

Questions

What can I report on?

Four datasets: reservations, payments, quote requests and discounts. Between them, 114 fields to filter by and 93 measures.

Can I compare two things against each other?

Yes. Group by two fields for a crosstab, read as a pivot table, heatmap or stacked bar, and split by a third into one panel each.

Can it calculate rates and averages?

Yes. Median, 90th percentile and distinct counts on any measure, and 17 calculated rates like fare per mile and conversion rate, worked out per row.

Do I have to build everything myself?

No. Start from one of 24 built-in reports, like Busiest hours or Quote funnel by month, and change it from there.

Can I get it into Excel?

Yes. Export any report to CSV, Excel or PDF, or a chart as an image.

Do canceled trips count toward revenue?

No. A canceled trip's fare leaves your revenue, and its own measures, like Canceled fares, are there when you want them.

Request access

Ready to streamline your operations?

Request access and see how Relay streamlines booking, dispatch, and rider communication for your transportation business.