Managing hyperlocal operations during a pandemic
By — Ankit Gupta (Product, Marketplace Team)
The Beginning of the Lockdown
On 24th March when the Prime Minister announced a sudden and unprecedented lockdown for the next 21 days, everyone was in shock. India was no longer untouched by the COVID fear. While almost everyone appreciated the move, a large part of the population, particularly the daily wagers, started worrying about what the future held for them.
For us at Urban Company, the move brought about different challenges. While we were happy with the lockdown announcement as it could help in limiting COVID-19 spread, our immediate worry was ensuring our 30,000 partners are taken care of during these trying times. As our daily services plunged by 99% overnight, our service partners who solely depend on UC for their livelihood saw their incomes drop to zero.
For us, supporting our partners and customers during these tough times became the number one priority. Within a matter of days, we launched Mission Shakti to protect the health, safety and well-being of our customers and service partners. Not only did we start redefining our SOP (adopted an 8 Step safety first approach) but also launched a whole range of measures to financially support our partners. One of the key aspects of Mission Shakti was to safely and effectively restart our business in the new reality such that we maximise customers’ and partners’ safety.
Nation under Lockdown and Split Into Zones
In order to control the spread of the virus, the Indian Government soon came out with a tiered strategy of categorising areas/districts into hotspots and non-hotspots.
To delineate the impact of the pandemic at a zonal level, the government divided cities into zones, and labelled worst hit zones as containment zones and relatively safe zones as red/amber/green. The containment zones were declared non-serviceable while the red ones were allowed only essential service and green ones were open.
While it was clear what the government was planning, what wasn’t clear was how would this be implemented. Would these zones be at the district level, building level or ward level and how would the government inform other companies/organisations (would there be an API etc). Every day we were learning something new, which at times supported previous announcements and other times contradicted.
Defining the Problem — Geofencing Capability: Challenge Accepted!
As the whole nation went into lockdown, it soon became clear that people needed home services for essential household repairs.
To address the problem of how to deliver services with new restrictions being introduced everyday, we held our first internal meeting on 7th April. Over the next few days, we ironed out how we would support the strategy of zones defined by the government and thus kickstart operations ensuring customers’ and partners’ safety in line with the regulations.
The problem statement was clear: We need to make a system where operations teams could define zones in line with government regulations which would impact both demand and supply side. This system should be able to seamlessly support the following -
- Rich & safe experience for our customers: We had to make sure that we only supported relevant services in various zones as allowed by the local/central government, and while doing so, provided a good experience to our customers. For a user on the UC customer app, we should be able to clearly show which services are available in their locality and at the same time create transparency as to why it was so.
- Enable support & outreach to our supply: It was paramount that we be able to identify which UC partners are in Containment Zones (hotspots) and thus proactively reach out to those who might be in need of UC’s help (Suraksha holiday + other financial help). We also had to ensure that partners living in containment zones were not assigned jobs.
- Data transparency for our internal systems: Product at UC is extremely data-driven. It was clear that we had to support analytics to create internal transparency about traffic, city-wise services being delivered per zone type, inputs for our demand calculation models etc.
How to Go about It?
To close our implementation strategy, we went through all the zones of cities we operate in (18 in India) and it was clear to us that there was no particular pattern in which the government was defining zones. Some states were declaring whole districts as Containment Zones, some were restricting it to wards and some others to specific apartments/colonies. It was evident that rather than following a pre-defined hierarchy of areas, the best approach would be to build geofencing capability to mark zones. Plus, we wanted a solution that was scalable not only across India but also other countries that we operate in — the UAE, Australia and Singapore
Post discussion among the core allocations team, the front-end consumers, the partner teams and the operations team, we were able to pen down the basic structure of the solution which gave us the most flexibility, scalability and durability.
We decided to use Google Maps’ Drawing Manager to allow users to draw geographical polygons. Each of these polygons is a series of location coordinates corresponding to a zone type and also have associated configurational data to indicate how it should be treated.
To resolve whether a given customer or partner home location falls in a particular zone, we relied on geospatial queries in MongoDB. Zones were already kept partitioned by the city, which made lookups a bit more optimized by limiting the search space. We now had an idea about how we could make such a capability.
Birth of Area 51
We decided to name the feature “Area 51” owing to the uncertainty of the situation.
We had a tight deadline as the launch date was set in stone — April 21st. While we knew what this capability would have looked like if we had 2 months to build it but as it often happens, time is seldom on the PM’s side. Hence, we took to the versioning board and versioned everything to the bone so that we could go live as soon as possible. Below is a list of our versions and how we went about it.
- V1 — Launching the core capability: MVP was envisaged as an ability to draw any size/shape of polygon freehand where teams could add businesses that were allowed to operate with a start time and end time (as per government regulations) during which orders would be blocked. Our Focus with the MVP was to make something integrable with our current location systems while launching this new capability. Given the time crunch, we decided to keep supply-side requirements to be handled manually by the various city teams. This was not optimal but we had to make some hard choices. Adding this capability would have extended our timeline by 2 weeks and led to loss of valuable business. We were committed to the April 21st launch.
- V2 — Integrating with our consumer apps to improve customer experience: V1 would integrate the core capability into our system and would allow us to go live. But, it was equally important to convey appropriate information to customers to set customer expectations and not compromise on UX. This was the focus of V2. Customers would see which zone they were in, only see services available in their areas and could choose to be re-notified whenever services became available in their areas and thus the feature would help in revival of business.
- V3 — Data transparency: V3 focused on data transparency to address all sorts of queries as business started to scale.
- V4 — Automating supply management: With V4, we aimed to target manual supply management as that would also become an issue with business scaling.
- V5 — Helping our Operations team by improving the internal dashboards: In the last leg of Area 51 execution, we kept the tasks that would ease the operations to some extent, i.e. visualisation tool around this, ability to filter and search rules etc.
April 21 Arrives in a Flash; We Have Lift Off!
After burning the midnight oil night after night, we finally managed to launch the first version of the feature by 21st April in cities where we were allowed to operate. As we kept the first release to bare bones and focused on core capability, our launch was very smooth and without any bugs. Operations teams quickly started using the feature and we were back in business. The smooth launch and scale provided us the much-needed fuel and energy to quickly ship other planned versions one by one.
Tip — Be brutal (absolutely brutal) in versioning and always prioritise shipping over feature packing. This always works!
How Cool Is the Tool?
Here is the GIF of how the system is used by our Operations team.
We also integrated Area 51 into the homepage of our customer apps and thus provide a truly seamless experience to our customers. Users are only shown categories that are supported in their zones and are given active feedback when someone tries to place an order.
Also, below is the view of various zones in Mumbai City (for presentation purpose only).
Concluding Remarks — When the Going Gets Tough, the Tough Gets Going!
The feature resonates with the core theme of UC by ensuring customers’ and partners’ safety first. A lot of work went into the backend to support government-defined zones and kickstart the business. What really helped make it successful was the valuable feedback and suggestions of our customers, partners, and operations and city teams, which kept us motivated. At the time of publishing this blog, the system has supported 2500+ zones of varying sizes and shapes throughout India.
Given the continuous change in reality during a crisis, it was not easy for our team to take the decisions that we did. At the same time, we knew delay in action would hurt us more. Thanks to our internal discipline of sticking to data and first principles (ship MVP, get feedback, iterate and improve) we were able to not only successfully launch Area 51 but also power the whole marketplace through it.
If you enjoyed reading this, feel free to leave comments and reach out to us.
Ankit is Product Manager at Urban Company and works in the Marketplace team. Ankit has been working at UC for a year now. Ankit likes to play badminton in his free time.
Sounds like fun?
If you enjoyed this blog post, please clap 👏(as many times as you like) and follow us (@UC Blogger) . Help us build a community by sharing on your favourite social networks (Twitter, LinkedIn, Facebook, etc).
If you are interested in finding out about opportunities, visit us at http://careers.urbancompany.com