Swiggy and Zomato are like duopoly in the high growth online
food delivery space. I decided to do some data analysis based on my orders on
these two platforms. It took around 3-4 hours of manual effort to collate all
data from my order history and emails.
The analysis is derived from my orders in my home area(Hoodi, Bengaluru) and
therefore may not represent the overall performance or user behavior on Zomato
and Swiggy. All users may not have same behavior and typically there are multiple cohorts based on different mindsets and needs.
Both the platforms - Swiggy and Zomato are doing well and this case study is a mere reflection of my observations and not their overall performance.
It was all Swiggy until June 2018 when suddenly Zomato
picked up and became a clear winner for me. What happened? There were various
factors:
Swiggy started manipulating restaurant
ratings: I used to order from Madurai idly shop regularly on Swiggy. One
fine day I saw the rating of this restaurant has drastically improved from 3.8
to 4.2. It was simply not possible in such a short time. This did not dilute my
trust in the restaurant but diluted the trust on the platform (Swiggy). I could
not trust Swiggy with ratings anymore. If I had to explore a new restaurant I
would rather go to Zomato!
Lesson: Never take a step which will erode customer trust
even if it gives short term benefits.
Swiggy could not meet its own delivery time
commitment: Swiggy mentions delivery time below each restaurant it shows up
on its home page. It is one of the crucial factors in deciding which restaurant
you want to choose. In essence it is setting an expectation whether 25 minutes
or 55 minutes. The problem happens when you do not meet your own set
expectations. Around May 2018(look at the twitter screenshot below), I observed
that Swiggy started assigning multiple deliveries to one agent based on the
restaurant and delivery locations. This is an awesome feature to have for any
company. I am sure this would have saved a lot of supply chain cost as
Orders/delivery guy would have gone up drastically; also cumulative distance
travelled would reduce sharply. However this led to a problem – Swiggy started
breaching its expected delivery time very often. Had it increased its expected
delivery time to factor in the effect of combining multiple deliveries this
would not have been the case.
Lesson: Never set an expectation you can’t meet for at least
90% of the times. Never launch a half-baked product, it should be thought
through end to end. In the above case the cost per delivery went down but the %
of orders meeting expected delivery time dropped.
Zomato ties up with big brand names: Zomato made an exclusive tie up with brands
like Eat fit, Box8. Also Zomato tied up with other popular restaurants/kitchens
which had a good brand recall. Eat fit has a clear USP of hygienic and healthy
food. Box8 promises to make deliveries within 38 minutes and has an amazing
customer service. I personally like both these brands and they contribute to
~20% of all my orders. Swiggy has launched a few private labels which are
exclusive but they did not appeal to me.
Lesson: Exclusive tie ups with big names corners the
competition.
Offers: Order data also shows that Swiggy orders caught up again
during March-April 2019 but fizzled out later. What happened?
I had at that time acquired a free yearlong
Swiggy super membership: This gave me a free delivery option on any order. It was the IPL time and Swiggy was running crazy
offers – one of my favorites was Swiggy6 which gave 60% discount.
I decided to use the above two offers
to order ice cream and deserts frequently at dirt cheap prices. Even if the
order was delayed, it was not a problem for me because I continued using Zomato
for my main orders (dinner). This was
the main reason I gained a few kilos during this time: / This user behavior
stopped once IPL came to an end and the offer was withdrawn.
Lesson: Deep discounting offers will bring users to your
platform temporarily but they won’t stick around if there are core issues (eg: cooked
up ratings, breach in promise time)
How bad is bad?
Platform/Year
|
Cancelled
|
Delivery
time <40 minutes
|
Delivery
time >40 minutes
|
Grand
Total
|
Swiggy
|
||||
2017
|
3.33%
|
83.33%
|
13.33%
|
30
|
2018
|
3.92%
|
68.63%
|
27.45%
|
51
|
2019
|
7.94%
|
61.90%
|
30.16%
|
63
|
Zomato
|
||||
2018
|
7.14%
|
67.14%
|
25.71%
|
70
|
2019
|
4.10%
|
78.69%
|
17.21%
|
122
|
I have taken a liberal benchmark of 40 minutes for order
delivery assuming food taking 20 minutes to be prepared and rest for delivery
so that it remains hot when delivered.
Swiggy set itself a very strong benchmark in 2017 with ~83%
deliveries within 40 minutes but the performance has gradually taken a beating
to ~62%. What is worse is that ~8% orders got cancelled. On the contrary
Zomato has improved drastically on these parameters.
Insights into user behavior and operations planning:
Type of Order
|
Sun
|
Mon
|
Tue
|
Wed
|
Thu
|
Fri
|
Sat
|
Grand Total
|
Breakfast
|
33.73%
|
8.43%
|
6.02%
|
9.64%
|
8.43%
|
7.23%
|
26.51%
|
83
|
Dinner
|
19.08%
|
8.40%
|
14.50%
|
14.50%
|
9.92%
|
19.85%
|
13.74%
|
131
|
Lunch
|
56.14%
|
8.77%
|
5.26%
|
8.77%
|
0.00%
|
7.02%
|
14.04%
|
57
|
Others
|
37.68%
|
4.35%
|
2.90%
|
4.35%
|
4.35%
|
10.14%
|
36.23%
|
69
|
Grand Total
|
32.65%
|
7.65%
|
8.53%
|
10.29%
|
6.76%
|
12.65%
|
21.47%
|
340
|
About 54% of my orders were placed during weekends. That
roughly translates to 3x volumes on weekends. However this skew at 1.2x is
relatively manageable for dinner time.
This is a tricky supply chain problem to solve. Few ways in which this
can be done is:
1) Building capacity to cater highest volume days –
however this will lead to underutilization of capacity on weekdays
2) Shift planning - based on
the order spread, I have tried to solve for capacity planning in a crude
way. I have taken morning/evening shifts and 5 day week. Weekly offs could be
staggered to ensure max capacity on weekends. However 4x volumes on weekends in
morning shifts require temporary staff on weekends. Lesser temporary staff will
be required if workers are asked to switch shifts on certain days, however this
is not a good practice and may lead to higher attrition. (This problem can be
solved in a scientific way too using OR techniques.)
Shift
|
Sun
|
Mon
|
Tue
|
Wed
|
Thu
|
Fri
|
Sat
|
permanent staff required
|
temporary staff required on
weekends
|
Morning
|
28
|
7
|
7
|
7
|
7
|
7
|
28
|
18
|
10
|
Evening
|
42
|
35
|
35
|
35
|
35
|
35
|
42
|
52
|
0
|
3) Another way in which this could be solved is by
implementing a combination of combining deliveries and increasing the promised
time during weekend along with a mix of capacity planning.
Below is a comparison Swiggy and Zomato on various parameters. I have not included parameters like customer service and App experience. Will try to write about it in a different post.
Parameters
|
Swiggy
|
Zomato
|
Winner
|
Restaurant Pricing
|
Controlled by the restaurant, Swiggy earns a % commission (This I came to know from a known restaurant owner who uses all online delivery platforms)
|
Ditto
|
NA
|
Delivery charge
|
Controlled by the platform – Swiggy Super membership brings delivery
charges to 0
|
Controlled by the platform
|
Swiggy
|
Restaurant ratings
|
Can’t be trusted
|
Seems trustworthy
|
Zomato
|
Promised time
|
Lots of breaches
|
Mostly kept
|
Zomato
|
Delivery speed
|
Average
|
Fast
|
Zomato
|
Offers
|
Cool payment offers, restaurant offers, reactivation offers
|
Ditto
|
NA
|
Exclusive tie ups
|
None in my area
|
Box 8, Eat fit
|
Zomato
|
In conclusion my perception that Zomato is better in my area does not seem to be misplaced. Do share your feedback.
This case study is also published on linkedin: https://www.linkedin.com/pulse/online-food-delivery-india-case-study-nikhil-kumar/?published=t
This case study is also published on linkedin: https://www.linkedin.com/pulse/online-food-delivery-india-case-study-nikhil-kumar/?published=t