Improving the order matching for both drivers and shippers

This enhancement enables logistics drivers to pick orders accurately,
thereby shippers can have their goods transported in a more effective way.

Introduction

GOGOX revolutionised the logistic industry by seamlessly connecting shippers with freelance drivers, ensuring efficient and reliable delivery services. In this project, we enhanced their shipper and drivers matching process, with the goal of elevating user satisfaction and fostering user retention by addressing common complaints.

The Team

Product Manager x 1
Product Designer x 1 (Me)
Data Scientist x 1
Frontend Engineer x 2
Backend Engineer x 2

My Role

  • Conducted researches

  • Utilising design techniques e.g. flow design, prototyping, mockups, for idea validation

Deliverables

  • Revised UI to enhance order picking experiences

  • Redesigned the matching flow

  • Initiated Design System usage in the team

THE Problems we observed from data,

Business Problem :
Orders are being cancelled quite often

Looking at the platform performance, we discovered that there are more drivers dropping orders and not all shippers successfully got matched with a driver.

Shippers' orders being abandoned by one or multiple drivers out of every 5 orders.

A decline in shippers' reliance when traditional companies offer 100% guarantee

Digging into the root cause

Why drivers are cancelling the orders?

I dig dived into data to see what are the reasons drivers decided dropping an order.
The most selected reasons selected by the drivers are:

  • Drivers are unable to fulfill shipper's requirement

  • Failed to agree the order quotation with shippers

  • Drivers mistakenly picked the order they don't really want

Iteration added in the Client App

Our Assumption :
Unclear shipper requirements is the cause of high order drop rate

We hypothesised that the low order matching success rate is attributed to unclear shipper requirements, making it challenging for drivers to evaluate their ability to fulfil the job.
By encouraging shippers to provide comprehensive details should anticipate a reduction in order drops and improved matching outcomes.

We went for some low effort design approach to boost the clarity of shipper requirements,

Added more fields such as "Notes to drivers", "Tunnel preferences"

No improvement on the order drop rate and completion rate

Digging into the root cause by shadowing And Interviews

We Observedย :
Drivers' order picking habits are hurting the platform performance

To better investigate the reason of high drop rate, I start initiating user interviews by shadowing drivers and go through their daily routine and jobs.
I conducted shadowing sessions with 6 drivers, closely observing their routine tasks. The observations yielded surprising insights that surpassed our team's initial expectations, highlighting the significance of addressing this issue. ๐Ÿ˜ฎ

Short clips of recording how drivers pick an order (actual speed without adjustment)

๐Ÿ’” During the shadowing sessions, a notable observation was that drivers tended to click through orders robotically without thoroughly reading the order details. This behaviour raised concerns and emphasised the need for improving the matching process.

Quotes from interviews with drivers

Based on our conversation, drivers are not reading the order details because

๐Ÿ”“ Pain Point 1Order not secured before pick

Drivers are compelled to skip the confirmation step as it isn't yet officially confirmed. This urgency arises from the risk of losing opportunity to earn money.

โŒ› Pain Point 2Insufficient time for decision

The avg. response time is a mere 2.5 second from a shipper placing an order to a driver confirming. This makes it practically impossible to read thoroughly and confirm the details

๐Ÿ“ˆ Pain Point 3Competitive order market

With a 1:5 ratio of orders to drivers, the competition for orders is intense. Drivers tend to prioritise picking orders first and making decisions later.

Reframing The Problem

We reviewed the legacy flow and framed the below 2 problems :

Design Goals

Provide a sense of secure and stable environment to allow drivers select orders should be considered to make sure the experience can be seamless and efficient.

Final Design

Hereโ€™s the walkthrough of our revamped flow

In the original design, real-time order status was not reflected in the app upon clicking buttons. This caused drivers to fear losing an order and often led them to hastily press the "take order" button without confirming the details.
โ€
To enhance the order picking experience, in the new design, we added real-time order status updates within the UI. We clearly indicate when an order has been picked and promptly remove expired orders, ensuring a more efficient order picking process.

With the legacy flow, drivers are forced to click robotically because if they don't do so,
they will have a high chance losing the order in "Order details" page.
In our new design, we added a step that the order will be locked and only visible by the driver. This design aims to to reduce the chance that an order will be "stolen" by others.

With the implementation of this new logic,

  • Likelihood of experiencing orders being picked by others has significantly decreased by 66.7%

  • Chance of "Order being stolen" reduced from occurring 3 times to max. once only

AFTER & BEFORE

Flow Comparison

The design revamp results in

From the below charts,
it shows how the new design improves the platform's performances

* Drop rate definition โ€” Drivers dropped an order after confirm picking it
* Completion rate definition โ€” Percentage of orders that have been fulfilled successfully

More to explore