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 (725 points) | 2.6k views

8 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.

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.

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.
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 box can be an icebox or a regular box. So number of orders in a truck is 10.

Now, the population of MtnView is 60,000. So about 15,000 families (family of size 4). Assume 25% at max so about 3750 families are interested. Assume that they do groceries every other week. So there are a total of 7500 orders a month or 250 orders a day ~ 11 orders an hour.

Now lets assume these orders arrive 24 hours a day and will be delivered within the next 24 hours.
Assume that the round trip time for each truck to drop off all the 100 orders would be say 8 hours.

Assume the first journey starts when the truck is full. So by the truck returns 88 orders would have come in. I would need 9 trucks to fill them. So in total I would need 10 trucks. I would add a couple of trucks as a buffer to make sure there is some slack in the system to account for spikes in the orders. So 12 trucks will be my answer.

by (281 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. Majority of the U.S population lives is small cities and would probably shop for their own food.

For Calculating the # of trucks = Food demand/(Capacity of trucks multiplied by # of trips in a day)

Assumption; 20% of house holds use this service. – 24M.

I will categorize the 24 M households into two type based on the frequency of orders

Once a week – Small families – Working couples, consumers who cook their own food etc. let’s assume 40% of families fall in this category. (10M)

Twice a week – Family of four. Wants fresh ingredients so order more frequently. 60% of Households (14M)

Demand of groceries

Let’s assume that each person eats 5 pounds of food each week.

Once a week food demand per family= 5 x 2 people per family = 10 pounds each week

Weekly demand from all families = 10 x 10 = 100 M pounds of food

Twice a week order size per family = 5 x 3 people x 2 = 30 pounds each week

Weekly demand from all families = 30 x 14 = 420 M pounds of food

Total food requested = 420 + 100 = 520 M pounds.

I will shave this demand by 30% as sometimes their are left over food, traveling, eating out.

So total demand = 70 % of 520 = 350 M pounds (roughly)

Assume capacity of a truck = 1000 pounds.

Assume number of trips each day = 4

Truck required = 350 M/(1000 x 4) = 9K trucks nationally.

0 votes

Let’s assume this is for the San Francisco area –
900K population
Household avg –
1.5 people per
600K households in SF
People shop once a week for groceries and spend an average of $70 or purchase on average, 2sq feet of groceries.
truck loads are 10*10*20sqft = 2000sqft so they can carry loads for 1000 households in one truck
Based on this, there are 90 loads they would need to be completed in this period for 90K households
We can reuse truck vehicles based on the rate of their delivery and return ~2 hours to stalk inventory + ~.5 hours to drive based on SF’s size + 1 hour to unload + .5 hours to return = 4 hours total
Based on truck operator schedule regulation, we’ll estimate they can only drive within a 12 hour period.
So these drivers can only complete 3 deliveries in the 24 hour period.
90 loads /3 loads per truck = 30 trucks

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 with average household size of 4.  50M homes. Not everybody avails the service. Only 20% of the homes.  10M homes.

Any given street, there are 100 homes to service. One truck can carry groceries for 500 homes at a time. that means any truck can service 5 streets. each home takes about 10 minutes to drop off.  500 minutes ~~ 10 hours.

So each truck can do 2 sets. And take care of 1000 homes.

So for 10M homes, each truck being able to service 1000 homes, i need 10, 000 trucks.
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 and 6 pm - 10 pm. 4-hour slots both times.

Now Bangalore can be divided into 5 zones - North, East, West, South, and Central
Assuming equal population distribution, the population of each zone is 1.6 M.

Assuming family size of 4 (including bachelors living together and extended families), the number of households to serve - 400K

Assuming the vehicles work within their zones, I'll solve for 1 zone and then multiply the number by 5 for total vehicle count.

Considering the presence of other such grocery provides assuming 5% market share - households served - 400K * 0.05  = 20k households

Assuming each households orders online once in 2 weeks (once they go to the store) - households to be served in a week - 10k

Assuming equal distribution of orders in a week - orders per day - 10k/7 ~= 1500 orders per day
Now assuming each truck can carry 10 orders on an average and 1 round trip takes 2 hours. Total trips possible = 4

Number of trucks required for a zone = (1500)/ ((10)*(4)) = 38 trucks

trucks required in 5 zones = 38 * 5 =  190 trucks.
by (22 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.