You have a grocery delivery service that delivers food within 24 hours. How many trucks would you need to operate it?
You'll get access to over 3,000 product manager interview questions and answers
Recommended by over 100k members
Scope
SF
Only to Customers or to Retailers, wholesalers etc(Assumption - Customers)
Formula = Num of Orders in 24 hrs /Truck Capacity (Num of Orders Per Truck)
Num of Orders in 24 hrs
SF Population(1M)
Num of Household(1/3rd = 330K)
Num of Household order online Grocery
10% pre Covid
30% after covid (90K)
My market share is 10%(9K) (Assumption)
9K Household Order weekly once
No. of Orders per day = 9K/7 (1200 Orders)
Num of Orders Per Truck Per Day
Truck drivers work for one shift , 8-10 hrs and there are usually 2 shifts, one in the morning and one in the afternoon.
Each Shift is divided into two 3hrs window with a break in between(Food Break, Gas filling, Grocery Restocking etc for 2 hour)
Let's assume it takes 20-30 mins for each delivery including the driving time. (In 3 hrs there will be approx 6 Orders)
For one truck, 2 shifts(Four Windows) in a day (6*4 = 24 Orders/day)
1200/24 = 50 Trucks
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.
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.
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.
Couple of clarifying questions:
Country,Region,City : Lets narrow down to SF
Assumptions:
Does it have cold storage facility: Answer is Yes, Trucks have the cold storage facility so no back and forth
Timings of operation: Regular 10 hours but actual time is 8 hours(dependent on local laws etc with breaks filling at the beginning, refueling, driver break, traffic
Operate on weekdays/weekends
Weekends groceries might be more than weekdays(lets see if we want to factor that separately)
Competition & Penetration: There are other competitors in the market
SF population 850K
Households (with avg 3 people): ~1/3rd of that = 300K
Not all households order groceries (assume 50-60% ordering) = 150K
Typically groceries are not needed everyweek.There are variations, some will go to the store, some might skip..
Lets assume grocery ordered online is on an average 3 in a month.. So 150K*3 = 450K per month
Per day = 450k/30 = 15K
Penetration of my company let's assume is 10% = 1.5K per day
Now the bus driver on an avg can make 7-8 orders per hour (~8 mins per household including travel time)
Total orders = 10*8 = 80 orders
Number = 1.5K/80 = ~20 trucks
Couple of considerations that might change the number :
Actual capacity of truck (assuming it is smaller vehicle, crowd sourced. These days many companies are using crowd sourced vehicles which could be compact cars etc)
Proximity in distance of the dropoff locations
Seasonality: Traffic, Weather, Shopping seasons
Weekends/Weekdays
1) Are we delivering perishables (refrigerated items)? If yes, is our truck refrigerated? Assuming no for simplification.
We want to find out the number of trucks needed to deliver grocery assuming we need to deliver every order in 24 hours of receiving the order.
Let us consider Surat, with a population of 5M.
Our trucks will not deliver 24 hours. Let us assume we deliver food from Morning 7AM to Night 10PM which is similar to slots offered by our competitors. Hence we have 15 hours of operations.
Equation:
Number of trucks needed = Number of orders in 24H/Orders Delivered by One Truck
Demographic Calculations:
Groceries are usually purchased per household. Considering 4 people per household, we have around 1.25M houses in Surat.
People usually buy groceries twice in a month. Hence there are 1.25Mx2 = 2.5M grocery buys in a month which means we have on average 80k orders per day.
Assuming we are a new entrant and we aim to capture 10% market share, we target 8000 orders per day.
Each order takes around 15 minutes to deliver including the travel time. Hence one truck can deliver 4 orders in an hour. 4x15=60 orders per day.
Hence we have 8000 orders per day/60 orders per truck = 130 trucks.
Sanity check:
Number looks a bit high. It can be because we did not factor the amount of people who have smartphones and are comforatble in ordering online. If we cut it by half, we get around 65 trucks.
Scope : Boston city:
- 680 K Boston city population
How many people are using the grocery delivery service?
- Assuming 20 % =136K people use this service.
Lets calculate an average household number in this 136K population
- 136/4= 34K households
How many of 34k have orders within the 24 hour cycle?
- Assuming once a week people get grocery delivered.
- Average order each day = 34k/7= 5K each day
How many deliveries can a truck hold ?
- Assuming 300 bags of groceries
- An average order is 4 bag of groceries
- 75 orders in one truck within 24 hours
So finally,
- 5K order /75 order per truck per 24 hours = number of trucks required within 24 hours approximately will 66 trucks..
Feedback on this calculation is greatly appreciated.
Clarification
- Which region does this service operate in and what is the service area —> Focus on SF Bay Area
- How many customers do it serve i.e. how many people have signed up for this service —> Assume all Bay Area as TAM, make assumptions on penetration
- Are new users signing up for the service or are we focused on supporting existing users. If new users are singing up how many are being added per month? —> We have
I would start by looking at the two main components
- Grocery Delivery Orders per day
- Truck Delivery throughput per day
To estimate the total users of the service lets look at the following
- Market Size Estimate
- Total Bay Area Population —> 6.5 million
- Number of households —> 2 million (6.5/3)
- Our grocery delivery service market penetration = 20% i.e —> 400K households served
- Grocery ordering Patterns
- Assumption - People order over the week evenly spreadout
- There could be a surge in weekend orders which will be balanced by people ordering less frequently than a week so overall it should cancel out
- We work on all days of the week delivering orders though we might have different drivers for the weekend
- Total Orders per day = 400k/7 —> ~60K
- Truck Delivery Throughput
- Given that we have to deliver within 24 hours and when people are awake our delivery window per day is from: 8AM to 8PM —> 12 hours
- Factoring in Driver breaks, traffic, and refueling and other interruptions one truck is available to deliver for 10 hours per day
- Loading the trucks with orders is done outside of the above hours. Trucks are equipped too carry perishable produce
- Truck routing is optimized to minimize travel time and updated live based on traffic patterns
- Total trips completed per day
- Avg travel time = 15 mins + Avg. unloading time 5 mins = 20 mins
- Trips per hour per truck —> 60 mins / 20 —> 3
- Trips per day per truck —> 3*10 —> 30 trips
- Total Trucks needed for 24 hour service
- Orders per day / Truck Delivery Throughout = 60000/30 = 2000 Trucks
Summary
To serve the entire SF Bay Area at the current level of market penetration we would need 2000 trucks per day to meet the 24 hour grocery delivery timeline
Main assumptions:
1) The weekend and weekday delivery loads are not skewed enough to require extra vehicles for just two days
2) Timeslots available for delivery are 7 am - 10 pm barring 2-5 pm on account of people not being home, so ~12 hrs
3) The city in question has a population of 10 M, and delivery service has ~3% penetration (Low adoption, competition from other apps and neighbourhood grocery stores)
4) Deliveries are being made from mini fulfillment centers located such that no vehicle is travelling for more than 1 hr maximum in a trip
Calculations:
- Let's assume top one thirds of the users are super users--> Order every other week. Rest 66% are ordering at a frequency of once per month. So the total number of orders per month are:
- Total users -->> 3% of 10M -->300,000
- Monthly total orders by super users --> 100,000*2 = 200,000
- Monthly total orders by rest--> 200,000*1= 200,000
- Total daily orders--> (200,000+200,000)/30 = ~13,000 orders
- Every truck is travelling maximum for 1 hour for a delivery. Assuming 50% of the deliveries are quick 20 mins, 30% take 30 mins and 10% take 1 hr, on average a delivery takes 30 mins (including the unloading time)
- Total time available time on road= 12 hrs (calculated earlier)
- Deliveries made per truck = ~25/ day
- A truck can be carrying anything from half to full truck load. For convenience, assuming the optimisation is done at the fulfillment center
- Total trucks required = Daily orders/ Deliveries per truck = 13,000/25 = ~ 500 trucks
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
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.
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.
Top Uber interview questions
- How would you design a bicycle renting app for tourists?62 answers | 82.5k views
- Design a library for the future.25 answers | 23.5k views
- Drivers are dropping out of a city on Lyft. How do you figure out what's going on?23 answers | 18.8k views
- See Uber PM Interview Questions
Top Estimation interview questions
- Calculate the number of queries answered by Google per second.45 answers | 78.5k views
- How do you decide how many cash registers you need for a new Walmart store?33 answers | 39.4k views
- How many dentists are there in New York?33 answers | 36.7k views
- See Estimation PM Interview Questions
Top Uber interview questions
- How would you acquire more users for Uber?22 answers | 33.8k views
- How would you design a car sharing platform like Uber for disabled people?9 answers | 11.3k views
- You are a PM at Uber. Devise strategies to improve revenue.9 answers | 20.5k views
- See Uber PM Interview Questions
Top Estimation interview questions
- Estimate the number of Uber rides.30 answers | 51.3k views
- Estimate the number of bicycles required to start a bike sharing operation in a big city.18 answers | 15.8k views
- Estimate the number of WhatsApp chats occuring in India.14 answers | 13.3k views
- See Estimation PM Interview Questions