How to make more money doing food delivery
Most DoorDash, Uber Eats, Grubhub, and Instacart drivers grind 40+ hours a week and still wonder where the money went. The drivers clearing $25–$35/hour aren't faster — they're selective. They know which orders, restaurants, and hours actually pay, and they ignore the rest.
This guide walks through the six levers that move your hourly pay the most. No tricks, no scripts — just the math platforms hide from you.
1. Pick the right hours, not the most hours
Lunch (11am–2pm) and dinner (5–9pm) are when restaurants are slammed, tips are bigger, and surge pricing kicks in. Most drivers earn 60–70% of their weekly pay in 15–20 hours during these windows. Driving 2–10pm and skipping the dead afternoons usually beats a "full" eight-hour shift on $/hour.
Friday and Saturday dinner are the highest-paying windows in nearly every market. Sunday late-morning brunch and Thursday dinner come close. Track your own hours in Dinna and you'll see the pattern in your first week.
2. Know your real $/mile
$/mile is the one number that actually predicts your take-home. Anything under $1.00/mile is usually losing money once gas, insurance, and depreciation are folded in. Most pros target $1.50–$2.00/mile and accept fewer orders to get there.
The platforms don't show you this — they show you the gross payout, which makes a 10-mile $9 order look like a win. It isn't. A 2-mile $6 order pays better.
3. Set a decline floor
Look at the bottom 10% of orders you've taken in the last week. Those are the ones eating your time without moving your hourly pay. The fix is brutal but works: pick a per-mile or per-order minimum and decline anything below it.
Your acceptance rate will drop. That's fine. Pay attention to your $/hour instead — it almost always goes up.
4. Stack pickups (batched offers)
Batched orders from a fast restaurant with close drop-offs pay 10–30% more per hour than solo runs. The trick is filtering: accept stacks from restaurants you already know are quick, decline stacks that drag you across town. Favorite the spots that consistently stack well — they'll show up more often.
5. Track promos and quests separately
Quest bonuses ("40 deliveries by Friday for $120") look generous but only pay out if you'd have done most of those deliveries anyway. Treat the bonus as a kicker, not the plan. If you're forcing low-$/mile orders just to hit a quest, you're losing money to chase a bonus.
Dinna folds completed promo payouts into your $/mile, $/hour, and AOV so you see whether a quest actually moved the needle.
6. Map your zones
Every market has 2–3 zones that out-pay everywhere else — usually dense neighborhoods near apartment buildings, college campuses, or affluent suburbs. Park between pings on the right side of town and you'll skip the empty miles between orders.
Frequently asked questions
What's the fastest way to make more money doing food delivery?
Stop accepting every ping. Track your $/mile and $/hour, set a floor, and decline anything below it. Most drivers see a 15–25% bump in net pay within two weeks of filtering orders.
When are the best hours to drive for DoorDash, Uber Eats, or Grubhub?
Lunch (11am–2pm) and dinner (5–9pm) almost always out-earn off-peak hours. Friday and Saturday dinner are the highest-paying windows in most markets.
Is it worth driving in the rain or bad weather?
Usually yes. Tips go up, surge pricing kicks in, and competition drops. Just factor in slower drive times and the extra wear on your car.
Should I accept batched / stacked orders?
If they come from a fast restaurant and the drop-offs are close, yes — batched orders typically pay 10–30% more per hour than solo runs. Skip stacks with long waits or far-apart drops.
How do I know which restaurants to avoid?
Track average wait time, average tip, and $/mile per restaurant. Any spot with 10+ minute waits and below-median tips is costing you money. A tool like Dinna scores them automatically from your own deliveries.
See your own $/mile, peak windows, and restaurant scorecards — built from your real deliveries.