You have a grocery delivery service which delivers food within 24 hours. How many trucks do you need to operate it?
+1 vote
in Estimation by (717 points) | 2.8k views

9 Answers

+1 vote

Lets assume that the Grocery delivery service serves the San Francisco area.

Lets assume that there is no one else who is currently doing grocery delivery in SFO right now and this company is going to serve the entire eligible population of grocery delivery customers.
Let us also assume that this service will only serve grocery to households and will not be for commercial purposes such as delivery for restaurants/mom and pop stores etc

The way to calculate number of trucks required for the 24 hour grocery service would be:

Number of orders for households requiring grocery delivery (demand) per day /Number of orders that can be served by 1 truck per day

San Francisco has a population of around 850K.
Lets assume that there are on an average 3 people in a household and hence the number of households in SFO are: 850/3 = 283 (approximately 300 households).
Every household requires grocery but not every household requires grocery delivery.

Lets assume that 30% of the households will actually use the grocery delivery service (rest of them will buy grocery by going to the store or eat out). So # of eligible households = 30% of 300 = 90 households
If each household on an average orders grocery once a week then number of orders per day = 90 * 1/7 = 13 orders a day
Lets assume that 50% are large orders (more than 15 items) and 50% are small – medium orders (less than 15 items) which means approximately 6 large orders and 7 small orders

Lets assume that this grocery delivery service uses standard delivery trucks + uber/lyft style cars depending on the size of groceries (large, medium orders)

A standard truck holds approximately 10 large orders of groceries per trip and a truck makes at least 3 trips a day.
There a single truck can do = 30 orders a day
A lyft/uber style mini van can do 3 small-medium orders per trip and can do at least 3 trips a day as well = 9 s/m orders per day.

Therefore # of trucks for large orders required per day = 6/30
# of cars required for small orders per day = 7/9

0.2 trucks required per day
0.8 cars required per day
Approximately 1 vehicle per day overall if we want to simplify the whole thing
There may be more trucks/cars required during the weekend if the number of orders are more so lets double that to say 2 vehicles overall required per day to serve grocery delivery for SFO.

This seems way too less  What did I do wrong?
Maybe the 30% households requiring grocery was wrong? I see so many Safeway and Walmart trucks driving around. You probably need 4 trucks for every large city in the bay area per company. Do people order groceries every day?
Maybe I need to increase my % of families ordering groceries and need to increase my number of days per week that grocery is ordered. I think my formula is still correct though. I am also not accounting for restaurant and small store delivery which probably accounts for quite a large volume of grocery delivery.

See less
Did you make a mistake in your number of households? Shouldn’t be 90K households, instead of 90 households?
Yes- DUH! I should have seen that
Hi Nabspm,
I would have estimated the number of households per truck in a different way. Check out Dave’s solution. I like it. It’s simple. Although he’s making a bunch of assumptions. And most likely, the truck has a fridge so it doesn’t have to go back to the centre during the day.
Also, I think the number households in SF should be 300K per your estimate.
Hope it helps.
+1 vote

Let’s say the population of San Francisco is 900K and there are 900K people / 3 people per household = 300K households. And on average, 10% of these households will be interested in my grocery delivery service (there are other companies such as Amazon who are in this space and many people prefer to go to stores so 10% seems reasonable to me). My customer base is 10% of 300K = 30K

Let’s say each of these 30K households purchases groceries once a week (2 times online, 2 times in-store). So, every week, there will be 30K / 2 = 15K orders. If I break 15K by 7 days, I get about 2K of orders per day.

Let’s say each truck can take 100 orders at a time and needs to make 50 stops to deliver these ( since some people live in condo apartments, I will assume a truck can deliver to 2 households with one stop). Let’s also assume it takes the truck driver 10 minutes to drive from one delivery stop to another delivery stop and drop the groceries . So on average, each round of delivery of 100 orders takes 50 stops x 10 minutes = 500 minutes. Add 100 minutes to count for break + gas + filling up the truck in the beginning. You get 600 minutes or 10 hours per day per truck for delivering 100 orders.

Now, to estimate total number of trucks needed, divide 2K by 100 and you get 20. You need 20 trucks.

See less
I like the solution. Great work.
Great Work, David.

Couple of observations:
100 orders in a truck sounds huge. Considering the packets will be of different sizes, one way of estimating is to assume the truck’s capacity and average weight per order. Let’s say average order weights 15 lbs and trucks capacity is 450 lbs, you can deliver 30 orders. Also, there needs to be an assumption on unavailability of customers, time of delivery and the distance the truck can cover.

Since it’s 24 hours commitment, there should be buffer of 1 truck a day assuming breakdown or regular servicing etc required.
+1 vote
Clarifying questions:

Area of delivery covered: Size of San Francisco

Vehicle is refrigerated: No. So let's limit to a 2 hour trip at most.

How many orders can be delivered by a driver in two hours? Approximately 5 orders assuming company has multiple distribution centers and given that you get enough lead time (deliver in 24 hours) you can optimize route and deliver multiple orders

Assumption: Calculating at full capacity of orders and delivery.

When are orders delivered: We are delivering to households where all adults may be working so deliver window is limited to say 8 hours. 5.00 PM - 9.00 PM and again from 6.00 AM - 10.00 AM. Assumption that all deliveries will contain perishables and stuff cannot be left outside the door. Hence hand-delivery is must.

So in 8 hours how many deliveries can one truck do? 20 orders. We are assuming that the routing is such that empty truck back to pick-up center and time to restock is minimum.

Let's calculate the number of orders we expect to receive in a day.

Size of population: 1 M. with averaging 3 people in household. That makes it close to 330K households. You can fairly assume that SFO has almost 50-60% of the population that does not cook, eats out every day or cooks only enough that it does not require delivery. So give or take 100K households order groceries.

Frequency of ordering: once a week. Orders evenly distributed across 7 days means 100K/7 = ~12K orders per day. However all 12K orders cannot just be to me. I am competing with Amazon, Uber and other delivery services. Given that I am new to the market I will assume that I can get to 10% share of the market. 1200 orders are mine

Big assumption here is that everyone orders every week, which may not be true. People go for couple of weeks without ordering or their orders stretch to couple of weeks due to combination of eating out, travel, vacation, etc.  Personally with a family of four I do 2-3 grocery trips per month. So you can cut the number down by 30%. So give or take 900 orders.

Number of trucks: 900/20 = 45 trucks.
See less
by (22 points)
0 votes

First ask the standard questions about the type of groceries, town where you’re launching etc.I choose say Mtnview. The truck has a volume of 100 cuft and each order is placed in an box of 10 cuft. The b…See more

by (269 points)
Hi there
Thanks for the note. I didn’t quite follow your last paragraph. Can you double check your answer?
Sorry about that.. I was changing the assumptions in between and it got messed up. it is just 10 orders a truck and around 11 orders an hour with a round trip time of 8 hours/truck for load+delivery. The idea is look at the round trip time and make sure all the orders are serviced by trucks as they come in. So If 88 orders come in before a truck can be reused we would need a total of 9 +1 = 10 trucks with a couple spare.
So I came up with 12 trucks.
0 votes

I will assume that this is national food delivery service. Assume 120M house-holds in U.S. Not everyone wants to use this service. Many people will like to go and pick their own vegetables given time permits. …See more

0 votes

Let’s assume this is for the San Francisco area –900K populationHousehold avg –1.5 people per600K households in SFPeople shop once a week for groceries and spend an average of $70 or purchase…See more

you cant stack groceries on groceries
0 votes

Divide into 2 demographics. Rural plus urban areas. 300M population. 200 M live in urban areas. Dense housing, smaller gorcery orders. 100M rural areas.   Lets assume this is for urban areas only. 200M…See more

0 votes

Clarifying questions - Are people available throughout the day to get their delivery? I am assuming 1. the store is in Bangalore, population 8M. 2. people are available to get the deliveries b/w 6 am - 10 am …See more

by (22 points)
0 votes


  • Let's say it’s a metro city of population of 1,00,00,000 in 800 sq kms 

  • Out of these only 20% of the population order grocery online i.e 20,00,000

  • Some people stay alone and some stay with family so lets say on an average 1 customer orders for 2 people, i.e 10,00,000 people order groceries.

  • On an average customers order groceries every 4 days. So the average number of orders per day is  2,50,000.

  • These 2,50,000 orders  are distributed equally in 800 sq kms, hence number of orders per sq km will be 312.5.

  • Hence the average distance between two order location is 0.055 km assuming the truck doesn’t travel diagonally from one location to another.

    • 18x18 = 324 = 312.5 

    • 1/18=0.055 km 

  • The trucks operate only for 12 hours everyday delivering the groceries. So after the order is placed the trucks have 12 hours to deliver the groceries, which can be either that day or the next day.

  • Let’s say a truck moves at 40km/hr average with 5 minutes wait time for every order to be delivered and average distance between 2 order 0.055 km .  

  • Average travel time between 2 deliveries=1.055/40 = 0.001375 hours = 0.0825 minutes

  • So avg time each order delivery takes = 5( waiting time ) +  0.0825 = 5.0825 minutes

  • Hence in 12 hours number of delivers that can be made by 1 truck = 720 minutes / 5.0825 minutes = 141.66 = 142

  • Hence for completing 2,50,000 orders number of trucks needed will be 1760

See less
ago by (33 points)
Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
To avoid this verification in future, please log in or register.
Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
To avoid this verification in future, please log in or register.