 Good evening everyone. Thank you so much for spending your Saturday for this session It has be it is my first session to such an audience. So please do pardon if I do some Silly mistakes or common unknown mistakes, but I'll be happy to hear your feedback happy to improve and hopefully happy to present again, so a A bit introduction about myself. So I'm webhav khandelwal. I'm co-founder and CTO at Shadowfax Shadowfax is India's leading last mile or Express Logistics Network. We are present in 200 cities now We do around a lakh and a 50 orders. I mean 1.5 lakh orders on a daily basis We have a fleet of 10,000 plus delivery partners which which are on a crowdsource model working with us and It has been a good journey for us for the past three and a half years In terms of the clientele, we work with almost all the bigger Enterprises that you guys have seen from a consumer standpoint. We are not a consumer facing company We are an entirely B2B organization So we work with McDonald's we work with Domino's we work with Swiggy big basket ATM, Snapdeal, Mintra We work with all these clients and we do fulfillment of the last mile orders for them and The team is headquartered in Bangalore. We do have offices across the country as well so now moving on to the presentation what I want to talk about here, so as the Title says the product development for fleet management So my agenda or my brief outline of this conversation or this talk would be on the lines that I would first want to highlight a bit about The persona of these delivery boys that what kind of people are they what are their likes? What are their dislikes and it will be more then we'll focus on the two parts of it one is the engineering challenges and our learnings from that and Second are the product level challenges that we have faced that we have learned things from them The overall objective of this talk is not to say that this method works good or this method works bad But primarily to share our learnings to share our experiments what we did in When we observe those problems and how we try to figure out a solution to them So that will be the overall outline of my talk here I'll be happy to take questions after the presentation Online as well as offline as well so yeah Moving on to the first section the rider persona or the delivery boy persona So what kind of these I mean, how do we describe these delivery partners? So bases are interviews bases are conversations. These are the guys who are the ones which are fulfilling The consumer apps or the consumption powers of the 50 million Indians These are the second part of India or a couple of us also refer as Bharat versus India debate of sorts Now these are the guys who have good aspirations They they want to do big in life But because of limitations in education because of limitation in opportunities, they are not able to do that What do they I mean you talk to almost all of them and everyone would want to earn and make more and more money There is no saturation. I mean they would not come and tell you that We would not want to maximize our earnings. They'll try to figure out their ways Then what are the difficulties that they observe? So finding the exact location Having erratic consume customer experiences as well. So to be honest, we have heard case studies where So we do reverse logistics as well So we have heard case studies where the customer has held the delivery boy as hostage and said that I won't release this guy unless Paytm refunds back my money So these have been the scenarios and this is what these guys take care of You see any good delivery experience Image or a video what you will see is a happy customer What you will never see is that delivery boy who is just a plain simple guy fulfilling all these tasks for you And that is where these guys are they are in the shadows They will be penalized if they do wrong and they won't be appreciated much if they do good So that is the kind of persona here in terms of motivation again money is the major motivation Recognization as we'll talk about more as well. The social recognition is also an important part here What are the apps that these guys use? So share chat tick tock so with the advent of geo actually the video consumption has actually taken off and To an interesting part What we observed was that just after geo almost a large number of the phone numbers were starting with the number six Which was technically geo so almost everyone Flocked that into going into geo and these are the guys who want to maximize their savings and earnings Another persona so this guy is married education is 10th pass again. Not many opportunities available in life to do To earn big or become big Then another goal and that comes with age is to have a stable and secure job. So Very few people of us are very few. I mean if you consider this Outsourced crowdsourced economy the gig economy so people feel that paying on a per transaction basis is absolutely fine because you are able to Minimize your risk. You do not have to associate for a fixed contract with anybody Whereas these delivery boys when they when they get into a family, they would want a stable fixed job So just to explain it some in some numbers It is more like a delivery boy is fine if you give him a payout somewhere between 12,000 to 15,000 Versus giving that guy a payout somewhere between 8,000 to 20,000 So these guys they would prefer lesser of variance and more of stability now different personas have different Identities different companies have different preferences about it But just wanted to highlight some commonalities and differences in the thought processes Among all these guys. So this will The reason why I'm highlighting this or the reason why I'm discussing is is just to set up the context on What sort of people are we talking about? What actually is fleet management? How different are they? How similar are they from us? So now I'll move on to Just the context is set up. I'll now move on to engineering challenges and the learnings So as I told the conversation would be split into two parts One is what engineering challenges you foresee? What are the engineering challenges one get to know and how can or I mean some ways in which we have learned how to overcome that And then later on the product part of it So the first first thing here is the locations as simple as that With the advent of uber And similar related startups people realize that just by tracking locations. You can actually make a lot of decision making in the process but Tracking location in itself in is it in itself is a very complex problem to solve So what are what are the challenges? I'll just try to focus here. So one is patchy network So even with all that 4g coming in still there is inconsistencies in the network that are there Now you would ask that ola and uber work perfectly fine here. What are the challenges that these fleet have in addition to that? so Just consider where these guys have to travel to so The majority of the transactions of a delivery boy. They happen at the customer doorstep The majority of the time that the partner is waiting is near the restaurant The hubs are generally outside the city with having lesser population and coverage In these areas, you would have also observed that in the doorstep Point the your in the indoors in the basements your internet connectivity is not that great and For this delivery boy marking delivered or getting the online payment Every transaction depends on these major hotspots only So not a major problem. But yes, once you start seeing it at scale, you would figure it out That this is a major problem Second is on the battery drain So again, you would see in ola and uber they have a usb plugged in into it Similar adjustments. Yes, do exist in bikes, but they are not that successful and scalable and since Locations are privy to the customer experience locations are privy to the earnings that a partner can make Therefore ensuring that the partner is alive for the maximum duration on your platform is of utmost importance You cannot just keep pulling the location and allow the battery to drain out in four to five hours You need to optimize that thing because that partner the delivery boy is actually on the move and The entire experience the entire earnings of that partner depends on that So I'll focus on couple of learnings that we have taken in this process So One one is on the mqtt protocol Just a quick check on how many have heard about this protocol earlier or maybe use it Sounds fair. Uh, so I think there is a there is a good audience that that knows about it So primarily so earlier what we were doing we were doing it over an http protocol And we were transmitting location data using a socket that was created and that used to drain the battery at a Good amount of in a very small limited amount of time Then we thought that we would keep pulling the location and we will open the socket And send across the location only at a particular point of time thereby reducing the Battery drainage that is there in the socket opening and closing Then we figured out then we stumbled upon this protocol that is mqtt protocol So, uh, what the I mean this is this is I mean those working in the iot sector This is actually the machine to machine language protocol earlier was used for satellite communication as well So it sends data as bytes and I mean it does not have all that Uh, I mean what I would say the confirmation of the proof of delivery, uh, like as of http But it allows you to transmit data at uh, even in patchy networks that includes 2g networks as well the battery drainage In keeping an mqtt socket open Is lesser Then the battery usage if you intermittently open and close the http socket And this is not uh in single digits. It is a multiplier effect So I'll be happy to share some links as I move along where people have done the benchmarking on the battery drain part Uh on keeping an mqtt socket open and changing in the http socket duration So this was one of the major thing that helped us and what we created was a backup mechanism wherein the location would be first sent across Uh the uh would be first sent across the mqtt Pub sub network and then would if Failures are there on a repeated basis then it would be taken on an http protocol This significantly helped us in getting locations even in the patchy networks This significantly helped us in reducing the battery drain some numbers. Uh, I have highlighted here I am not sure how clear will they be to the audience? But yeah, uh, we have seen that we are now able to have Even using our application Even if you use it for the entire day, the battery drain is seven percent an hour What that results in is 14 hours roughly of 14 hours of continuous app usage With continuous location data at the right frequencies that you needed for the right customer experience Moving on next is on the location strategies. So again, uh, uh, so the important thing is that it is not, uh, I mean, you cannot you should not actually do keep pulling location at a particular frequency You can look to optimize Your strategy as to when you want to pull the location and when you do not want to pull it Some trigger points may be so once the rider is delivering an order You definitely want your customer to have a real time tracking experience at that point of time You can actually increase the frequency of getting locations from the partner When the partner is idle, you do not need it at a right. I mean at that high frequency You just need it for the decision making that the partner is in that vicinity or not Second is when the you do get signals from, uh, the battery, uh, on the battery low percentage that is available You can consume that You can have these strategies created basis the area in which the partner is working and the criticality of the task that you would want to track So some and other configurations majorly the changes were done. Uh, I mean once you are able to do this decision making on the server You can just configure it pretty quick Another important thing that I would want to discuss here is that the hardware configurations So a few who have worked on android and have tried to capture locations You would have said you would say that it's very easy to write a code for capturing location It is just a single line of code where you say that I would want the location frequency at 30 seconds For example, and android will handle everything for you But once you start going into depth of things you realize that Hardware does not behave in that way So for example if you set the same code in oppo devices You would realize that your location is let's say you have set the frequency as 30 seconds You would realize that you are receiving your locations maybe after a minute Once you set it in samsung you see you might get your locations even in 25 seconds as well Now this was surprising to us as well. We were we were initially debugging our own code We were initially trying to reach out to the google fellows that what wrong are we writing in here But then as and more and more when we read about it, we figured that this is how these different sensors behave The chinese oems they focus more on your selfie camera than on your gps sensor And if you see the distribution of what these guys have you would figure that 34 percent is vo So that is where that is where the entire gamut is so what we did So what we did was an interesting bit here So we had the past data on All the devices of different brands We created a model on top of it And what we created was we created two different frequencies So one is the business frequency and the other is the device frequency So the business frequency let's say is the business says that I need to get a location in every minute In every one minute basis the model basis the past location data received for these different mobile phones You then forecast you then predict what is the frequency that I need to tell to this device And that configuration is done basis the server. So technically I can sitting here modify at what frequency Should I order this device to send locations onto? And that forecast actually allowed us to save in more battery Because some devices some hardwares are really good. Whatever you tell them they'll figure it out According to them. So for example in samsung I could just say that share location in one minute and it will give me in one minute But for opo, I would have to say that share location in 30 seconds So that even if it be misses one beat I'm able to get it in a minute as well So that Has helped us using our past data for different oems And that is one of the other thing that has helped us to save battery at the same Moving on to the next thing on the routing engines and eta prediction. So another crucial thing. So I mean whatever I think There have been talks by divya on the run sheet automation. There have been talks from the swiggy folks on the batching Increase maximizing the batching almost every logistics problem or every last mile problem will involve Routing you need to do these optimization calculations at which is the perfect route for you to figure it out Now there are multiple ways of doing it. I mean, I'm not going into the How do you row? How do you create the best routes? I'm going into the basic need or the basics the basic prerequisite for creating a route You would need the eta between two nodes For you to be able to make a decision So let's say I have 10 orders. I would want that for all combinations I should know what is the time that it will take from this note to this note Only then I will be able to create some sort of a logic for the routing engine now Capturing this eta can be done in multiple ways The simple method would be taking the haversine distance between the two coordinates and taking a fixed Velocity dividing it and you get an eta or by eta what I mean is the time that it will take from Point a to point b the amount of time that it will take to reach there Now what why this method fails because this is the airline distance This does not take into account the road distance or the one way part Uh, the positives of this is that is super quick. You can get results pretty quick The second method is use the google distance matrix api Google has an api wherein you can supply in your In uh input nodes and get the out and the destination nodes and it will give you an output in a distance metric Now what I am going to say is that this is not the preferred method if you are working at scale As simple as that Your response times for a google matrix api would be in the orders of 100 to 150 ms Now when you are creating a run sheet for example of 30 orders, you would want 30 c2 combinations to be evaluated as Distance and maybe when you are doing order batching in the case of swiggy or in the real-time orders You would want this computation to be done even in a more real-time fashion So if you just keep on adding it it will limit On the number on the complexity of the algorithm that you can run Second is that it is really expensive Once you are using it as an asset tracking tool once you're using it on a work basis. It is really expensive. Yes It can definitely fulfill your costs that you are Paying for it. But yes, it is recently expensive in the tunes of like 3000 us dollars on a monthly basis basis the kind of calculations that we were expecting to do So what we again stumbled on again Thing and again, I would want to ask how many of you have heard about or used os rm great So uh os rm again, it's open source routing machine So, uh, this is uh, basically what this engine is this is technically a c++ library Uses a star algorithm to optimize the route what it will do is given any graph It will find you the shortest distance between from going from point a to point b And it will give you in a response times of 5 to 10 m s Now what we do is that you feed in the open street maps data on to this os rm That creates that gives in the graph data for one way that this is a one way. This is a road This is how these different nodes are connected. And then Uh, you run os rm on it and you would get the road distance from going from point a to point b in a response time of 5 to 10 ms And this you can host it on your own servers And with the volume that I am referring here Uh, I we are working at a t2 medium level and it cost you roughly 1% of what the google apis would cost you And not much of a maintenance hassle as well. And uh, this is something which uber also uses it What negative exist here the negative is that definitely does not have the traffic data that uh google has Uh, how can you overcome this con here? So os rm allows you to give weightage to each of the edges You can upload weights to each of the edges and accordingly it will optimize and figure out the best path for you And what people I mean basis my discussion with Data scientists at uber uh and couple of other folks that I know there what we have figured out is that even uber is also using their Cab data to feed it into os rm to actually create a replica of what google maps is That is an entirely 100% in-house solution Very high very less latencies and really helps The third thing uh that I'll focus here is the location familiarity Now this is something that we realized after talking to delivery partners Now so these delivery I mean you could create a routing engine that is the most optimal that will give you the best results but There will be difficulty in adopting it on ground Why because delivery boys they are familiar with a particular area and they would want to work in a particular area They would want to get orders their last orders Near to the area where they live and that Is something which is a known conversation that happens in an offline manner So if you see if you go to any of the e-commerce hub, you will find that these are the pin codes reserved for this delivery boy And this is some sort of an understanding that has built up How do you take it out into your system and that is what we have done We have tried to incorporate the location familiarity into the routes that we create We ensure that these I mean you basis the past history of the location data of these partners you can figure out Where is this partner most likely to know that place and reach that place and then take it up And then create the route so that these are referred to that card So these are on the routing engines and the ETA again broadly learnings What we have figured out that this is this can work this will not work And now I'll move on to the product development learnings that we have had So, uh, first thing is on the gamification So again, uh, the thing will stem from the fact that let's understand what is the life of a delivery boy Now there is a repetitive task on a daily basis He has to come in the morning go to the outlet take up orders delivery to the customer It's on and on again and again. There is no brain involved. There is no new thing new surprises. There is nothing in that zone Then there is no promotion or there is no career growth if you see I mean even after even if a delivery boy has worked for you for two years He's expected to do the same work There is no entitlement or a senior delivery boy or something of that sort And then there is erratic consumer behavior as well I mean they have to bear the rats and the negativities that some consumers do have And so and see in India in general we We want the balance of both we want low cost and we want the best service And uh, if we are paying money, then we would want the best service even if that money is 10 rupees So that is the kind of consumer behavior that these guys are Expected to and that is some sort of a life of a delivery boy So consider yourself being in those shows and you would figure that it is a very boring life It's a very monotonous dull life. There is no motivation left. How do you create that motivation? That is that is the challenge that is the problem statement that we have tried to handle So, uh, I'll talk about the two different methodologies. One is the social recognition part The other is the carrot and stick model So, uh, the carrot and stick model is that you incentivize on good performance You are disintensive. Why you find these partners on The bad performance or missing the sla or doing the wrong part of it Well, this works This definitely works because the most as we saw the most impactful thing for partners is the money So if you are starting starting to find them, they will definitely starting start to improve Or maybe bypass the system. They are also known good for that. So, uh, but then again, that is absolute that, uh, will have impact on your iteration levels that, uh I mean, there are lots of psychological things that this might not be the best way forward for these guys Then, uh, the other part is the social recognition stems from the fact that these partners they stay in a community So you see the swiggy guys, they'll stay together. You see Zomato, they'll stay together Now what matters more to these guys is that yes, they are, uh, they are made to feel proud in front of their colleagues And that is something that you can create a virtual currency on that is something that you can, uh, Actually take it up ahead and incentivize them and that even works for us as well I mean, I'm not sure why people put their personal photos on facebook But they do get that instant hit that yes, uh, people are recognizing that yay that this guy went to paris So I mean these are the kind of things that we have tried to figure it out. Uh, the screen on the right shows, uh, A sample screen on how the delivery boy would see it's more like a magic score Would not want to go more into the details because something related to I mean very core to shadow facts and not many people would relate But the overall thing is that we that it is more of a gamification It is more of a way in which a metric in which you can recognize on a social level So what we have done here is that we have created a leaderboard here So a partner would be seeing his Or her rank basis the vicinity, uh, in the vicinity of two kilometers how the other partners are behaving Now it is more of a relative metric What we have noticed is that there is a very high, uh, uh, page visits of this page And people generally tend to compete here There are different kinds of groups that we have figured out that there are some people who would want to be the best among their group And then there are some people who want their their group should be better than the other group So for example, the core mangala warriors would want to be better than the indra nagar warriors So these these are the dynamics that you can tend to figure it out and uh can be used To motivate or incentivize these partners at different level Uh, what our learning says that yes, uh, these delivery boys, they like such a concept and they that adds some spice into their life there Next I will focus on the loyalty program. So again, uh, uh, the thing here is Uh, so once you, uh, I mean in this market where heavily heavily competitive I mean, we have seen, uh, food panda, uber eats, wiggies, omato Increasing, uh, increasingly giving a large number of payout on an ad hoc, uh, basis to these partners Trying to capture as much as possible the market share Uh, now what you can do or what one can do to actually ensure that your partners are with you Is to try to create a loyalty program. So one of the, I mean outside this everything, I mean One advice that one of my senior who, uh, worked at pratham. He gave, uh, to us before starting Starting this job. So he said that Till date these delivery boys are seen as blue collar people They are seen they are taken like laborers and therefore they respond to you like laborers If you can transform them into white collar People if you can transform this delivery job as a white collar job Then these partners will reflect start reflecting that ideology if you start giving them, uh, if you start giving them transparency on the payout If you start giving them joining bonus, I mean whatever benefits that we get application for leaves paid leaves are there There is a notice period associated. So all these things if you can get they will also respond in the same way So I like to quickly move, uh, and present, uh A quick video of the rewards program that we have created So again, uh, a virtual currency. I think self-explanatory. I would just leave it to the audience I'm not sure why the audio is not working. But yeah, the leaderboard part So then moving quickly on the payouts part. I think, uh, almost everyone here realizes that the major part is In if you want to build a brand, you would want to ensure trust if you want to ensure trust Transparent and timely payouts is the key is the key here So again, some learnings from our show as much detail as possible to the partner So that the partner is able to clarify verify and get proof that yes, this is a organization that I can trust Have a support team For uns for helping in the in the payout related queries because that is the major thing that worries these partners That is a major thing that will drive your retention levels Then automate the calculation and execution process Uh, do not leave it for humans. Do not leave at the guidance of humans To calculate the payout to update the payout or even to release the payout What we have done is that we have we have even integrated with the bank apis and the execution of The transfer of money to their bank account Happens via that that gives more visibility to the partner. What is the status of their payment? When will they get how will they get and what we have also observed is that once you have automated all these calculations your issues also come to a lower point, uh, so Another point here that we were thinking and so this is not Something that we have worked on but we have discussed it with or we have seen similar products in other geographies So one of a similar player what they do is that they give the option to withdraw at will So a partner is shown the live balance that this is the amount that he or she has earned at this point of time And you can withdraw it if you want to withdraw it right now So some innovation some changes here But do focus a lot on payout if your payouts are transparent and are done on a timely manner It will create it will be much easier for you to, uh, manage your fleet Again, then I'll focus on the in-app training methodologies. So, uh, training is must training is important to build your brand, uh, I mean build your brand loyalty I mean these delivery boys, they like the fact that yes, the company with which they are working is present in 200 cities So you would want this information to be communicated to these partners. It ensures good customer experience Has best I mean allows you to give give best practices There are problems with the classroom training thing where you can not scale it properly There is no track of how good the conversation is or how good the training is and there is lack of personalization as well Uh, what we have done is a small video here. This will uh, so what we understood was that videos consume better So within the app itself, we have allowed these videos to be a part and The delivery boy can so we name it as gurukul the delivery boy can go there do the chapters and earn a surprise money So that was something related to what we learned from google pay, which actually worked good And uh, then vernacular content is really really important For these delivery boys, if you throw I mean they can understand your keywords of the apps But if you give them, uh, very Uh, decent content, it'll be difficult for them to understand and they'll generally skip that content So yeah, a quick look on, uh, the Uh, I think I'll in the interest of time I'll move ahead Then fraud detection, uh, I guess that's a last slide for me. So, uh, build that pretty early So a lot of people will feel that Uh, this is not where I would get my revenue. This is not where I'll optimize my cost right away But when you are working at scale, it is important for you to have a module in place which takes care of the frauds What these frauds do a obviously the economical impact But the other important impact is that it creates the bad practices among other genuine partners who feel that those who are making fraud They are able to get away pretty early pretty easy So do not have a I mean have a zero tolerance policy here. I mean define bad apples Define your values that hey guys, this is not acceptable at any given point of time and uh So another important thing is so we are a big proponent of adharka yc I mean if this platform is of any help, we would definitely would want to sign up a petition That please enable adharka yc for players private players like us This this was a really really good Way for us to verify our partners to verify the genuineness of the partners very quick and Reliable process to take it up ahead But the reality is it's still not available for us So we have tried to do a couple of things so as to be really sure on the documents on the Items that we have so we do the image processing on the pan card because pan card is an important document that needs to be taken There we have integration with the pan apis then background verification again is important It will generally help you When when and ever so it's more like an insurance if things go wrong This would be something that will be of help to you Then bank account verification again an important thing uh I'll move on to the location intelligence part would focus a couple of things uh on this how many of you have used kepler Pretty less interesting. So I'll bring a new thing to the audience. So please visit kepler.gl A wonderful wonderful visualization tool again open source contributed by uber And you will see really good visualizations there and you can and the interesting part is that it is a client only application The data that you upload there Will uh be on the browser won't be synced on the server and you can uh visualize data to the limits of like 200 mb Uh is what uh, I can definitely say that can work uh, and then So uh one learning again is that location stream and task streams So, uh, there is there are two streams one is the location data that you are getting whether is the order data that you are getting If you have these two data, you can actually replicate the ground scenario Even in past what happened at that one particular point of time But the important thing is that they need to be used in conjunction They individually cannot help you out. So one of the learning that we had was that earlier We were we used to find our partners basis the low order count that they used to do If all other partners were getting good orders and this partner was not getting a good order We felt that this guy is doing something wrong And then we figured out that it is not the right way move down to the location intelligence part and now we are merging them both Visualization definitely helps do focus a lot on visualization in fraud detection at least You never know what different kinds of frauds exist. So you cannot code for them What you can do is that you can create methods or you can create those Graphics graphs for the operations team to see that data so that they can basis their operational Know how figure out what is going wrong and what is going right? and Then again, I mean building the right location infrastructure. We have spent good amount of time on that I would leave that for another talk. But yeah, uh, that's in itself is an Interesting and a challenging problem to solve at an infrastructure level at a global level So with that, I'll take a note on the presentation. I'm open for questions Please guys shoot We're out of time. Let's take one question Hi, hi, that was a good talk. Thank you very much. Uh, so you mentioned reverse logistics somewhere in your talk Can you just explain what is that? So reverse logistics is that part, uh, so as a simple thing, let's say you order a t-shirt from amazon Now the process of delivering that t-shirt to you is generally the forward logistics Now, let's say you did not like that t-shirt. You want to return it back So that process of picking it up from you doing the doorstep quality check whether Uh, it is the same t-shirt that you have ordered and it's in the right condition and then taking it back to the seller Is the reverse logistics part Also, if you have time, I'm no one has questions. I would like to understand more on the Integration of with of kepler with you know, your order system is what you mentioned So I would like to understand the advantages that you got Uh, you know after that integration or what problem it exactly solved Say kepler is generally an data exploration tool It won't help you to create the ready visualization, which you can just directly put it in your dashboards What it can do is that if there is data, you can actually slice And eyes and view different kinds of visualizations on that To figure out what is the metric that you would want to chase So, uh There would be there are in so if you go one level deeper So kepler is built on top of deck dot gl So you can use deck dot gl to actually Integrate it in your portals dck dot gl I have also included some appendix in here. I'll keep updating on it So that the relevant links of the topics that I covered are covered there. Thank you so much