How to reduce deadhead miles

Cut the unpaid, empty miles between rides with smart $/mi and zone filters and a staging strategy that keeps you near demand.

Thortok's in your inbox today to help you beat deadhead miles, so more of your time behind the wheel actually pays. Before we get into it, take two minutes for our newsletter survey. It tells us what you want to read, so we can write about the stuff that actually helps you.


When I first started ride-share driving, I had a very specific kind of stress. It was the “I am not getting paid right now” stress. I am out here, in my car, on a hot summer day, driving around, burning gas, earning nothing at all. And it was all deadhead driving.

Deadhead driving is every minute you aren’t paid, and every mile you drive that isn’t paid. 

Between minutes and miles, it’s the miles that matter more: they’re a finite resource with a cost. It’s your gas and your Cost Per Mile (CPM). If your overall earnings of $/mi, once you factor in deadhead miles, come to less than your CPM? Well then you’re just paying people for the privilege of driving them. Not where you want to be.

Use Mystro’s free Cost Per Mile Calculator to figure out your deadhead miles.

This guide covers how to cut that unpaid time and distance as much as possible using two things: smart filtering and a staging strategy.

What is deadhead driving?

I find that one of the best ways to think about deadhead driving is actually how insurance companies break down gig driving. They break it into three main categories:

  • P1 (Waiting for a trip)

  • P2 (On the way to pick-up)

  • P3 (Picked up; on the way to drop-off)

So, all of P1 is pure deadhead driving: any time spent driving while you're waiting for a trip. There’s also some deadhead to consider in the P2 category: while you're on your way to pick up your next rider. (And while the apps won’t track it, you should also keep in mind your ‘offline deadhead’ too, like bathroom breaks or when driving back home when you’re done).

“Wait, P2 is paid, isn’t it?” I hear you ask. Well, sort of. Upfront pricing (which is how most markets work nowadays) is typically based on the P3 part of the trip, with some surges or bonuses that may make the P2 part of the trip worth it when you (or Mystro) calculate the total $/hr or $/mi for the trip. But what if the trip cancels before pickup? You don’t get paid the whole thing; you just get paid a cancellation fee. And sometimes not even that, if not enough time or distance has passed.

And here’s another sneaky thing a lot of drivers don’t know about P2: Let’s say you get stuck in traffic and it takes you 5 or even 10 minutes longer to pick up the passenger than the original estimate. You are not paid an adjustment for that. The gig platforms will only make adjustments for any delays that occur during the trip (the P3 part). This can quickly turn what was originally a good $/hr or $/mi offer into a bad one if long delays or detours are required in the P2 phase.

So this is what we’re going to try to avoid: Miles you drive (and to some extent, the time that you drive or idle) that you don’t get paid for. Let’s start:

Filter the deadhead out of your rides

How does filtering help with reducing deadhead? It amounts to asking this question when you see an offer: Where is that trip going to land you?

In life, it may be about the journey, but in gig driving, it’s about the destination.

The majority of your driving is going to be:

  • In a slow area, going into a busy area, or

  • In a busy area, going into a slow one.

If you’re really lucky, you’ll grab the juicy ones of “busy to busy.” And if you’re really unlucky, you’ll grab “slow to slow.” Both of those are pretty rare, though.

So the goal for reducing deadheading with your filters is to keep you in the “going to a busy area” range and only take the “going to a slow area” when it is profitable enough to make up the difference.

There are two types of filters that you can use in Mystro to achieve this.

The first way, which is a bit simpler, is to use zone filters. With zone filters, you can specify “I want to drive here, not there.” You can set up whether you want to accept (or avoid) pickups and/or dropoffs in certain places. Remember that auto accept processes before auto reject, so if you want the rides you accept filtered by zone, it needs a zone filter in the auto accept section, not just in the auto reject section.

You’d want to set your zones to exclude the areas that are too far away from the busy, surge-prone areas, and open to anywhere that you prefer to drive and get good offers in on a regular enough basis.

The second way you can filter for ‘staying in an area’ is to use Pickup Distance (or time) and keep it relatively small. You can apply a similar filter (if needed) to Trip Distance (or time) as well. I like to keep my Trip Time under 40 minutes, so I don’t automatically accept a ride that will take me very far away. (I don’t auto-reject though, so I can manually make a decision in those cases.)

Filtering by time/distance (especially for the pickup side of things) keeps you from long, drawn-out P2 situations. Depending on traffic in your market (and the time of day), this can save you from extended delays or detours in your P2 (which, remember, you do not get paid for). It also dynamically works regardless of where you are, in case you don’t mind roaming through various areas and don’t want to limit yourself to specific zones.

If you drive at different times of the day, you may want to create multiple filter sets so that you can be less strict about zoning when times are busy and then swap to filters that are more strict about avoiding the dead areas when they’re more likely to be dead.

How to decide when to move, and when not to

Another question I found myself asking a lot when I first started driving is that good old song lyric: Should I stay or should I go?

A ride ends, and you’re in the middle of a cul-de-sac in some suburb. Sit there? Move out? Head back to town? Or just stop at the nearest gas station?

Over time, you know what I learned? This question doesn’t really matter. Just head back to your staging ground.

A staging ground is a place that very frequently surges, ideally one of the first to surge and last to stop surging. So you don’t need to spend any time checking maps or cross-referencing other drivers, and it doesn’t even matter if your staging ground is surging right now. If not now, then probably soon, right? So just go there. Predict the surge!

The math pretty much always works in your favor: First off, if it’s so busy you already have a ride queued anyway, then the question doesn’t even get asked. Even if a ride doesn’t queue up, busy areas will start tossing offers at you before you move any meaningful distance anyway, so there’s basically no risk in starting to move.

The math works out even more if it’s not busy in your area. Because if it’s not, your next ride is more likely to come from an area that’s busier than where you are now. If you’re already heading that way, then any movement you made before getting the offer (P1) effectively is just shrinking your P2; you were heading to the offer the entire time, even before you got it. The amount the offer pays is basically the same whether you sat like a statue and waited for it or you were already moving towards it.

The real trick is if you think about the final scenario. What if you stayed and waited? If your area is busy, that’s no loss, but what if it’s slow? By not moving towards where your next offer is likely to come from, you lower your chances of actually getting that offer. In this case, moving towards the busy area has zero risk, but waiting always has that potential risk.

The U-turn effect is the one time this backfires: you drive toward a busy area, then take an offer that sends you back the way you came for the pickup. When that happens, just check that the offer pays enough to be worth the backtrack, though your pickup and zone filters often catch it for you. It's rare anyway, so heading toward your staging area after every ride is still the right move.

So mathematically it works out to “always default to heading towards a busy area after every ride.” Your staging point(s). Inaction carries a real opportunity cost, whereas moving toward a staging ground carries negligible downside.

What you really want to avoid when it comes to deadhead miles is indecision and waffling. Going here, there, back and forth, wandering around, and chasing surges. That is where your deadhead miles will really start to pile up. This is why finding your staging point(s) is important, so that you confidently know that you positioned yourself the best you could, and so you can then make your decision from there: keep patiently idling, or go home.

Rideshare filter FAQ’s 

How high do I set my filters?

Increasing the $/hr and/or $/mi of your filters will lead to a direct increase in your per-ride profits. Being exclusive to specific zones you know are busier, and adding other restrictions to the offers you want to accept, lead to indirect earnings or other benefits like peace of mind.

But the more restrictive your filters are, the fewer offers you will accept and the fewer rides you will complete.

So for max overall earnings, you want to hit the ‘sweet spot’ of that bell curve where your per-ride earnings multiplied by your number of rides tops out at the maximum takeaway.

Finding the right time of day and the right staging grounds so you can run your filters as high as possible while staying busy is basically the whole game.

What does that sweet spot look like in action?

Are you getting queued rides? How quickly after finishing one ride do you get another? What’s your dead time?

The sweet spot is basically getting your filters as high as you can to the point that you still aren’t getting any deadtime. Your rides are still queuing and you’re staying busy.

In fact, if your rides are queuing up, you might be leaving money on the table. Filters that are set low will happily grab the first-seen cheaper rides instead of waiting for potential later-seen better-paying ones. If offer density is so high that you’re queuing up, it’s worth considering stepping back and being a bit more picky.

You ideally want to tweak your filters just high enough that you can decline as many mid-ride offers as you need to (hands-free with Mystro!) but still have a good one accepted and queued before your current ride ends; taking only the best. Your current offer density will be a major factor in how safely you can be picky.

If your ride ends without a queued ride ready, but you still get a ride that passes your filters very quickly after, you’re still in a pretty sweet spot. The ideal (for a shift-working strategy) is to just barely stay at the point where you are still in the queue.

What if I'm getting too few rides?

If you’re inundated with offers but your filters aren’t accepting any, to the point that you get more than halfway back to your staging ground and have declined several offers and there are no good ones, then the current demand (for your time and area) is too low for your filters. You can either loosen your filters to reflect this, or find a different time/area to drive.

Alternatively, if you just aren’t getting many offers at all in the first place, that’s not a filter issue. But your choices are basically the same: Loosen your filters to try to grab the few offers that are happening, or find a different time/area to drive. In this case though, I would say you’re probably better off calling it and finding that different time/area instead of adjusting your filters.

If you do loosen your filters, never let your $/mi filter go below your CPM. When you check your history in Mystro, if your $/mi for your ‘Online’ time (which includes your dead time), is not sufficiently above your CPM, then you aren’t making money; you’re losing it.

Is there an easier way to swap my filters?

Constantly tweaking your filters individually every time demand waxes or wanes is too much. Instead, create some filter sets in Mystro that you can easily swap between based on things like whether you are getting queued rides or not, whether you’re far from your staging area or not, different times of day, and any other scenarios you want to have preset filters for.

For instance, you can be looser with your zone filters during times of day when it’s busy everywhere, but then switch to a stricter filter set that cuts out the dead areas when things slow down.

How does extreme cherry picking work?

In this article, we cover the ‘standard shift’ type of offer evaluation and avoiding deadtime to maximize not just your booked $/hr but also your ‘online’ $/hr, factoring in your dead time. Hitting that ‘sweet spot’ of the bell curve mentioned above, and aiming for the ideal of ‘maximum profits, zero downtime.’

But there are other strategies out there that you might be able to make work for you. One way is to make your filters extremely high and just sit at home ‘on call’ all day, chilling and watching Netflix. You’d have to pause your binge any time a “can’t miss” offer comes in that’s extremely valuable, go drive it, come home, and resume your binge.

Some people make lots of money that way, but it means sacrificing a work/life balance for it. The money you make while actually driving will be very high, but the cost is the “drop what you’re doing and go drive” applying around the clock the rest of the time. You might wind up getting only one offer every 3+ hours that way. Your ‘downtime’ will be through the roof.

Your total earnings may wind up being higher. But the cost is in ‘working’ and being ‘on call’ for a far bigger window than the standard shift workers.

Not to mention, this is not a good ‘on the road’ strategy. Sitting for seven hours just to do one ride for $70 doesn't help much if you burn a whole shift idling in the summer heat to get it. But if your home is near enough to demand, so that you can spend the massive amounts of ‘down time’ at home or doing something else productive, you might be able to make this work.

There’s other strategies out there too, find what works for you!

Use Mystro to pick the rides you actually want across all the gig apps you use.

Make sure your earnings beat your cost per mile

This amounts to “don’t spend more than you make” in math form. Let’s break it down.

First, get a good sense of what your vehicle actually costs to drive. Mystro’s Cost Per Mile Calculator is a way to understand the actual cost of driving.

Let’s say your CPM is 50 cents per mile. In general, you’d want to make more than $1/mi, so that if you drive out 10 miles (for $5), you earn $10 to cover the $5 cost to come back home again. That results in zero profit, though, so you’d probably want to have more than $1/mi, so you make some profit. But the catch is the higher you raise your $/mi filter, the greater the chance that you get fewer rides total.

But also, not every trip is literally from home and back to home with a 1:1 of deadhead miles to booked miles. You’ll hopefully queue up multiple trips back and forth all over the place. If you do a 10-mile trip, then another one, then another one, that’s 30 miles without any deadhead driving. And it may only be 10 miles to get home from that last stop. So at that CPM of 50 cents per mile, that is $15 you spent booked and still $5 to get home after. The total cost was $20 for 40 miles.

If your cost is $20 for 40 miles, then having a $1/mi filter on and having each of those trips pay more than $1/mi means you earned $30+ and got $10 in profit. This avoids the catch from before: You didn’t have to go higher than $1/mi, but you’re still getting profit just fine.

That was a lot of numbers. Let me summarize and make it easy for you: The less deadhead driving you do, the more your $/mi earnings will profit you. You then have the option to either increase your $/mi filter (increasing your per-ride earnings, but lowering total ride count), or lower your $/mi filter (get more rides, but lower your per-ride earnings). Whichever helps you get closer to the sweet spot at the top of the bell curve.

If you find yourself doing a lot of deadhead driving (the main example being that you get all the way back to your staging point and idle there), you probably don’t even have to do the math at that point to realize that your overall $/mi with that deadhead driving factored in is getting dangerously close to or below your CPM.

But since you’re sitting there idling anyway, check the math and see what your $/mi for the day is. In the history section in Mystro, look at your $/mi stats for the ‘Online’ time (not just the booked one). The difference between that and your CPM is going to be how profitable the miles you’ve driven today have been so far.

If you notice you're consistently getting near or below your CPM, you need to make a change. Either loosen your filters, find a different staging point, or find a different time to drive.


If your numbers keep landing near or below your CPM, that's your signal to change something: loosen your filters, pick a better staging ground, or drive at a different time. Small moves, but they're the difference between paying to drive and getting paid to.

Got a topic you want us to cover, or one you'd like to write yourself? Tell us in our newsletter survey.

Thortok2000

About the author

Thortok2000 has been driving rideshare with Mystro for about a year in Greenville SC when not busy playing video games or building a time machine.