Post and review answers and feedback to answers in the comments section of this post.

See also:

How to answer an estimation question in a product manager job interview

List of estimation questions for product manager job interviews

Skip to content
# Exercise 38 – You have a grocery delivery service which delivers food within 24 hours. How many trucks do you need to operate it?

Comment Author Info
Post and review answers and feedback to answers in the comments section of this post.

See also:

How to answer an estimation question in a product manager job interview

List of estimation questions for product manager job interviews

## Leave a Reply

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.

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.

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.

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.