Zomato Improvement Proposal (ZIP-001): Gigs system matchings

ZIP: 1
Title: Gigs system matchings
Author: Nikhil Taneja <itsnikhil@duck.com>
Status: Proposal
Type: Process
Created: 2022-01-05

Zomato’s Gig System

Zomato’s gig system is an economic system for delivery partners of the company. In Gigs system, Delivery partners book “gigs” which are their preferred timeslots of work. For completion of every gig, a delivery partner has to complete a few minimum login hours criteria. Delivery partners can browse available gigs a couple days in advance. Information like timings and estimated earnings for each available gig can be accessed from the app. As per the convenience of the delivery partners, they can choose to book as many gigs as they like and start delivering food. A small cancellation fee is charged from a delivery partner every time they cancel a gig. This is done to avoid abusing the system and so that other delivery partners get their fair chance to book gigs. Delivery partners get fixed order payouts for every order + distance payout for every kilometer of drop both of which can vary across various locations.

As per the company, benefits of Gigs system include:

  • Delivery partners can view estimated payout for a gig before booking based on which they can choose desired gigs
  • Higher chances of getting an order
  • No rush to meet target to get incentives! More gigs, more earnings
  • Payouts as per expectations, everyday

Medals

In order to ensure good quality of delivery partners is available, Zomato has divided all delivery partners into various different categories denoted by medals. Based on the medal some benefits are given to few high ranking delivery partners including the ability to book gigs few days in advance.

  • Blue medal:
    • 1-day early booking
    • Medical insurance
  • Bronze medal:
    • 2-day early booking
    • Medical insurance
  • Silver medal:
    • 3-day early booking
    • Priority support
    • Medical insurance
  • Diamond medal:
    • 4-day early booking
    • Priority support
    • Diamond badge
    • Increased cash limit
    • Medical insurance

Medals for each delivery partner is refreshed after every fixed time interval. In order to improve medal, delivery partner has to meet following requirements in each criteria:

MedalCriteriaRequirement
BlueCompleted orders0-95%
On time orders0-70%
Completed gigs0-70%
Star gigs0-25%
BronzeCompleted orders95-97%
On time orders70-80%
Completed gigs70-80%
Star gigs25-50%
SilverCompleted orders97-99%
On time orders80-85%
Completed gigs80-90%
Star gigs50-75%
DiamondCompleted orders99-100%
On time orders85-100%
Completed gigs90-100%
Star gigs75-100%

Problems with current implementation of the gig system

1. Booking of gigs is a first come first serve process

Everyday at 10:30 AM when gigs booking unlocks for the next day, each and every delivery partner has to try to book gig in order to maximize their chances for a gig to be available. Imagine yourself participating in a flash sale everyday. Also, this can cause huge traffic on a system at during that initial booking period.

2. Preferred gig not available

Each gig has limited no. of delivery partner requirements from each cluster/city. Because of this, few delivery partners who wanted to work does not get chance because of unavailability of gig. This is more common for blue and bronze delivery partners.

3. Customer feedback do not affect medal

Medal criteria’s are more aligned how Zomato deems as delivery partner to be good than the ratings given by it’s customers. Though, I am not aware how much important delivery partner’s rating is for a food delivery company than compared to mobility company.

Improvement Proposal

Better matching algorithm

My proposal to Zomato is to implement some version of many to many stable matching algorithm using the deferred-acceptance.

Instead of booking gigs immediately, delivery partners can share their preferences which is ranked ordered list of how likely are they to work for a certain gig for that day. There will be a deadline before which each delivery partner needs to submit ranked gigs. For example:

GigTimingsEarnings per hourPartners needed
G110:00AM - 12:00PM100-1201
G202:00PM - 03:00PM175-2001
G306:00PM - 07:00PM150-1751
G409:00PM - 11:00PM200-2501
RankDelivery partner ADelivery partner B
#1G1G4
#2G3G2
#3G4G3
#4G2

Meanwhile Zomato can rate it’s delivery partners based on any criteria. For example:

RankDelivery partner
#1Delivery partner A
#2Delivery partner B

The algorithm starts by respecting first preference for each and every delivery partner and finding optimal match with Zomato’s preference for each delivery partner and performs multiple rounds of iteration for lower preferences. One such algorithm is famously known as stable marriage problem. It works well enough when there must be only 1 match but in Zomato’s case, one delivery partner can be assigned to multiple gigs. In order to avoid always selecting same delivery partner again and again for multiple gigs because of higher rating given by Zomato, the algorithm needs to reduce the rank of a person after getting a confirmed gig.

GigFinal Partner Selected
G1Delivery partner A
G2Delivery partner B
G3Delivery partner A
G4Delivery partner B

Benefits of this new match making algorithm

  • The algorithm is delivery partner proposing
  • There is no difference in matchings results if delivery partner ranks gig now or couple of hours later
  • Ensures quality of delivery partners remains while still maintaining better matchings
  • All delivery partners will at least get a chance to share their preferences

Concerns

  • Delivery partners should at least need to know how to improve upon ranking criteria used by Zomato
  • Since gig confirmation happens later, proper communication should happen with delivery partners about what gigs they finally gets assigned

Sources:

comments powered by Disqus