Skip to main content

Dashboard & KPIs

The main dashboard provides a real-time snapshot of your fleet’s financial health, trip performance, and revenue composition. All metrics update based on the selected date range.

KPI Categories

The dashboard organizes metrics into four groups: Financial, Trip, Fleet, and Revenue Streams.

Financial KPIs

MetricFormulaDescription
Host EarningsSUM(total_earnings) from completed tripsTotal income received from Turo
Total ExpensesSUM(expenses.amount) + SUM(maintenance.cost)All tracked costs including maintenance
Net ProfitHost Earnings - Total ExpensesBottom-line profitability
Profit Margin(Net Profit / Host Earnings) * 100Percentage of earnings retained as profit

Trip KPIs

MetricFormulaDescription
Trip CountCount of completed trips with positive earningsTotal completed rentals
Avg Trip EarningsHost Earnings / Trip CountRevenue per trip
Avg Trip DurationSUM(trip_days) / Trip CountAverage rental length in days
Total Trip DaysSUM(trip_days)Cumulative rental days

Fleet KPIs

MetricFormulaDescription
Active VehiclesCount of vehicles with status = 'active'Currently rentable fleet size
Fleet UtilizationTotal Rented Days / Total Rentable Days * 100How often your fleet is booked
Avg Daily RateVehicle Earnings / Actual Rented Days (averaged across vehicles)Revenue per rented day
Active Vehicle RateActive Vehicles / Vehicles With Trips * 100Percentage of fleet that is active
Fleet utilization is calculated per-vehicle from first trip date to today, then aggregated. See Utilization Calculation for details.

Revenue Streams

Each completed trip’s earnings are decomposed into these streams:
StreamSource Fields
Net Rental Pricetrip_price minus all discounts, fees, and taxes
Boostboost_price
Deliverydelivery
Extrasextras
Tolls & Ticketstolls_and_tickets
Late Feeslate_fee + improper_return_fee
Additional Usageadditional_usage + excess_distance
Cleaningcleaning + smoking
Gasgas_reimbursement + gas_fee
EV Chargingon_trip_ev_charging + post_trip_ev_charging
Zero-value streams are automatically hidden from the chart. The dashboard includes a monthly chart showing earnings, projected earnings (from upcoming bookings), expenses, and profit over time. Upcoming and in-progress trips appear as projected values for their end-date month.

Architecture

All KPI calculations are pure functions with no side effects, located in src/lib/kpi/calculations.ts. Data fetching is separated in src/lib/kpi/queries.ts. The useKPIs hook in src/hooks/useKPIs.ts orchestrates fetching and calculation.
useKPIs hook → fetchKPIData() → calculateDashboardKPIs() → render
The main entry point is calculateDashboardKPIs(), which calls each sub-calculator and returns a single DashboardKPIs object containing all metric groups, monthly data, and recent trips.