How courier firms choose pickup points and partner shops
A good pickup point has people living close by, long opening hours and no rival point next door. How courier firms score candidate shops street by street.
Courier firms choose pickup points by scoring candidate partner shops on three things: how many people live within a short walk, how well the shop itself suits parcels (its type, hours and rating), and how many existing pickup points already serve the same streets. The best candidates sit where many residents have no point within a few minutes' walk, in a shop people already visit often.
This piece is for network planners and partnership managers at parcel carriers, e-commerce companies building their own out-of-home network, and locker operators looking for hosts. It covers what makes a good point, where the figures come from, a worked example in Toronto, the usual mistakes, and an AI employee that keeps the candidate list fresh.
What makes a pickup point work
A parcel that is not collected costs a second delivery or a return. A point earns its place when customers find it convenient enough to collect on the way to somewhere they already go. In practice planners look at:
- People within a short walk. Residents within 400 to 800 m, depending on the city's density. Where the population grid covers the country, this is a real count, not a guess.
- The host shop. Pharmacies, convenience stores, supermarkets and newsagents keep long hours and get repeat visits. A shop that closes at 17:00 is a weak point for people who work all day.
- Its rating. A host with poor reviews passes that experience on to your customers.
- The gap. A new point next door to an existing one splits the same customers. The value is in streets with no point nearby.
- Chain or independent. A chain may sign a single agreement for many shops; an independent signs one at a time but often decides in a day.
Where the figures come from
The candidate shops come from xMap's places database through the Nearby places block: name, type, brand, whether it belongs to a chain, rating, reviews, whether it is open, and when known how busy it is and how long people stay. The same block, set to pass on each incoming place with counts, tells you how many existing pickup points or rival shops sit around each candidate.
The people come from the Demographics block, which counts residents within a distance you pick around each place, from a grid of small hexagons. It covers about 100 countries, among them Canada, France, India, Thailand, Egypt and Australia, but not the United Kingdom or the United States. Where it has no data, planners use the density of shops and homes on the map as a rougher guide.
Those two counts already say something useful for a planner in Toronto: pharmacies are far more numerous than supermarkets near the centre, so they give a much finer mesh of possible hosts. Of the 438 pharmacies nearest the centre, 119 belong to a chain, which tells the partnership team how many conversations could be handled through a few head offices and how many need a shop-by-shop approach.
A worked example in Toronto
This example is made up to show the method. A carrier wants twenty new points in Toronto. It starts with every pharmacy and convenience store within 10 km of the centre. For each one, it counts residents within 500 m and the carrier's own existing points within 400 m, read from its table of current points.
A calculated field divides residents by one plus the number of existing points nearby, so a shop with 9,000 residents and no point scores far above one with 12,000 residents and two points already. An AI step then reads each shortlisted shop's type, hours note, rating and chain status and writes one line on its fit. The top twenty go to the partnership manager, chains grouped by brand and independents listed by street.
Mistakes that pick the wrong shops
- Circles that are too big. People rarely walk far for a parcel. A 2 km circle counts residents who will never use the point.
- Ignoring your own network. A candidate next to your existing point adds little. Count your points around every candidate before ranking.
- Trusting the shop type alone. Two pharmacies can differ a lot in hours and space. Check the shortlist by phone or visit before signing.
- Population where there is none. In countries the population grid does not cover, do not invent a resident count; rank on shop density and gaps instead.
- A one-off list. Shops open and close every month. A list made once goes stale; a monthly refresh keeps it honest.
The AI employee behind it
- Schedule: on the first Monday of each month.
- Area of interest: the city or the districts you want to cover.
- Nearby places: pharmacies, convenience stores and supermarkets, only open places.
- Demographics: residents within 500 m of each candidate.
- Find nearest: your nearest existing point to each candidate, and how far it is.
- Calculated field and Sort and limit: the score, then the best 30.
- xMap LLM: a line on each shop's fit, then Show on a map and an email to the partnership team.
Each month the team receives a map of the best candidates and a ranked list, with the residents, the distance to the nearest existing point and the AI's note beside each shop. Shops already signed are matched out before ranking. Start from Pickup point partners near where people live or Where to put micro-fulfilment hubs; the logistics and delivery page has more.
Questions
How far will customers walk to a pickup point?
It depends on the city and the customer, and the data does not say. Many planners start with 400 to 800 m in dense cities and test the result against how many parcels are collected late.
Can I count people in London or New York?
Not with the population grid, which does not cover the United Kingdom or the United States. Use the number of shops and homes around each candidate as a guide there.
Should lockers be planned the same way?
Mostly yes. A locker needs a host with space and access, so add a check on the host's type and hours, then score on people and gaps the same way.
How do I avoid points too close together?
Find nearest against your own table of points gives the distance to the nearest one. A filter can drop any candidate closer than the spacing you want.