Last-mile delivery is the final leg of a parcel's journey: a van leaves a depot, drives to a neighbourhood, stops dozens of times, and comes back. It is where most of the cost of parcel logistics sits, and most of the effort to reduce it goes into the route: which van, which order, which road.
We measured how much of a delivery round the route actually accounts for. For six delivery areas in Madrid, Paris and Amsterdam, we picked real addresses from OpenStreetMap, got the driving time between every pair from our Matrix API, and optimised the stop order. Then we added the time a driver spends looking for parking and at the stop, from two published field studies. On a 30-stop round, driving takes 18 to 29 percent of the time. The rest is spent looking for parking and getting parcels to the door.
What we measured
Each city has two delivery zones: a dense inner district (1 km radius) and a suburban district (2 km radius), both served from a depot point at the edge of the city.
| City | Dense zone | Suburban zone | Depot |
|---|---|---|---|
| Madrid | Chamberí | Las Rozas | Coslada |
| Paris | 11th arrondissement | Saint-Maur-des-Fossés | Gennevilliers |
| Amsterdam | De Pijp | Amstelveen | Westpoort |
- Stops: random address points from OpenStreetMap inside each zone, drawn with a fixed seed. Rounds of 15, 30 and 60 stops use the first 15, 30 and 60 of the same list, so the area stays the same and only the density changes.
- Driving: travel times between the depot and every stop from the MapAtlas Matrix API, by car, requested on 30 September 2026 without live traffic. The stop order is optimised with nearest neighbour plus 2-opt and or-opt.
- Time at the stop: not measurable from a map, so we took it from two field studies:
- 8.1 minutes per vehicle stop, the average dwell time Allen and colleagues measured on parcel rounds in central London. It is the time the van stands still while the driver unloads, walks to one or more doors and back, and hands over the parcels.
- 2.3 minutes of cruising for parking per trip, the average Dalla Chiara and Goodchild estimated from GPS traces of 2,900 parcel trips in downtown Seattle, 28 percent of total trip time.
Where a 30-stop round spends its time
| Zone | To and from the depot | Between stops | Looking for parking | At the stop | Round | Driving share |
|---|---|---|---|---|---|---|
| Madrid, Chamberí | 35 min | 35 min | 69 min | 243 min | 383 min | 18% |
| Madrid, Las Rozas | 57 min | 62 min | 69 min | 243 min | 431 min | 28% |
| Paris, 11th arrondissement | 55 min | 58 min | 69 min | 243 min | 425 min | 27% |
| Paris, Saint-Maur-des-Fossés | 60 min | 70 min | 69 min | 243 min | 442 min | 29% |
| Amsterdam, De Pijp | 44 min | 48 min | 69 min | 243 min | 404 min | 23% |
| Amsterdam, Amstelveen | 34 min | 57 min | 69 min | 243 min | 402 min | 23% |
Three things stand out.
The stop dominates. Time at the stop is 55 to 64 percent of every round, and looking for parking another 16 to 18 percent. That matches what the London study found directly: vans were parked for 62 percent of the round, and drivers walked an average of 7.9 km per round.
The drive out and back is a fixed cost. Between 34 and 60 minutes per round go to reaching the zone and returning, whatever the number of stops. In Chamberí, that is half of all driving. A depot or micro-hub closer to the area removes more driving than any stop order can.
Suburbs cost more driving per stop. At 30 stops, the dense districts needed 1.2 to 1.9 minutes of driving between stops; the suburban ones 1.9 to 2.3 minutes. The suburban zones cover four times the area, so the same number of stops is four times as spread out.
Density: more stops, less driving per stop
The same zones with 15, 30 and 60 stops show what route density does:
| Zone | 15 stops | 30 stops | 60 stops | Change 15 to 60 |
|---|---|---|---|---|
| Madrid, Chamberí | 1.32 | 1.17 | 0.98 | -26% |
| Madrid, Las Rozas | 2.17 | 2.06 | 1.39 | -36% |
| Paris, 11th arrondissement | 2.53 | 1.92 | 1.61 | -36% |
| Paris, Saint-Maur-des-Fossés | 2.88 | 2.32 | 1.95 | -32% |
| Amsterdam, De Pijp | 2.36 | 1.60 | 1.47 | -38% |
| Amsterdam, Amstelveen | 2.26 | 1.89 | 1.51 | -33% |
Minutes of driving between stops, per stop.
Four times as many stops in the same area cut the driving per stop by 26 to 38 percent. Stops get closer together, so each leg is shorter. This is why parcel carriers care about drop density, and why consolidating deliveries from several senders into one round saves more than it seems.
If the stop were faster
The field-study stop times come from busy central districts with many business deliveries: the London drivers served 2.1 establishments and 3.8 parcels per stop. A residential doorstep drop can be quicker. So we also ran a light scenario: 3 minutes at each stop and no time looking for parking.
With those assumptions, driving becomes 44 to 59 percent of a 30-stop round, and the round shrinks from 383 to 442 minutes to 161 to 220 minutes. A driver then makes 8 to 11 stops an hour instead of 4 to 5.
Even in that best case, the stop still takes about half the day. The route matters, but it is never the only lever.
Where the time can be won
At the door. Coordinates that point at the building entrance instead of the middle of the roof, and at the right entrance of a large block, cut the walk and the search on foot. Building-entrance geocoding explains the difference.
At the kerb. The Seattle study found that cruising for parking fell where more kerb space was set aside for commercial loading and more off-street parking was available at the destination. Loading zones are a city decision, but route planning can use them: plan stops at known loading points and group nearby addresses behind one parking stop.
In the order. A well-ordered round still matters for the 18 to 29 percent of time that is driving. In our own tests, a naive nearest-neighbour order was a median of 12 percent slower than the optimum. The route optimization guide covers time windows, capacities and multiple vans.
In the network. Depots closer to the delivery area, and more stops per round in the same area, attack the fixed drive out and back and the driving per stop at once.
To see how far a van gets from a depot in a given time, the travel time map draws the reachable area for any address.
Build the driving part yourself
The measured part of this article is two API calls per zone and a solver. Request the travel times between the depot and every stop:
curl -X POST "https://gateway.mapmetrics-atlas.net/matrix/?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sources": [{"lat": 40.4290, "lon": -3.5470}, {"lat": 40.4351, "lon": -3.7012}, {"lat": 40.4329, "lon": -3.7068}],
"targets": [{"lat": 40.4290, "lon": -3.5470}, {"lat": 40.4351, "lon": -3.7012}, {"lat": 40.4329, "lon": -3.7068}],
"costing": "auto"
}'
Then order the stops on the returned times, and add your own per-stop time: from your drivers' scan data if you have it, or a field-study value like the ones above if you do not. The share of the round that is driving tells you whether to invest in routing or in the stop.
Method and limits
- Zones and depots: a 1 km radius around a point in each dense district and a 2 km radius in each suburban district. The depot is a fixed point on the city edge per city (Coslada, Gennevilliers, Westpoort) that we chose for this test.
- Stops: OpenStreetMap nodes, ways and relations with
addr:housenumberin each zone, 64 drawn with a fixed seed. One address in the Paris dense zone could not be reached by car and was replaced by the next in the list. Real rounds are not random: carriers group addresses, and some addresses receive several parcels. - Driving: MapAtlas Matrix API, costing
auto, 30 September 2026, no departure time, so no rush-hour traffic. Stop order from nearest neighbour plus 2-opt and or-opt; a stronger solver would shave a few percent off the driving time. - Time at the stop: two field-study averages applied to every stop: 8.1 minutes of dwell per vehicle stop (central London, parcel carriers, Allen et al. 2018) and 2.3 minutes of cruising for parking per trip (downtown Seattle, Dalla Chiara and Goodchild 2020). They come from different cities than ours and from central business districts, which is why we also show the light scenario. Both are averages; real stops vary from seconds to many minutes.
- Not included: loading at the depot, breaks, failed deliveries and return trips, and cargo bikes or walking couriers.
Download the data: last-mile-delivery-2026-09-30.csv (one row per zone and round size: addresses in the zone, stem and in-zone driving in minutes and km, the stop-time assumptions and the resulting round time and driving share for both scenarios; addresses © OpenStreetMap contributors, ODbL; derived figures CC BY 4.0 MapAtlas).
The script and raw results are in our research archive: scripts/seo/blog-keyword-research/last-mile-delivery.mjs and docs/blog-keyword-research/last-mile-delivery-2026-09-30.json.
Related
The travel times come from a distance matrix. For the whole planning problem with several vans, read what is route optimization.
The Matrix API returns the travel times used here, the Optimize Route API orders the stops of a round in one call, and the Geocoding API turns delivery addresses into coordinates.
常见问题
What is last-mile delivery?
Last-mile delivery is the final leg of a shipment, from a local depot or hub to the customer's door. It usually means a van or cargo bike that leaves the depot, drives to a delivery area, makes dozens of stops and returns. It is the most expensive part of parcel logistics per item, because every parcel needs its own stop, parking and walk to the door.
Where does a delivery driver lose the most time?
At the stop. Field studies measured an average of 8.1 minutes per vehicle stop in central London and 2.3 minutes of cruising for parking per trip in Seattle. When we combined those stop times with measured driving times for 30-stop rounds in Madrid, Paris and Amsterdam, driving took only 18 to 29 percent of the round; looking for parking and time at the stop took the rest.
How many stops can a delivery driver make per hour?
It depends mostly on time per stop. With 8.1 minutes at the stop and 2.3 minutes looking for parking, as in the field studies we used, a driver makes about 4 to 5 stops an hour including driving. With a quick doorstep drop of 3 minutes and parking at the door, our measured rounds reached 8 to 11 stops an hour. Denser rounds help too: in our test, the driving time per stop fell by 26 to 38 percent when the same area had 60 stops instead of 15.
How do you reduce last-mile delivery time?
Work on the stop first: coordinates of the building entrance rather than the roof, legal loading space close to the door, and one parking stop for several nearby addresses. Then increase density, with more stops per round in the same area, and optimise the stop order with a route optimization API. Finally, keep the depot close to the delivery area, because the drive out and back is a fixed cost of 30 to 60 minutes per round in our cities.

