Rethinking order pick ups to ensure a 19 min delivery

My role

I was in owning the end to end experience and was responsible for delivering it. I also helped product team in defining strategy and vision for the feature.

Team

1 designer, 2 product managers, 10+ engineers

Timeline

Feb 2022 - Jul 2022

Dunzo

One of the largest 24X7 delivery platforms in India, that picks and delivers anything and everything within the city.

Dunzo Daily

Org’s primary focus, Dunzo Daily is a quick e-commerce service which full-fills your daily needs through its micro-warehouses & local merchants.

How does Dunzo Daily work?

Customer places an order

Nearest merchant receives and prepares the order

Delivery partner picks up and deliver the order

Why is it so important to deliver in 19 mins?

Our business is focused on fulfilling the urgent/instant needs of grocery. To stay in the competition, we have to be as quick as our competitors if not faster who are promising 10 mins, 15 mins delivery.

Why 19 mins and not other number?

When we first launched Dunzo Daily, the leadership team collaborated with the analytics team to determine the time frame in which we could deliver with the available resources.

How it leads to a user problem?

Our entire marketing and advertising pitches Dunzo Daily as a 19 mins grocery delivery. This results in a breach of trust anytime we do not deliver the order within the specified time range.

Time distribution in order journey

1. Partner reaching the store

What if we can eliminate this time?? 🔥

2. Merchant preparing an order

Handled by Merchant team

3. Partner delivering an order to the customer from the store

Out of scope - tackled in a different project

🤨 Existing system

Partner assigned to an area (multiple stores)

A partner within the designated area can be assigned an order from any store depending on its proximity to the store.

✨ New system

Partner assigned to a store

A partner can deliver the orders only from its assigned store, which means certain no. of partners will always be available at the store.

With the new system

Potential problems we’ll face

🛍

Order assignment related

👉 Since there’s no pre-order assignment, when and how an order will be assigned to a partner?


👉 How do we know which order has been picked up by which partner?

🚶🏻‍♂️

Partner queue management related

👉 How does the system know whether or not the partner has arrived at the store?


👉 Which partner should take the order first, and which one will have to wait should?


👉 How do partners qualify to pick up an order?


👉 How do we make sure that partners don’t create any kind of chaos?

Updated approach for order picking

TL;DR - When a delivery partner arrives at the store, they will be given a queue no. based on their time of arrival. An order will be handed over to the partner once they reach the top of the queue.

Strategy

Collaborated with the product team to develop this plan of action, which allowed us to experiment with and validate the new system.

MVP - Order assignment

Possible ways

🔢

By typing 4 digit OTP

Each order bill will have its own OTP, which the partner must enter and verify before picking up the order.


⌨️

By typing order ID

We are already using order IDs for other use cases. We can reutilize the same. Partner has to type an order ID available on a bill to verify the order.

☑️ Secondary solution

🤳🏻

By scanning order QR code

Each order bill have a QR code. Partner has to scan and verify before picking the order up.



☑️ Primary solution

Order bill which will be attached to an order

MVP - Order assignment

Existing flow of order picking

MVP - Order assignment

New experience

When a partner reaches the front of the queue (which is managed operationally), they will be given an order by a store person. The partner will scan an order bill attached to order before starting the delivery.

MVP - Order assignment

Interaction - Happy flow

MVP - Order assignment

What if scanning fails..

If for any reason they are not able to scan or if scanning is getting failed, partners can manually type order ID mentioned in order bill and pick up the order.

MVP - Order assignment

Interaction - Incase scanning fails

Results from MVP

We launched it in 2 new stores and compared the results to the other 5 control stores that were operating under similar conditions.

~75%

Improvement in time taken from ‘order being ready to pick up by a partner’

~68%

Orders delivered within 19 mins compared to ~36% in control stores

Feedback from partners and ops. team on MVP

Issues related operational queue

👉 Some partners would cut the line and end up arguing about picking up the order.


👉 Because order tokens are handled operationally, some partners will take multiple tokens, causing others to wait longer.


👉 Some partners have suggested assigning tokens/orders within the app itself to avoid any kind of confusion/fights

Product solution for Queue Management

Our MVP learnings clearly suggested that we must build product for queue management in order to scale the entire feature. Following are 3 key components of the queue.

1. Checking in at the store

Possible solutions

📍

Using GPS

We enable them to check-in with a simple button directly from their phone when they enter into store radius.

Pros

Easiest way for partners. We can also reuse the existing defined store radius.

Cons

The store radius varies from 200m-300m so it will not be 100% accurate solution.

🤳🏻

Scanning dynamic QR code

We install a Dynamic QR code display (tablet) at the store, which partners have to scan to check-in.

Pros

Quite easy for partners. 100% accurate and refreshes on a regular basis, resulting in almost no potential fraud.

Cons

Because hardware devices can fail, we'll need a backup option as well.


☑️ Finalised solution

😸

Face ID, Finger print scanner

We install Face ID/Finger Print scanner at the store, which partners have to scan to check-in.

Pros

100% accurate and refreshes on a regular basis, resulting in almost no potential fraud.


Cons

Hardware dependency. It will also require the database of all partners' face/finger prints.

Dynamic QR code display

We installed tablets at each store which will display dynamic qr code. It will be managed by a store person.

01. QR code being the most prominent entity which makes easy for partners to scan. It will keep refreshing as partners scan it successfully.

02. In case scanning is not working, partners can manually type the QR number which is displayed below QR code.

03. Partners can manually refresh QR code if the current one is not working due to any technical issue.

04. Since it might be placed outside of the store, to make the logout process more secure, we added one extra step where a store person has to type a pin to log out.

1. Checking in at the store

Partner’s experience

Partner will have to scan the dynamic QR code to check in at the store. On successful check in, partner will be assigned a queue no. based on no. partners who have arrived before him.

Queue management

2. Waiting in the queue

Partner will be waiting in the queue once queue no. is assigned. Queue no. will keep getting updated as the front partners pick up the orders.

Queue management

3. Becomes eligible to pick up the order - UX

When the partner becomes eligible to pick up the order, he or she will receive a notification with a buzzer sound. The partner will have X minutes to scan and pick up the order. X can be customised based on store conditions.

End to end experience

Queue management
🤝
Order assignment (MVP)

Business impact

We started to launch this entire feature in higher order volume stores and planning to scale across all Dunzo stores. Following is the early impact from the 10 stores.

~77% less

Order waiting time

Time taken from order being ready to pick up by partner reduced by whopping X mins.

~79%

Delivery within 19 mins

We saw positive lift in no. of orders delivered in 19 mins which was trending around 40% earlier.

~32% more

Orders completed/hour/partner

Partners are able to complete more orders in the same time which ultimately led to Dunzo saving ₹X per order.

Partners’ feedback

Our team conducted telephonic interviews with old and new partners to understand their experience with the new system.

👉🏻 Easier & faster to deliver

They mentioned that not having to pick up orders from multiple locations saves their time, is more convenient, and allows them to pick up more orders.

👉🏻 Resolved operational queue issues

Building a product solution for queue management streamlined the process by resolving almost all operational issues such as cutting the queue, fighting between partners, taking orders without scanning, and so on.

Learnings

Drive project with the iterations


Because this was a new concept, stakeholders had difficulty imagining how it would work, look, and feel.

While we were brainstorming different solutions, I made sure that with whatever information I had, I could create a few iterations to back up the ideas.

It assisted us in understanding what was not working and made the way for a solution that would actually work efficiently.

Collaborate empathetically with developers to find an optimal approach

In terms of deadlines and especially tech, this project had the most tight constraints I've ever had to work with.

I accepted them as a challenge. I connected with the devs frequently to understand their perspective on questions such as why these constraints, what we can do about it, why such low tech bandwidth, and so on.

As a result, we were able to work together to overcome constraints and find the optimal solution.

Create a free website with Framer, the website builder loved by startups, designers and agencies.