The first fork: per-offer vs by-time
Most of this site assumes per-offer pay: each offer shows a payout (base + expected tip + any promo), you accept or decline, and your hourly rate is whatever your accepted offers add up to. That's the mode where a decline sheet earns its keep.
Earn-by-time modes (DoorDash offers one in many markets) flip the logic: a guaranteed hourly rate — but the clock generally runs only on active time, from accepting an offer to completing it. The waiting between offers is unpaid, which is exactly the time a busy market minimizes and a dead one maximizes. By-time can beat per-offer on a slow night and lose badly on a hot one; the honest comparison is guaranteed-rate × active hours vs your realistic per-offer haul over total hours. Our real hourly page deliberately divides by total working time for that reason.
The second fork: delivering vs shopping
A restaurant order's effort is mostly driving plus a wait at the counter. A shop-and-deliver batch (Instacart, and Spark's shopped orders) is a different job: Instacart's own pay description says batch pay reflects "driving distance, number of items, and expected shopping time." A 3-mile batch with 40 items is a time problem, not a distance problem — which is why our flagship calculator is scoped to restaurant and pickup-ready offers, with a shopping mode planned. Until then, evaluating a shopping batch on miles alone will flatter it badly; the minutes override is your friend.
Stacked and batched offers
Platforms bundle orders — two pickups, two drop-offs, one payout. DoorDash presents these under the same rules as single offers (and gives the same 50-second decision window per its dasher help). The math trap: a stack adds stops, and stops cost fixed minutes the per-mile view can't see. A $14 stack across 8 miles with four total stops can pay a worse hourly than a clean $8 single. Use the minutes override on the flagship until the dedicated multi-stop input ships.
Tips: quoted, hidden, and changeable
The payout on the offer screen typically includes the customer's tip — but platforms may cap what they show, and customers can adjust tips after delivery on some platforms. Two consequences: an occasional pleasant surprise on drop-off, and a reason to treat the offer number as an estimate with upside rather than a contract. Over a full week the noise mostly washes out, which is why per-shift review with the real hourly calculator beats obsessing over any single order.
Promos, surges, and local pay laws
Peak-hour bonuses, streak bonuses, and challenge payouts all raise the effective value of offers during specific windows — they're the strongest argument for running the numbers per-shift rather than assuming a flat rate. Separately, some cities and states set minimum-pay standards for app-based drivers that change the arithmetic entirely in those markets. We deliberately don't publish per-platform dollar figures here: they shift too often to trust on a static page. Structures age well; numbers don't.
Why $/mile still beats $/order
Whatever the platform, an offer is a bid for your miles and minutes. Dollars per order tells you nothing about either; dollars per mile at least prices the driving — and your personal floor ("decline under $X + $Y/mile") prices both the stop time and the miles. That rule travels across every app on this page.