Back to blog

Strategy

Trip completion rate: the metric that synthesizes rejections, cancellations, and unserved demand

The trip completion rate converts into a single number the combined effect of driver rejections, passenger cancellations, and expired requests. When it falls below 85%, the operator is losing demand that already reached the platform.

8 min readEquipo Cabgo · Mobility platform
Isometric illustration of a floating diagnostic panel above a violet urban grid. The panel displays a circular gauge divided into a large teal sector labeled 88% completed trips and a small red arc split into three segments: amber for passenger cancellations, orange for multiple rejections, and rose for no driver available. Below, three urban block clusters connected to the panel by colored lines: the amber cluster shows a nearby driver with a cancellation X badge, the orange cluster shows multiple overlapping rejection badges, and the rose cluster has an empty placeholder with a question mark instead of a driver. In the foreground, a weekly trend panel with a line dropping below the 85% dotted threshold line and a red alert indicator.

In a regional ride-hailing operation receiving 300 daily requests, the most relevant question about business health is not how many requests arrived: it is what fraction of them turned into a completed trip. The trip completion rate — the ratio of completed trips to unique requests in a given period — is the metric that synthesizes into a single number the combined effect of driver rejections, passenger cancellations, and requests that expire without being served. In operations with aligned fleet positioning and coverage zones calibrated to available driver density, the weekday completion rate sits between 88 and 94% of requests received. Below 85%, the operator is systematically losing demand that already reached the platform — demand that generated a trip intent but produced no revenue for the driver or the operation. That loss does not appear in the daily trip total, which always shows only what completed; it only becomes visible when that number is compared against the requests that attempted to become trips.

This article is for the operator receiving 150 to 500 daily requests who knows their completed trip count but lacks a clear reading of what fraction of actual demand they are capturing or why that number varies week to week. It covers how to calculate the completion rate in a way that is diagnostic — separated from volume variations — what normal ranges look like in regional markets and when values signal a specific operational problem, what the three components of uncompleted demand are and how to distinguish them in available data, how the geographic and temporal profile of lost trips points to specific causes, what interventions correspond to each component, and how the agent can track this metric weekly and alert when it drops before demand loss turns into passenger loss. The completion rate does not measure satisfaction: it measures how efficiently the operation converts arriving demand into actual revenue. When it falls, the direct consequence is passengers who tried to use the platform, could not, and have reasons not to try again.

The completion rate: what it measures exactly and how to calculate it without distortion

The completion rate is calculated by dividing the number of completed trips by the number of unique requests that entered the system — including those rejected by drivers but eventually accepted, those the passenger canceled before or after acceptance, and those that expired without any driver taking them. The correct denominator is the total trip intents that activated the assignment system, not the total trips assigned to any driver. The agent query to build that metric: 'For the last 28 days, show me the total unique trip requests that entered the system, total completed trips, the percentage of requests that resulted in a completed trip, and the three states of uncompleted requests: canceled by the passenger before pickup, expired due to all available drivers rejecting without successful reassignment, and expired without acceptance due to no driver available within the assignment radius.'

There is a common error in how operators read this number that distorts diagnosis. The completion rate varies with total volume: during high-demand periods — weekend peaks, special events, holidays — the rate can fall even if the operation is functioning equally well, simply because demand temporarily exceeds available capacity. To make the metric comparable across weeks, it needs to be calculated by day type — Monday through Thursday, Friday and Saturday, Sunday — and by two-hour slots within each day, not as a global period average. An operator who averages the Friday night rate — which may be 80% — with the Tuesday morning rate — which may be 93% — into a single 86% loses the information about which specific condition is producing the deficit. The global completion average is a summary indicator; the breakdown by day type and slot is the diagnostic instrument.

Normal ranges and when the number signals an operational problem

In operations receiving 150 to 500 daily requests with six or more months of history, the observed ranges in cities of 150,000 to 600,000 residents in Mexico and Central America group into three bands. The first band, between 90 and 95% completion on regular weekdays, corresponds to operations with good supply-demand alignment: the coverage zone matches available driver density, the rejection rate is below 14%, and median wait time does not exceed 6 minutes during peak slots. The second band, between 83 and 89%, signals a localized problem producing systematic losses without critical failure: a zone with a high rejection rate, an uncovered time slot gap, or an elevated passenger cancellation rate during the highest-demand windows. The third band, below 82%, indicates the operator is losing more than one in five arriving requests — a level that erodes the passenger base because someone who requests twice unsuccessfully within the same week has a high probability of testing an available alternative.

The cost of uncompleted demand has two components that are rarely calculated together. The first is direct lost revenue: if the average trip generates 85 MXN gross revenue and the operation receives 300 requests with an 84% completion rate, the 48 uncompleted requests represent roughly 4,080 MXN in daily revenue that reached intent stage but did not convert to billing. Over 26 business days, that amounts to more than 106,000 MXN in half-captured demand. The second component is the implicit acquisition cost: every passenger who does not complete a trip has some probability of not returning. In regional markets where the acquisition cost of a new active passenger can range from 120 to 250 MXN — combining advertising, first-ride discounts, and onboarding operational cost — losing an already-active passenger to a completion failure is more expensive than the lost trip revenue alone.

The three components of uncompleted demand and how to separate them

The completion rate aggregates three distinct phenomena into a single number, and each has a different cause, a different temporal and geographic distribution, and a different intervention. Separating the three is the step that turns the summary metric into actionable information. The first component is passenger cancellations: requests that a driver accepted but that the passenger canceled before being picked up. The most common cause is the wait time after acceptance. A passenger who accepts and sees the driver 11 minutes away has a 3 to 4 times higher probability of canceling than one who sees 4 minutes. This component is sensitive to driver-passenger distance at assignment time — which in turn depends on coverage density in the zone and the assignment radius configured in the platform. When passenger cancellation is the dominant component of uncompleted demand, the underlying problem is usually insufficient supply density in a zone or time slot, not weak passenger intent.

The second component is requests that went through multiple driver rejections and expired before any driver accepted them. When a request cycles through 3, 4, or 5 consecutive drivers — the system offers it to the next available one after each rejection — and none accepts within the maximum assignment window, the system closes it as unserved. That pattern appears most often in zones with low driver density during lower-availability slots, or in zones with consistently unfavorable destinations that drivers have learned to reject. The third component is requests that expire without the system finding any available driver within the assignment radius: the zone has demand but no active supply at that moment. This is the most direct signal of a coverage deficit in zone or time slot — not driver rejection, but absence of any driver available to receive the request. The three components have distinct origins, and acting on the aggregate without disaggregating leads to interventions that do not address the real cause.

The lost-trip map: how zone and time slot point to the cause

The agent query that disaggregates the three components by zone and time slot: 'For the last 21 days, show me uncompleted requests grouped by cause — passenger cancellation before pickup, expiration from multiple rejections without final acceptance, and expiration due to no driver within the assignment radius — and by origin zone and two-hour slot. For each zone-slot-cause combination, show the count of uncompleted requests, the percentage of total requests in that combination, and the median wait time of requests that did complete in that zone and slot during the same period.' The result produces a map of where and when the operation loses demand, which cause predominates, and what relationship that loss has to the wait time of trips that did complete. A zone with high passenger cancellations and a completed-trip median wait time of 9 minutes has a different diagnosis from one with expiration due to no driver and a low wait time: the first signals inadequate positioning in that slot, the second signals complete absence of coverage.

The most common pattern producing completion rates below 85% in operations receiving 200 to 400 daily requests is not a uniform problem across the entire operation: it is a problem concentrated in two or three zone-slot combinations that account for 60 to 70% of all uncompleted demand. In practical terms: of the 48 daily uncompleted requests in an operation with an 84% completion rate and 300 requests, between 30 and 35 of them concentrate in the same zones and slots week after week. That concentration is why reading the global rate without disaggregating it leads to ineffective interventions — such as adding more drivers in general, when the problem is localized in two specific time slots where driver presence drops for identifiable and correctable reasons.

Which intervention corresponds to each cause of uncompleted demand

Each cause of uncompleted demand has an intervention that acts directly on its root. The correspondence between cause and intervention is what makes disaggregating the three components operationally useful: applying the wrong intervention to the wrong component produces zero result or makes it worse.

  • **Passenger cancellations dominant in a specific zone-slot**: the cause is high post-acceptance wait time produced by excessive driver-passenger distance at assignment. The intervention is adjusting the assignment radius in that zone during that slot so the assigned driver is closer to the pickup, or communicating in advance to drivers that the zone has concentrated demand so they position before the peak. If the wait time of completed trips in that zone exceeds 8 minutes, the problem is supply density, not radius.
  • **Expiration from multiple rejections without final acceptance**: available drivers see the request and reject it. The intervention is identifying whether the rejection is due to origin distance — inadequate radius — or an unfavorable destination — the trip ends in a zone with no return demand. If the destination is the cause, the intervention is communicating the estimated income from those trips with post-trip positioning context so the driver can evaluate whether the reposition is worth it.
  • **Expiration due to no available driver**: no drivers are within the assignment radius during that slot. The intervention is direct coverage: communicate that slot as a high-availability window to drivers in adjacent zones, or review whether maintaining active coverage in that zone during that slot makes sense with the current driver density.
  • **Simultaneous mix of all three components in the same zone-slot**: signal of a structural coverage problem. The zone does not have enough active drivers to handle its demand, simultaneously producing rejections, cancellations from long waits, and expirations from absent supply. In that case the priority intervention is increasing active driver presence in that zone and slot before any radius adjustment or demand communication.
It took me six months to realize my operation had a problem with trips not completing. I was only looking at the total daily trip count and comparing it month over month. One day the agent generated the breakdown of total requests versus completed trips and I saw I had an 81% completion rate. In concrete terms: out of 270 requests on a typical day, 51 were not becoming trips. Sixty percent of those 51 were passenger cancellations in the eastern zone between 7:00 and 9:30 a.m. — the passenger requested, saw the driver 13 minutes away, and canceled. We adjusted the assignment radius in that zone for that window and started communicating it as a high-demand slot to drivers. The rate climbed to 89% in three weeks, without changing the fare or adding drivers.
Operator with three years of operation in a city of 350,000 in Veracruz, Mexico

How the agent monitors completion and detects drops before they impact retention

The weekly completion diagnostic query: 'For the last 7 business days, show me the global completion rate compared to the previous week and to the three-week average. Then show me the five zone-slot combinations with the lowest completion rate this week. For each: current completion rate, prior-week rate, primary cause of non-completion — passenger cancellation, multiple rejection, or no driver available — and the count of unique requests in that combination.' That query produces two readings: if the global rate fell, the five-worst-combinations read indicates whether the drop is systemic — multiple zones and slots deteriorating simultaneously, generally from a demand increase without a matching supply increase — or localized — one specific combination with an unusually high volume of uncompleted demand.

To automate the tracking: 'Every Monday before 9:00 a.m., compare the completion rate from the previous week against the three-week average. If the rate dropped more than four percentage points, generate a summary with: the rate for each of the last four weeks, the non-completion component that increased most in absolute terms — passenger cancellations, multiple rejections, or no driver available — the two zone-slot combinations with the largest increase in uncompleted demand versus the three-week average, and the estimated revenue that demand would have generated if it had completed.' That summary turns the completion drop into actionable information: the operator who receives it on Monday knows how much revenue was lost the prior week, which cause drove it, and in which zones and slots, and has five business days to correct driver positioning, high-demand window communication, or assignment radius configuration before the following week reproduces the same loss.

The trip completion rate is the metric that converts zone, time slot, and rejection analyses into an integrated diagnostic of operation performance. An 85% rate is not an abstract number: it signals that 45 out of every 300 requests that reached the platform left without producing revenue, and that some fraction of those 45 passengers will not request again. The difference between an operation that raises that rate to 91% and one that leaves it at 85% is not having more drivers: it is knowing which zone, which slot, and which component is producing the loss, and applying the right intervention to that specific cause using data that already exists in the platform.

The operator who reviews the completion rate weekly — by day type, zone, and time slot, disaggregated into its three components — has access to a revenue improvement lever that requires neither changing fares nor growing the active fleet. The 48 daily uncompleted requests in an operation with 84% completion are not irrecoverable demand: in most cases, between 60 and 75% of them have an identifiable and correctable cause within the same week. The monthly query that produces the full completion map by zone and slot, the weekly summary of the five worst-performing combinations, and the Monday automated alert when the rate drops are three instruments that turn a summary indicator into an action plan. The revenue that is not generated when a request arrives and does not complete is the most accessible revenue in the entire operation: the demand was already there.

Topicstrip completion rate ride-hailing regional operationuncompleted demand taxi app regional platformpassenger cancellations ride-hailing requestsexpired requests no driver available taxi platformdemand capture efficiency regional mobilityride-hailing operation diagnostic key metricstrip completion zone time slot driver availability