For rideshare drivers, the Uber Acceptance Rate is a critical metric that measures the percentage of trip requests you accept versus the total number of requests sent to your device. Maintaining a high acceptance rate is often necessary to qualify for Uber Pro tiers (Gold, Platinum, and Diamond), which offer perks like trip duration visibility, priority support, and tuition coverage.
How is Acceptance Rate Calculated?
Uber calculates this rate based on a rolling window of your most recent requests. In many markets, this is the last 100 requests, though in some regions it may be the last 200. The formula is straightforward:
(Total Accepted Requests ÷ Total Requests Received) × 100
For example, if you received 100 requests and accepted 85 of them, your acceptance rate is 85%. If you decline or miss a request, your rate drops.
Why Does It Matter?
Uber Pro Status: To unlock Gold, Platinum, or Diamond status, you generally need an acceptance rate of 85% or higher (varies by market).
Trip Information: In many cities, seeing the direction and duration of a trip before you accept it is a privilege reserved for drivers with high acceptance rates.
Promotions: Certain quest promotions or guarantees may require a minimum acceptance rate to qualify for the payout.
Strategies to Improve Your Rate
If your rate has dipped below the threshold for Uber Pro, you need to accept consecutive trips to raise it. Since the average is often a "rolling" metric, a new acceptance will push out the oldest result in your history. However, simply adding new accepted rides to your total count is the fastest way to project improvement.
Can I be deactivated for a low acceptance rate?
Generally, Uber does not deactivate drivers solely for a low acceptance rate. You are an independent contractor and have the right to choose which rides to take. However, a low rate will disqualify you from the Uber Pro rewards program.
What is the difference between Acceptance and Cancellation Rate?
Acceptance Rate is declining a ride before you accept it. Cancellation Rate is cancelling a ride after you have already accepted it. High cancellation rates can lead to deactivation, whereas low acceptance rates primarily affect your rewards status.
function calculateAcceptanceRate() {
// Get input values
var totalInput = document.getElementById('totalRequests').value;
var acceptedInput = document.getElementById('acceptedRequests').value;
var targetInput = document.getElementById('targetRate').value;
var resultDiv = document.getElementById('result');
// Parse values
var total = parseFloat(totalInput);
var accepted = parseFloat(acceptedInput);
var target = parseFloat(targetInput);
// Validation
if (isNaN(total) || isNaN(accepted) || total <= 0) {
resultDiv.style.display = "block";
resultDiv.className = "status-bad";
resultDiv.innerHTML = "Error: Please enter valid numbers for Total Requests and Accepted Requests.";
return;
}
if (accepted > total) {
resultDiv.style.display = "block";
resultDiv.className = "status-bad";
resultDiv.innerHTML = "Error: Accepted requests cannot be higher than total requests.";
return;
}
// Calculate Current Rate
var currentRate = (accepted / total) * 100;
var currentRateFormatted = currentRate.toFixed(1);
// Determine Status
var statusClass = "status-warning";
var statusMsg = "Your rate is average.";
if (currentRate >= 85) {
statusClass = "status-good";
statusMsg = "Excellent! You likely qualify for Uber Pro rewards.";
} else if (currentRate < 70) {
statusClass = "status-bad";
statusMsg = "Your acceptance rate is low.";
}
// Build Output HTML
var outputHtml = "
Current Acceptance Rate: " + currentRateFormatted + "%
";
outputHtml += "
" + statusMsg + "
";
// Logic for Target Rate
if (!isNaN(target) && target > 0) {
if (target > 100) {
outputHtml += "
Target Impossible: You cannot achieve a rate higher than 100%.
Goal Met: You are already above your target rate of " + target + "%.
";
} else {
// Formula to calculate needed consecutive rides
// Desired Rate (R) = (Accepted + X) / (Total + X)
// R(Total + X) = Accepted + X
// R*Total + R*X = Accepted + X
// R*Total – Accepted = X – R*X
// R*Total – Accepted = X(1 – R)
// X = (R*Total – Accepted) / (1 – R)
var rDecimal = target / 100;
// Edge case: if target is 100% and we have any declines, it is mathematically impossible to reach 100% by just adding more rides (limit approaches 100 but never reaches if history remains).
// However, Uber uses rolling windows (last 100). The mathematical projection below assumes a pure average accumulation.
// For pure 100% target with declines:
if (target === 100 && accepted < total) {
outputHtml += "
Note: Mathematical 100% is impossible if you have any declines in your history without the old declines 'falling off' the rolling window. Just keep accepting every ride!
";
} else {
var needed = (rDecimal * total – accepted) / (1 – rDecimal);
var ridesNeeded = Math.ceil(needed);
if (ridesNeeded = check but safety first
outputHtml += "
";
outputHtml += "Strategy to reach " + target + "%:";
outputHtml += "You need to accept the next " + ridesNeeded + " requests in a row.";
outputHtml += "This assumes you do not decline any incoming requests during this period.";
outputHtml += "